This is CircularSliderInspector.m in view mode; [Download] [Up]
/*
* Filename: CircularSliderInspector.m
* Created : Thu Oct 22 00:46:47 1992
* Author : Vince DeMarco
* <vince@whatnxt.cuc.ab.ca>
* LastEditDate was "Sun Nov 15 21:05:03 1992"
*/
#import "CircularSliderInspector.h"
#import "CircularSlider.subproj/CircularSlider.h"
@implementation CircularSliderInspector
- init
{
char buf[MAXPATHLEN + 1];
id bundle = [NXBundle bundleForClass:[CircularSlider class]];
[bundle getPath:buf forResource:"CircularSliderInspector" ofType:"nib"];
[NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
return self;
}
- ok:sender
{
[(CircularSlider*)object display];
return [super ok:sender];
}
- update
{
if ([(CircularSlider*)object drawAsPieChart] == YES){
[typeMatrix selectCellAt:0:1];
}else{
[typeMatrix selectCellAt:0:0];
}
[tagField setIntValue: (int)[(CircularSlider*)object tag]];
[minValueField setFloatValue: (float)[(CircularSlider*)object minValue]];
[maxValueField setFloatValue: (float)[(CircularSlider*)object maxValue]];
[currentValueField setFloatValue: (float)[(CircularSlider*)object floatValue]];
if ([(CircularSlider*)object isContinuous] == YES)
[[optionMatrix cellAt:0:0] setState: 1];
else
[[optionMatrix cellAt:0:0] setState: 0];
if ([(CircularSlider*)object isEnabled] == YES)
[[optionMatrix cellAt:1:0] setState: 0];
else
[[optionMatrix cellAt:1:0] setState: 1];
if ([(CircularSlider*)object hidden] == YES){
[[optionMatrix cellAt:2:0] setState: 1]; /* If object is hidden it is then disabled */
[[optionMatrix cellAt:1:0] setEnabled:NO];
}else{
[[optionMatrix cellAt:2:0] setState: 0];
[[optionMatrix cellAt:1:0] setEnabled:YES];
}
if ([(CircularSlider*)object isBezeled] == YES){
[[boarderMatrix cellAt:0:2] setState:1];
[[boarderMatrix cellAt:0:1] setState:0];
[[boarderMatrix cellAt:0:0] setState:0];
}else
if ([(CircularSlider*)object isBordered] == YES){
[[boarderMatrix cellAt:0:1] setState:1];
[[boarderMatrix cellAt:0:2] setState:0];
[[boarderMatrix cellAt:0:0] setState:0];
}else{
[[boarderMatrix cellAt:0:0] setState:1];
[[boarderMatrix cellAt:0:1] setState:0];
[[boarderMatrix cellAt:0:2] setState:0];
}
[optionMatrix display]; /* This is necessary to tell the matrix
* to update its contents (uuuuggggggggggggggg)
*/
[boarderMatrix display];
return self;
}
- revert:sender
{
[self update];
return [super revert:sender];
}
- (BOOL)wantsButtons
{
return NO;
}
- setType:sender
{
switch ([[sender selectedCell] tag]){
case 1: [(CircularSlider*)object setDrawAsPieChart: NO];
break;
case 2: [(CircularSlider*)object setDrawAsPieChart: YES];
break;
}
[self touch:self];
return [self ok:sender];
}
- setMaximum:sender
{
[(CircularSlider*)object setMaxValue:(float)[sender floatValue]];
[self touch:self];
[self update];
return [self ok:sender];
}
- setMinimum:sender
{
[(CircularSlider*)object setMinValue:(float)[sender floatValue]];
[self touch:self];
[self update];
return [self ok:sender];
}
- setCurrent:sender
{
[(CircularSlider*)object setFloatValue:(float)[sender floatValue]];
[self touch:self];
[self update];
return [self ok:sender];
}
- setOptions:sender
{
int state = [[sender selectedCell] state];
switch ([[sender selectedCell] tag]){
case 1: /* Cont */
if (state)
[(CircularSlider*)object setContinuous:YES];
else
[(CircularSlider*)object setContinuous:NO];
break;
case 2: /* Disabled */
if (state)
[(CircularSlider*)object setEnabled:NO];
else
[(CircularSlider*)object setEnabled:YES];
break;
case 3: /* Hidden */
if (state){
[(CircularSlider*)object setHidden:YES]; /* If an Object is Hidden it is also
* disabled
*/
[[optionMatrix cellAt:1:0] setEnabled:NO];
}else{
[(CircularSlider*)object setHidden:NO];
[[optionMatrix cellAt:1:0] setEnabled:YES];
}
[optionMatrix display];
break;
}
[self touch:self];
return [self ok:sender];
}
- setBoarder:sender
{
int state = [[sender selectedCell] state];
switch ([[sender selectedCell] tag]){
case 1: /* NONE */
[(CircularSlider*)object setBezeled:NO];
[(CircularSlider*)object setBordered:NO];
break;
case 2: /* Bordered */
[(CircularSlider*)object setBezeled:NO];
[(CircularSlider*)object setBordered:YES];
break;
case 3: /* Bezeled */
[(CircularSlider*)object setBordered:NO];
[(CircularSlider*)object setBezeled:YES];
break;
}
[self touch:self];
return [self ok:sender];
}
- setTag:sender
{
[(CircularSlider*)object setTag:[sender intValue]];
[self touch:self];
return [self ok:sender];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.