This is BezierApp.m in view mode; [Download] [Up]
#import "BezierApp.h"
#import "Bezier.h"
#import <appkit/Window.h>
#import <defaults/defaults.h>
#import <appkit/Bitmap.h>
#import <appkit/Control.h>
#import <stdlib.h>
@implementation BezierApp
+ new // create the new application, and make us its delegate.
{
self = [super new];
[self setDelegate:self];
return self;
}
- setBezier:anObject // let me know where the view is.
{
bezier=anObject;
return self;
}
- setLineSlider:anObject // let me know where the sliders are.
{
lineSlider=anObject;
return self;
}
- setControlSlider:anObject
{
controlSlider=anObject;
return self;
}
- appDidInit:sender // set up in the icon, and set the timing.
{
const char *t;
if( t=NXGetDefaultValue( [NXApp appName], "LineSize"))
[bezier setLineWidth:atof( t)];
if( t=NXGetDefaultValue( [NXApp appName], "BlockSize"))
[bezier setBlockSize:atof( t)];
[lineSlider setDoubleValue:[bezier lineWidth]];
[controlSlider setDoubleValue:[bezier blockSize]];
[[bezier window] orderFront:self]; // make the window visible. I didn't
// set it to come up right away, so that the
// user wouldn't see me adjust the defaults.
return self;
}
- terminate:sender // store the defaults, and go away.
{
char s[ 20];
sprintf( s, "%f", [bezier lineWidth]);
NXWriteDefault( [self appName], "LineSize", s);
sprintf( s, "%f", [bezier blockSize]);
NXWriteDefault( [self appName], "BlockSize", s);
return [super terminate:sender];
}
- appPowerOffIn:(int)ms andSave:(int)aFlag // catch Workspace logout.
{
return [self terminate:self];
}
- windowWillResize:sender toSize:(NXSize *)s // Just limits a window's size.
{
NXRect r;
[sender getFrame:&r];
s->height=r.size.height; // kindly change it back.
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.