This is IconController.m in view mode; [Download] [Up]
#import "IconController.h" #define ICON_ANIM_FILE "/Net/java/Users/Developers/t641_craig/anim2.tst" @implementation IconController //** designated initializer - init { List *temp; if (self = [super init]) { animator = [[MiscAppIconAnimator alloc] init]; //** create array of images temp = [[List alloc] init]; [temp addObject:[NXImage findImageNamed:"Bronto"]]; [temp addObject:[NXImage findImageNamed:"Raptor"]]; [temp addObject:[NXImage findImageNamed:"TriTop"]]; [animator setImageArray:temp]; //** create array of pattern order temp = [[List alloc] init]; [temp addObject:(id)0]; [temp addObject:(id)1]; [temp addObject:(id)2]; [temp addObject:(id)1]; [temp addObject:(id)2]; [temp addObject:(id)1]; [temp addObject:(id)2]; [temp addObject:(id)1]; [temp addObject:(id)2]; [temp addObject:(id)1]; [temp addObject:(id)2]; [temp addObject:(id)1]; [temp addObject:(id)0]; [animator setAnimationPattern:temp]; [animator setPatternLoops:1 ]; return self; } return nil; } -free { if (animator) [animator free]; return [super free]; } - animate:sender { [animator startAnimation:sender]; [button setEnabled:YES]; return self; } - stopAnimate:sender { [animator stopAnimation]; [button setEnabled:NO]; // [animator displayImageAtIndex:2]; return self; } - save:sender { NXTypedStream *stream; //** open file and save data stream = NXOpenTypedStreamForFile(ICON_ANIM_FILE, NX_WRITEONLY); if (!stream) { NXRunAlertPanel("File Alert", "Write failed!", NULL, NULL, NULL); return nil; } NXWriteRootObject(stream, animator); //** archive object NXCloseTypedStream(stream); return self; } - load:sender { NXTypedStream *stream; //** open file and read data stream = NXOpenTypedStreamForFile(ICON_ANIM_FILE, NX_READONLY); if (!stream) { NXRunAlertPanel("File Alert", "Read failed!", NULL, NULL, NULL); return nil; } animator = NXReadObject(stream); //** retrieve object NXCloseTypedStream(stream); return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.