This is STNibOwner.m in view mode; [Download] [Up]
#import "STNibOwner.h" @implementation STNibOwner - init { [super init]; window = nil; nibFileName = NULL; nibLoaded = NO; return self; } - setNibFile:(const char *)fileName { if (fileName) { if (nibFileName == NULL) free(nibFileName); nibFileName = (char *)malloc(sizeof(char)*(strlen(fileName) + 1)); strcpy(nibFileName, fileName); } return self; } - showWindow: (const char *)windowName { if (nibFileName && nibLoaded == NO) { if ([NXApp loadNibFile: nibFileName owner: self withNames: YES]) { window = NXGetNamedObject(windowName, self); [window makeKeyAndOrderFront: self]; nibLoaded = YES; } } return self; } - window { return window; } - viewWithTag:(int)number { return [[window contentView] findViewWithTag: number]; } - viewWithName:(char *)name { return NXGetNamedObject(name, self); } - awake { [super awake]; nibLoaded = NO; return self; } - read:(NXTypedStream *)stream { [super read: stream]; window = NXReadObject(stream); NXReadTypes(stream, "*i", nibFileName, &nibLoaded); return self; } - write:(NXTypedStream *)stream { [super write: stream]; NXWriteObject(stream, window); NXWriteTypes(stream, "*i", nibFileName, &nibLoaded); return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.