This is MiscSliderField.m in view mode; [Download] [Up]
//
// MiscSliderField.m -- a TextField subclass that specializes in using
// the MiscSliderCell.
// Written by David Fedchenko. Copyright 1994 by David Fedchenko.
// Version 1.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 "MiscSliderField.h"
#import "MiscSliderCell.h"
@implementation MiscSliderField
static id _idMiscSliderCellClass;
+ initialize
{
/* Class initialization code. */
if (self == [MiscSliderField class])
{
_idMiscSliderCellClass = [MiscSliderCell class]; // Default class
}
return self;
}
+ setCellClass:classId
{
_idMiscSliderCellClass = classId;
return self;
}
- initFrame:(const NXRect *)frameRect
{
id oldCell;
[super initFrame:frameRect];
oldCell = [self setCell:[[_idMiscSliderCellClass 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
{
return [(MiscSliderCell *)cell minValue];
}
-(double) maxValue
{
return [(MiscSliderCell *)cell maxValue];
}
-(double) minBoundary
{
return [cell minBoundary];
}
-(double) maxBoundary
{
return [cell maxBoundary];
}
- 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];
}
- setPosition:(int)where
{
[cell setPosition:where];
return self;
}
- setSplit:(int)percent
{
[cell setSplit:percent];
return self;
}
- setIntegerOnly:(BOOL)flag
{
[cell setIntegerOnly:flag];
return self;
}
-(int) position
{
return [cell position];
}
-(int) split
{
return [cell split];
}
-(BOOL) integerOnly
{
return [cell integerOnly];
}
- setStringList:anObject
{
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.