This is Controller.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import "Controller.h"
@implementation Controller
- init
{
pics = 0;
first = YES;
nextX = 200;
nextY = 600;
return self;
}
- openImage:sender
{
const char *const *files;
char *file;
const char *dir;
static const char *const ft[2] = {"pic", NULL};
id openPanel = [OpenPanel new];
[openPanel allowMultipleFiles:NO];
if (first) {
[openPanel runModalForDirectory:"/Users/don/raytrace/ohta-tracer"
file:NULL types:ft];
first = NO;
}
else [openPanel runModalForTypes:ft];
files = [openPanel filenames];
dir = [openPanel directory];
file = malloc(strlen(files[0]) + strlen(dir) + 8);
strcpy(file, dir);
strcat(file,"/");
strcat(file, files[0]);
strcat(file, "\0");
[self openFile:file];
return self;
}
- saveImage:sender
{
if ([[SavePanel new] runModalForDirectory:[[OpenPanel new] directory]
file:"UNTITLED.tiff"]) {
[[[[NXApp keyWindow] contentView] findViewWithTag:69]
saveFile:[[SavePanel new] filename]];
}
return self;
}
- (BOOL)openFile:(const char *)name
{
id alert;
BOOL rStat;
[NXApp loadNibSection:"Window.nib" owner:self withNames:NO];
[newWindow setTitleAsFilename:name];
alert = NXGetAlertPanel(NULL, "Filling buffer and creating image.",
NULL, NULL, NULL);
[alert makeKeyAndOrderFront:self];
rStat = [newImage loadFile:name x:nextX y:nextY];
[alert orderOut:self];
[alert free];
nextX += 22; nextY -= 25;
if (nextX > 370) {
nextX = 200; nextY = 600;
}
if (rStat == YES) {
[saveBut setEnabled:YES];
}
return rStat;
}
- info:sender
{
if (!infoPanel)
[NXApp loadNibSection:"Info.nib" owner:self withNames:NO];
[infoPanel makeKeyAndOrderFront:self];
return self;
}
- (int)app:sender openFile:(const char *)file type:(const char *)type
{
return [self openFile:file];
}
- (BOOL)appAcceptsAnotherFile:sender
{
//if (pics < 16) { pics++; return YES; }
return YES;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.