This is Prefs.m in view mode; [Download] [Up]
/*--------------------------------------------------------------------------- Prefs.m -- Copyright (c) 1991 Rex Pruess This program 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 1, or (at your option) any later version. This program 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 this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA, or send electronic mail to the the author. This routine loads & displays the preferences window. It also contains the methods for handling the user requests generated from within the preferences window. Rex Pruess <rpruess@umaxc.weeg.uiowa.edu> $Header: /rpruess/apps/Remotes3.0/RCS/Prefs.m,v 3.0 92/09/23 22:15:27 rpruess Exp $ ----------------------------------------------------------------------------- $Log: Prefs.m,v $ Revision 3.0 92/09/23 22:15:27 rpruess Checked in to RCS to get the revision number updated to 3.0. Revision 2.1 92/09/23 21:29:58 rpruess Updated code for NeXT System Release 3.0. Revision 2.0 91/01/22 15:34:05 rpruess Remotes-2.0 was upgraded for NeXT System Release 2.0 (standard or extended). Remotes-2.0 supports the NeXT supplied Terminal application and the Stuart shareware product. Revision 1.1 90/04/10 14:27:18 rpruess Initial revision -----------------------------------------------------------------------------*/ /* Standard C header files */ #include <libc.h> #include <stdio.h> /* Prefs class header files */ #import "Prefs.h" #import "HostListManager.h" /* Appkit header files */ #import <appkit/Application.h> #import <appkit/Form.h> #import <appkit/Matrix.h> #import <appkit/Window.h> @implementation Prefs - init { self = [super init]; [NXApp loadNibSection:"Prefs.nib" owner:self withNames:NO]; [prefsWindow setMiniwindowIcon:"app"]; return self; } /*--------------------------------------------------------------------------- Initialize the fields in the preferences window. -----------------------------------------------------------------------------*/ - initPrefs:sender { /* Set debugging matrix value. */ [debugMatrix selectCellWithTag:[theHLM getDebugLevel:self]]; /* Insert config pathname & position cursur to it in the prefs window. */ [configForm setStringValue:[theHLM getConfigFile:self]]; [configForm selectTextAt:0]; return self; } /*--------------------------------------------------------------------------- The user pressed the menu revert button. -----------------------------------------------------------------------------*/ - menuRevert:sender { if ([prefsWindow isKeyWindow] == YES) [self prefsRevert:self]; return self; } /*--------------------------------------------------------------------------- Revert the fields in the preference's window. -----------------------------------------------------------------------------*/ - prefsRevert:sender { [debugMatrix selectCellWithTag:[theHLM getDebugLevel:sender]]; [configForm setStringValue:[theHLM getConfigFile:self]]; [configForm selectTextAt:0]; return self; return self; } /*--------------------------------------------------------------------------- Set new values from those specified in the preferences window. -----------------------------------------------------------------------------*/ - prefsSet:sender { [configForm selectTextAt:0]; [theHLM setDebugLevel:[[debugMatrix selectedCell] tag]]; [theHLM setConfigFile:[configForm stringValueAt:0]]; return self; } /*--------------------------------------------------------------------------- Display the preferences window. -----------------------------------------------------------------------------*/ - showPrefsWindow:sender { [prefsWindow makeKeyAndOrderFront:sender]; return self; } /*--------------------------------------------------------------------------- Establish the outlets. -----------------------------------------------------------------------------*/ - setConfigForm:anObject { configForm = anObject; return self; } - setDebugMatrix:anObject { debugMatrix = anObject; return self; } - setPrefsWindow:anObject { prefsWindow = anObject; return self; } /*--------------------------------------------------------------------------- Message from Remotes.m results in the execution of this set. -----------------------------------------------------------------------------*/ - setHLM:anObject { theHLM = anObject; return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.