This is MiniText.Delegate.m in view mode; [Download] [Up]
/* Treat some events, chiefly to save the text on exit, Copyright (C) 1996, Felix H. Gatzemeier. This file is part of Ivy.app, the minimal NeXTstep(TM) Editor.. Ivy.app is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. Ivy.app is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ivy.app; see the file COPYING. If not, write to fxg@imib.rwth-aachen.de or the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #import "MiniText.Delegate.h" /* As a Window and an Application Delegate, MiniText tracks termination. */ @implementation MiniText (ApplicationDelegate) /* ====================== = -appWillTerminate: = ====================== */ -appWillTerminate:sender { if([[NXApp keyWindow] isDocEdited]) { if(NXRunAlertPanel("Document modified", "Save it before quitting?", "Save", "Don't Save", NULL) ==NX_ALERTDEFAULT) { NXStream *ostream = NXMapFile(NXArgv[NXArgc-1], NX_WRITEONLY); if(ostream != NULL) { [self writeText: ostream]; NXSaveToFile(ostream, NXArgv[NXArgc-1]); NXCloseMemory(ostream, NX_TRUNCATEBUFFER); } } } return self; } - appDidInit:sender { [self setSel:0:0]; return self; } @end @implementation MiniText (WindowDelegate) /* ==================== = windowWillClose: = ==================== */ -windowWillClose:sender { [NXApp terminate:self]; return self; /* never gets here , but cc doesn't know. */ } @end /* As a Text Delegate, MiniText tracks document change. */ @implementation MiniText (TextDelegate) /* ================== = textDidChange: = ================== */ -textDidChange:sender { [sender setDelegate:nil]; /* Once set, we never reset docEdited. */ [[NXApp keyWindow] setDocEdited:YES]; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.