This is MiscValueField.m in view mode; [Download] [Up]
//
// MiscValueField.m -- a TextField subclass that specializes in using
// the MiscValueCell.
// Written by David Fedchenko. Copyright 1994 by David Fedchenko.
// Version 2.0 All rights reserved.
//
// This notice may not be removed from this source code.
//
// This object is included in the MiscKit by permission from the author
// and its use is governed by the MiscKit license, found in the file
// "LICENSE.rtf" in the MiscKit distribution. Please refer to that file
// for a list of all applicable permissions and restrictions.
//
#import "MiscValueField.h"
#import "MiscValueCell.h"
@implementation MiscValueField
static id _idMiscValueCellClass;
+ initialize
{
/* Class initialization code. */
if (self == [MiscValueField class])
{
_idMiscValueCellClass = [MiscValueCell class]; // Default class
}
return self;
}
+ setCellClass:classId
{
_idMiscValueCellClass = classId;
return self;
}
- initFrame:(const NXRect *)frameRect
{
id oldCell;
[super initFrame:frameRect];
oldCell = [self setCell:[[_idMiscValueCellClass alloc] initTextCell:"0"]];
[oldCell free];
return self;
}
// the methods to communicate with the cell
- setMinValue:(double)value
{
[cell setMinValue:value];
return self;
}
- setMaxValue:(double)value
{
[cell setMaxValue:value];
return self;
}
- setMinBoundary:(double)value
{
[cell setMinBoundary:value];
return self;
}
- setMaxBoundary:(double)value
{
[cell setMaxBoundary:value];
return self;
}
-(double) minValue
{
// there is casting here because the NeXT headers have a type conflict
// for these two methods.
return [(MiscValueCell *)cell minValue];
}
-(double) maxValue
{
return [(MiscValueCell *)cell maxValue];
}
-(double) minBoundary
{
return [cell minBoundary];
}
-(double) maxBoundary
{
return [cell maxBoundary];
}
- setStepSize:(double)size
{
[cell setStepSize:size];
return self;
}
- setAltStepSize:(double)size
{
[cell setAltStepSize:size];
return self;
}
-(double) stepSize
{
return [cell stepSize];
}
-(double) altStepSize
{
return [cell altStepSize];
}
- setExpandMin:(BOOL)flag
{
[cell setExpandMin:flag];
return self;
}
- setExpandMax:(BOOL)flag
{
[cell setExpandMax:flag];
return self;
}
-(BOOL) expandMin
{
return [cell expandMin];
}
-(BOOL) expandMax
{
return [cell expandMax];
}
- setStringList:anObject
{
if (anObject && [anObject respondsTo:@selector(stringAt:)] &&
[anObject respondsTo:@selector(count)])
{
stringList = anObject;
[cell setStringList:anObject];
}
return self;
}
- stringList
{
if ([cell stringList])
{
return [cell stringList];
}
else
{
return stringList;
}
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.