This is SliderCell.m in view mode; [Download] [Up]
/* Implemenation of SliderCell class
*
* Copyright (C) 1993, 1994 The Board of Trustees of
* The Leland Stanford Junior University. All Rights Reserved.
*
* Authors: Scott Francis, Paul Kunz, and Libing Wang
*
* This file is part of an Objective-C class library for a window system
*
* SliderCell.m,v 1.23 1995/12/13 22:33:20 fedor Exp
*/
#include "SliderCell.h"
#include <stdlib.h>
#include <string.h>
#include <objc/typedstream2.h>
extern char * SliderCellInstanceName(void);
@class View;
@interface SliderCell(WidgetSet)
- _init;
- _setFrame:(const NXRect *)frame inView:(View *)aView;
- _setMinValue;
- _setMaxValue;
- _setValue;
- (double)_value;
- _setVertical:(BOOL)flag;
- (int)_isVertical;
- _addCallback;
- _managedBy:parent wid:(void *)widget;
@end
@implementation SliderCell : ActionCell
// + (BOOL)prefersTrackingUntilMouseUp
- init
{
[super init];
[self _init];
instancename = SliderCellInstanceName();
return self;
}
- awake
{
return self;
}
- (double)minValue
{
return minValue;
}
- setMinValue:(double)aDouble
{
minValue = aDouble;
[self _setMinValue];
return self;
}
- (double)maxValue
{
return maxValue;
}
- setMaxValue:(double)aDouble
{
maxValue = aDouble;
[self _setMaxValue];
return self;
}
- setAltIncrementValue:(double)incValue
{
[self notImplemented:_cmd];
return 0;
}
- (double)altIncrementValue
{
[self notImplemented:_cmd];
return 0;
}
- (int)isVertical
{
return [self _isVertical];;
}
- (const char *)stringValue
{
float f;
char *temp;
f = [self floatValue];
temp = (char *)malloc(sizeof(float)*2);
sprintf(temp, "%f", f);
return temp;
}
- setStringValue:(const char *)str
{
double f;
f = atof(str);
if (f) [self setDoubleValue:f];
return self;
}
- (int)intValue
{
int intValue;
intValue = [self _value];;
return intValue;
}
- setIntValue:(int)anInt
{
value = anInt;
[self _setValue];
return self;
}
- (float)floatValue
{
float f;
f = [self _value];
return f;
}
- setFloatValue:(float)aFloat
{
value = (double)aFloat;
[self _setValue];
return self;
}
- (double)doubleValue
{
value = [self _value];
return value;
}
- setDoubleValue:(double)aDouble
{
value = aDouble;
[self _setValue];
return self;
}
- setContinuous:(BOOL)flag
{
return [super setContinuous: flag];
}
- (BOOL)isContinuous
{
return [super isContinuous];
}
- (BOOL)isOpaque
{
return [super isOpaque];
}
- calcCellSize:(NXSize *)theSize inRect:(const NXRect *)aRect
{
[self notImplemented:_cmd];
return 0;
}
- setTitleGray:(float)grayVal
{
[self notImplemented:_cmd];
return 0;
}
- (float)titleGray
{
[self notImplemented:_cmd];
return 0;
}
- setTitleColor:(NXColor)newColor
{
[self notImplemented:_cmd];
return 0;
}
- (NXColor)titleColor
{
NXColor color;
[self notImplemented:_cmd];
return color;
}
- setTitleFont:fontObj
{
[self notImplemented:_cmd];
return 0;
}
- titleFont
{
[self notImplemented:_cmd];
return 0;
}
- (const char *)title
{
[self notImplemented:_cmd];
return 0;
}
- setTitle:(const char *)aString
{
[self notImplemented:_cmd];
return 0;
}
- setTitleNoCopy:(const char *)aString
{
[self notImplemented:_cmd];
return 0;
}
- setTitleCell:aCell
{
[self notImplemented:_cmd];
return 0;
}
- titleCell
{
[self notImplemented:_cmd];
return 0;
}
- setEnabled:(BOOL)flag
{
return [super setEnabled: flag];
}
- setKnobThickness:(NXCoord)aFloat
{
[self notImplemented:_cmd];
return 0;
}
- (NXCoord)knobThickness
{
[self notImplemented:_cmd];
return 0;
}
- setImage:backgroundImage
{
[self notImplemented:_cmd];
return 0;
}
- image
{
[self notImplemented:_cmd];
return 0;
}
- getKnobRect:(NXRect*)knobRect flipped:(BOOL)flipped
{
[self notImplemented:_cmd];
return 0;
}
- drawKnob:(const NXRect*)knobRect
{
[self notImplemented:_cmd];
return 0;
}
- drawKnob
{
[self notImplemented:_cmd];
return 0;
}
- drawBarInside:(const NXRect *)aRect flipped:(BOOL)flipped
{
[self notImplemented:_cmd];
return 0;
}
- drawSelf:(const NXRect *)cellFrame inView:controlView
{
return self;
}
- drawInside:(const NXRect *)cellFrame inView:controlView
{
return self;
}
- (BOOL)startTrackingAt:(const NXPoint *)startPoint inView:controlView
{
[self notImplemented:_cmd];
return 0;
}
- (BOOL)continueTracking:(const NXPoint *)lastPoint
at:(const NXPoint *)currentPoint inView:controlView
{
[self notImplemented:_cmd];
return 0;
}
- stopTracking:(const NXPoint *)lastPoint
at:(const NXPoint *)stopPoint inView:controlView
mouseIsUp:(BOOL)flag
{
[self notImplemented:_cmd];
return 0;
}
- (BOOL)trackMouse:(NXEvent *)theEvent
inRect:(const NXRect *)cellFrame ofView:controlView
{
[self notImplemented:_cmd];
return 0;
}
- write:(TypedStream *)ts
{
return self;
}
- read:(TypedStream *)ts
{
int a, b, c;
[super read:ts];
objc_read_float(ts, &a);
objc_read_float(ts, &b);
objc_read_float(ts, &c);
objc_read_type(ts, "i", &vert);
value = (double)a;
maxValue = (double)b;
minValue = (double)c;
if (minValue >= maxValue) maxValue = minValue + 1.0;
if (value > maxValue) value = maxValue;
if (value < minValue) value = minValue;
[self init];
[self setMaxValue:maxValue];
[self setMinValue:minValue];
[self setDoubleValue:value];
[self _setVertical:vert];
return self;
}
/* The following method is obsolete. */
// + new;
/* The following methods are not in NeXTSTEP/OpenStep */
- copyFromZone:(NSZone *)zone
{
SliderCell *newCell;
newCell = [super copy];
[newCell setMaxValue:maxValue];
[newCell setMinValue:minValue];
[newCell setDoubleValue:value];
return newCell;
}
- setVertical:(BOOL)flag
{
[self _setVertical:flag];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.