This is UtilityObject.m in view mode; [Download] [Up]
/* Generated by Interface Builder */ #import <appkit/graphics.h> #import <appkit/publicWraps.h> #import <appkit/Application.h> #import <appkit/Listener.h> #import <appkit/Speaker.h> #import <appkit/Window.h> #import <appkit/TextField.h> #import <appkit/Panel.h> #import "UtilityObject.h" @implementation UtilityObject -appDidInit:sender { unsigned int wn; id speaker = [NXApp appSpeaker]; NXConvertWinNumToGlobal([[NXApp appIcon] windowNum], &wn); [speaker setSendPort: NXPortFromName(NX_WORKSPACEREQUEST, NULL)]; [speaker registerWindow:wn toPort:[[NXApp appListener] listenPort]]; return self; } - (int)iconEntered:(int)windowNum at:(double)x :(double)y iconWindow:(int)iconWindowNum iconX:(double)iconX iconY:(double)iconY iconWidth:(double)iconWidth iconHeight:(double)iconHeight pathList:(char *)pathList { if (!iconPathList || strcmp(iconPathList, pathList)) { NX_FREE(iconPathList); NX_MALLOC(iconPathList, char, strlen(pathList)+1); strcpy(iconPathList, pathList); } return 0; } - (int)iconReleasedAt:(double)x :(double)y ok:(int *)flag { char *file; char command[128]; int which; NX_DURING file = iconPathList; [NXApp activateSelf:YES]; if (file[strlen(file)-1] == 'Z') { if (NXRunAlertPanel(file, "File is of type .Z : Uncompresss?", "Uncompress", "Cancel",NULL) != 0) { sprintf(command,"uncompress %s",file); system(command); } } else if ((strlen(file) > 3) && (file[strlen(file)-1] == 'r') && (file[strlen(file)-2] == 'a') && (file[strlen(file)-3] == 't')) { if (NXRunAlertPanel(file, "File is of type .tar : Untar?", "Untar", "Cancel",NULL) != 0) { sprintf(command,"tar xf %s",file); system(command); } } else if ((which = NXRunAlertPanel(file, "Do you wish to Print?", "Print", "Cancel", "Compress")) != 0) { if (which == -1) { sprintf(command, "compress %s",file); system(command); } else if (which == 1) { sprintf(command, "lpr %s", file); system(command); } } NX_HANDLER NX_ENDHANDLER *flag = YES; return 0; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.