This is BBCUI.m in view mode; [Download] [Up]
/////////////////////////////////////////////////////////////////////////////// // FILENAME: BBCUI.m // SUMMARY: User Interface for a Billiard-Ball Computation Annotation // SUPERCLASS: Object // INTERFACE: BBCUI // PROTOCOLS: <Inspectable> // AUTHOR: Rohit Khare // COPYRIGHT: (c) 1994 California Institure of Technology, eText Project /////////////////////////////////////////////////////////////////////////////// // DESCRIPTION // Implementation of a shared inspector for BBCs // Separated out controller from old BilliardView code. /////////////////////////////////////////////////////////////////////////////// // HISTORY // 05/29/94: Created. /////////////////////////////////////////////////////////////////////////////// #import "BBC.h" #define CONT "Controls" @implementation BBCUI // id fileWell; // id nameField; // id accelSwitch; // id editSwitch; // id pathSwitch; // id fwdButton; // id backButton; // id hresField; // id vresField; // id bbcPanel; // id bbcView; // id theBBC; + new { static BBCUI *bbcui = nil; if (!bbcui) { bbcui = [[BBCUI alloc] init]; } return bbcui; } - init { char buf[MAXPATHLEN]; NXBundle *bundle; [super init]; bundle = [NXBundle bundleForClass:[BBCUI class]]; if ( [bundle getPath:buf forResource:"BBCUI" ofType:"nib"] ) { [NXApp loadNibFile:buf owner:self withNames:NO]; } else { NXLogError("NIB not found: BBCUI"); } bbcView = [bbcPanel contentView]; [fwdButton setPeriodicDelay:0 andInterval:0.2]; [backButton setPeriodicDelay:0 andInterval:0.2]; return self; } - free {return self;} - (const NXAtom *) types:sender { static NXAtom types[2] = {NULL, NULL}; if (!types[0]) { types[0] = NXUniqueString(CONT); } return types; } - (char *) inspectorTitle { return (char *) NXUniqueString("Billiard-Ball Computation"); } - resignInspector: (View *) oldInspector ofType: (char *) type :sender { return self; } - activateInspector: (View *) newInspector ofType: (char *) type :sender { return self; } - inspectorForType:(char *) type :sender { if(!strcmp(type,CONT)) return bbcView; else NXLogError("Massive Inspector Failure: Asked BBCUI for: %s", type); return bbcView; } - setName:sender {[theBBC setName:NXUniqueString([sender stringValue])]; return self;} - setShowPath:sender {[theBBC setShowPath:[pathSwitch state]]; return self;} - setAccelerated:sender {[theBBC setAccelerated:![accelSwitch state]]; return self;} - setEditable:sender {[theBBC setEditable:[editSwitch state]]; return self;} - clickFwd:sender{[theBBC stepForward]; return self;} - clickBack:sender{[theBBC stepBackward]; return self;} - setRes:sender{[theBBC setRes:[hresField intValue] :[vresField intValue]]; return self;} - setBBC:newBBC { theBBC = newBBC; return [self load]; } - bbc {return theBBC;} - load { [nameField setStringValue:[theBBC name]]; [accelSwitch setState:![theBBC isAccelerated]]; [pathSwitch setState:[theBBC doesShowPath]]; [editSwitch setState:[theBBC isEditable]]; [hresField setIntValue:[theBBC hres]]; [vresField setIntValue:[theBBC vres]]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.