This is InactivityPanelController.m in view mode; [Download] [Up]
//***************************************************************************** // // PanelController.h. // // Preferences logic. // // by Felipe A. Rodriguez // // This code is supplied "as is" the author makes no warranty as to its // suitability for any purpose. This code is free and may be distributed // in accordance with the terms of the: // // GNU GENERAL PUBLIC LICENSE // Version 2, June 1991 // copyright (C) 1989, 1991 Free Software Foundation, Inc. // 675 Mass Ave, Cambridge, MA 02139, USA // //***************************************************************************** #import "InactivityPanelController.h" #import "../Coordinator.h" @implementation InactivityPanelController //***************************************************************************** // // sent to us after nib objects are unarchived and init'd // //***************************************************************************** - awakeFromNib { [self timeout:self]; // set timeout circ slide/text field return self; } //***************************************************************************** // // returns the inspector panel we control // //***************************************************************************** - inspectorPanel { return [timeoutField window]; } //***************************************************************************** // // target of timeout circular slider // //***************************************************************************** - timeout:sender { static char buf[8]; int timeout; if(sender == self) // if initial display of pref timeout = atoi(NXGetDefaultValue([NXApp appName], "iTimeout")); else // else user changed control { timeout = [sender intValue]; sprintf(buf,"%d",(int)timeout); if(!NXWriteDefault([NXApp appName], "iTimeout", buf)) [[NXApp delegate] showAlert:"ddbWriteError"]; } if(timeout == 0) [timeoutField setStringValue:"Off"]; else [timeoutField setIntValue:timeout]; [timeoutCircSlider setIntValue:timeout]; return self; } //*********************** text field matrix delegation ************************ //***************************************************************************** // // as text delegate we recieve this when textfield cell is being edited // //***************************************************************************** - (BOOL)textWillChange:textObject { [[timeoutField window] setDocEdited:YES]; // indicate change is not saved return NO; } //***************************************************************************** // // text delegate receives when editing of textfield cell is ended // //***************************************************************************** - textDidEnd:textObject endChar:(unsigned short)whyEnd { if ((whyEnd == 16) || (whyEnd == 17)) [[timeoutField window] setDocEdited:NO]; // indicate change is saved return self; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.