This is Controller.m in view mode; [Download] [Up]
#import "Controller.h" @implementation Controller /* $Log: Controller.m,v $ Revision 1.4 94/05/29 20:14:32 ediger help/explanation panel support Revision 1.3 94/05/29 14:59:51 ediger cleanup to eliminate compiler warning Revision 1.2 94/02/03 19:54:34 ediger cleanup of commented out code Revision 1.1 93/12/19 13:02:54 ediger Initial revision */ static char rcsident[] = "$Id: Controller.m,v 1.4 94/05/29 20:14:32 ediger Exp Locker: ediger $"; static BOOL fGetOpenPath(char *pcName, int iBufferLength, char *pcType) { BOOL fSuccess = NO; static char *ppcFileTypes[2] = {NULL, NULL}; static id openPanel = Nil; assert(pcName != NULL); if (openPanel == Nil) openPanel = [OpenPanel new]; assert(openPanel != Nil); if (pcType != NULL && *pcType != '\0') ppcFileTypes[0] = pcType; [NXApp setAutoupdate:NO]; if ([openPanel runModalForTypes:ppcFileTypes]) { const char *pcNameTmp = [openPanel filename]; strncpy(pcName, pcNameTmp, iBufferLength); fSuccess = YES; } [NXApp setAutoupdate:YES]; return fSuccess; } - init { infoPanel = Nil; return self; } - closeFile:sender { id oCurrentMainWindow; oCurrentMainWindow = [NXApp mainWindow]; [oCurrentMainWindow close]; [oCurrentMainWindow free]; return self; } - openNewFile:sender { char pcPath[1024]; if (fGetOpenPath(pcPath, 1024, NULL)) { id p = [[Document alloc] init]; [p openFileNamed:pcPath]; [p show:self]; } return self; } - showInfoPanel:sender { if (infoPanel == nil) if (![NXApp loadNibSection:"Info.nib" owner:self]) return nil; [infoPanel makeKeyAndOrderFront:self]; return self; } - showHelpPanel:sender { if (helpPanel == nil) if (![NXApp loadNibSection:"HelpPanel.nib" owner:self]) return nil; [helpPanel makeKeyAndOrderFront:self]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.