This is Dispatcher.m in view mode; [Download] [Up]
/* Generated by Interface Builder */ #import "Dispatcher.h" #import "LPCPlot.h" #import "LPCreate.h" #import "PCHPlot.h" #import "LPCView.h" #import "Help.h" #import <appkit/OpenPanel.h> #import <appkit/SavePanel.h> #import <appkit/Application.h> #import <strings.h> #import <stdio.h> #import <libc.h> #import <appkit/Control.h> #import <appkit/Window.h> #import <defaults/defaults.h> @implementation Dispatcher + new { self = [super new]; return self; } - init { char *suffix; strcpy(appDir, NXArgv[0]); if (suffix = rindex(appDir,'/')) *suffix = '\0'; /* remove executable name */ if (appDir) chdir(appDir); getwd(appDir); selection = NULL; [prefPanel setDelegate:self]; [self setPrefs]; return self; } - (const char *)appDirectory; /* Returns the path to the app wrapper (for Help object). */ { return appDir; } - setPrefs { const char *owner; char *temp; owner = "lpcview"; temp = (char *)NXReadDefault(owner, "lpc"); if (temp) [deflpc setStringValue:(char *)NXReadDefault(owner, "lpc")]; temp = (char *)NXReadDefault(owner, "stabilize"); if (temp) [defstabilize setStringValue:(char *)NXReadDefault(owner, "stabilize")]; temp = (char *)NXReadDefault(owner, "ptrack"); if (temp) [defptrack setStringValue:(char *)NXReadDefault(owner, "ptrack")]; temp = (char *)NXReadDefault(owner, "merge"); if (temp) [defmerge setStringValue:(char *)NXReadDefault(owner, "merge")]; temp = (char *)NXReadDefault(owner, "hz"); if (temp) [defhz setStringValue:(char *)NXReadDefault(owner, "hz")]; temp = (char *)NXReadDefault(owner, "playpitch"); if (temp) [defplaypitch setStringValue:(char *)NXReadDefault(owner, "playpitch")]; temp = (char *)NXReadDefault(owner, "poles"); if (temp) [defpoles setIntValue:(int)atoi(temp)]; temp = (char *)NXReadDefault(owner, "frames"); if (temp) [defframes setIntValue:(int)atoi(temp)]; temp = (char *)NXReadDefault(owner, "lowcps"); if (temp) [deflowcps setFloatValue:(float)atof(temp)]; temp = (char *)NXReadDefault(owner, "highcps"); if (temp) [defhighcps setFloatValue:(float)atof(temp)]; temp = (char *)NXReadDefault(owner, "pitchframe"); if (temp) [defpitchframe setIntValue:(int)atof(temp)]; return self; } - changePrefs:sender { const char *owner; owner = "lpcview"; NXWriteDefault(owner, "lpc", [deflpc stringValue]); NXWriteDefault(owner, "stabilize", [defstabilize stringValue]); NXWriteDefault(owner, "ptrack", [defptrack stringValue]); NXWriteDefault(owner, "merge", [defmerge stringValue]); NXWriteDefault(owner, "hz", [defhz stringValue]); NXWriteDefault(owner, "playpitch", [defplaypitch stringValue]); NXWriteDefault(owner, "poles", [defpoles stringValue]); NXWriteDefault(owner, "frames", [defframes stringValue]); NXWriteDefault(owner, "lowcps", [deflowcps stringValue]); NXWriteDefault(owner, "highcps", [defhighcps stringValue]); NXWriteDefault(owner, "pitchframe", [defpitchframe stringValue]); return self; } - windowWillClose:sender { const char *owner; owner = "lpcview"; NXWriteDefault(owner, "lpc", [deflpc stringValue]); NXWriteDefault(owner, "stabilize", [defstabilize stringValue]); NXWriteDefault(owner, "ptrack", [defptrack stringValue]); NXWriteDefault(owner, "merge", [defmerge stringValue]); NXWriteDefault(owner, "hz", [defhz stringValue]); NXWriteDefault(owner, "playpitch", [defplaypitch stringValue]); NXWriteDefault(owner, "poles", [defpoles stringValue]); NXWriteDefault(owner, "frames", [defframes stringValue]); NXWriteDefault(owner, "lowcps", [deflowcps stringValue]); NXWriteDefault(owner, "highcps", [defhighcps stringValue]); NXWriteDefault(owner, "pitchframe", [defpitchframe stringValue]); return self; } - createPlot:sender { [LPCPlot new:"Untitled"]; return self; } - createPCH:sender { [PCHPlot new:"Untitled"]; return self; } - create:sender { [LPCreate new]; return self; } - viewFile:(char *)filename { [LPCPlot new:filename]; return self; } - viewPCHfile:(char *)filename { [PCHPlot new:filename]; return self; } - openLPCfile:sender { char *types[2]; char file[1024]; static id openPan = nil; types[0] = "lpc"; types[1] = 0; if (!openPan) openPan = [OpenPanel new]; if ([openPan runModalForTypes:types]) { strcpy(file, [openPan filename]); [LPCPlot new:file]; } return self; } - openPCHfile:sender { char *pchtypes[2]; char file[1024]; static id openPan = nil; pchtypes[0] = "pch"; pchtypes[1] = 0; if (!openPan) openPan = [OpenPanel new]; if ([openPan runModalForTypes:pchtypes]) { strcpy(file, [openPan filename]); [PCHPlot new:file]; } return self; } - cut:sender { if (!selection) { selection = NXOpenMemory(NULL, 0, NX_READWRITE); } else { NXCloseMemory(selection, NX_FREEBUFFER); selection = NXOpenMemory(NULL, 0, NX_READWRITE); } [[[NXApp keyWindow] delegate] doCut:selection]; return self; } - copy:sender { // get a new memory stream to copy into if (!selection) { selection = NXOpenMemory(NULL, 0, NX_READWRITE); } else { NXCloseMemory(selection, NX_FREEBUFFER); selection = NXOpenMemory(NULL, 0, NX_READWRITE); } [[[NXApp keyWindow] delegate] doCopy:selection]; return self; } - insert:sender { float *data; int len, maxlen; if (!selection) return self; NXGetMemoryBuffer(selection, (char **)&data, &len, &maxlen); [[[NXApp keyWindow] delegate] doInsert:data:len]; return self; } - (BOOL)appAcceptsAnotherFile:sender { return YES; } - (char *)lpc { return (char *)[deflpc stringValue]; } - (char *)stabilize { return (char *)[defstabilize stringValue]; } - (char *)ptrack { return (char *)[defptrack stringValue]; } - (char *)merge { return (char *)[defmerge stringValue]; } - (char *)hz { return (char *)[defhz stringValue]; } - (char *)playpitch { return (char *)[defplaypitch stringValue]; } - (int)poles { return [defpoles intValue];; } - (int)frames { return [defframes intValue]; } - (float)lowcps { return [deflowcps floatValue]; } - (float)highcps { return [defhighcps floatValue]; } - (int)ptchframe { return [defpitchframe intValue]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.