This is WoodDoc_WindowDelegate.m in view mode; [Download] [Up]
#import "wooddoc.h" @implementation WoodDoc (WindowDelegate) - windowWillClose:sender { int save; if([self needsSaving] && ![self isEmpty]){ [window makeKeyAndOrderFront:self]; if(theOOEClient != nil) [self save:self]; else { save = NXRunAlertPanel(localString("Close"), localString("%s has changes. Save them?"), localString("Save"), localString("Don't Save"), localString("Cancel"), name); if(save != NX_ALERTDEFAULT && save != NX_ALERTALTERNATE) return nil; else { [window endEditingFor:self]; if(save == NX_ALERTDEFAULT){ if(![self save:nil]) return nil; } } } } [self docWillClose_OOE:self]; [undoManager emptyUndoManager]; [window setDelegate:nil]; window = nil; if(printInfo) [NXApp setPrintInfo:nil]; return [NXApp freeDoc:self]; } - windowDidBecomeMain:sender { [NXApp setPrintInfo:printInfo]; [[NXApp inspectorManager] inspect:lastSelectedNode]; return self; } - windowWillMiniaturize:sender toMiniwindow:counterpart { char *dot; char title[MAXPATHLEN+1]; strcpy(title, [self name]); dot = rindex(title, '.'); if (dot && !strcmp(++dot, [[self class] docExtension])) *(--dot) = '\0'; [counterpart setTitle:title]; [sender setMiniwindowIcon:"WoodDoc"]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.