This is PAStringListInspector.m in view mode; [Download] [Up]
#import "PAStringListInspector.h" #import <appkit/appkit.h> #import "PAStringList.h" @implementation PAStringListInspector - init { char buf[MAXPATHLEN + 1]; id bundle; [super init]; bundle = [NXBundle bundleForClass:[PAStringList class]]; [bundle getPath:buf forResource:"PAStringListInspector" ofType:"nib"]; [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]]; [stringText setDelegate:self]; return self; } - textDidGetKeys:sender isEmpty:(BOOL)flag { [self perform:@selector(ok:) with:self afterDelay:500 cancelPrevious:YES]; return self; } - (BOOL)wantsButtons { return NO; } - revert:sender { int i; NXStream *s = NXOpenMemory(NULL, 0, NX_READWRITE); // Add strings to text object for(i=0; i<[object count]; i++) NXPrintf(s,"%s\n", [object stringAt:i]); NXSeek(s, 0, NX_FROMSTART); [stringText readText:s]; NXCloseMemory(s, NX_FREEBUFFER); return [super revert:sender]; } - ok:sender { char *buffer; [object empty]; // Add all of the strings from text object buffer = malloc([stringText textLength]*(sizeof(char)+1)); [stringText getSubstring:buffer start:0 length:[stringText textLength]+ 1]; [object addDelimitedStrings:buffer delimiters:"\n"]; free(buffer); return [super ok:sender]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.