This is PreferenceController.m in view mode; [Download] [Up]
// // This file is a part of Risk by Mike Ferris. // #import "Risk.h" RCSID ("$Id: PreferenceController.m,v 1.2 1997/12/15 07:43:59 nygard Exp $"); #import "PreferenceController.h" #import "BoardSetup.h" #import "LineView.h" //====================================================================== // The PreferenceController provides a simple panel for changing some // of the default appearence values. //====================================================================== #define PreferenceController_VERSION 1 @implementation PreferenceController + (void) initialize { if (self == [PreferenceController class]) { [self setVersion:PreferenceController_VERSION]; } } //---------------------------------------------------------------------- - init { BOOL loaded, okay; NSString *nibFile; if ([super init] == nil) return nil; nibFile = @"PreferencePanel.nib"; loaded = [NSBundle loadNibNamed:nibFile owner:self]; if (loaded == NO) { NSLog (@"Could not load %@.", nibFile); [super dealloc]; return nil; } okay = [preferencePanel setFrameAutosaveName:[preferencePanel title]]; if (okay == NO) NSLog (@"Could not set frame autosave name of Preference panel."); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (boardSetupChanged:) name:RiskBoardSetupChangedNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (boardSetupChanged:) name:RiskBoardSetupShowCardSetCountsChangedNotification object:nil]; return self; } //---------------------------------------------------------------------- - (void) dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } //---------------------------------------------------------------------- - (void) showPanel { [self takePreferencesFromBoardSetup]; [preferencePanel makeKeyAndOrderFront:self]; } //---------------------------------------------------------------------- - (void) revertAction:sender { [[BoardSetup instance] revertOtherToDefaults]; [preferencePanel setDocumentEdited:NO]; } //---------------------------------------------------------------------- - (void) setAction:sender { [[BoardSetup instance] writeAllDefaults]; [preferencePanel setDocumentEdited:NO]; } //---------------------------------------------------------------------- - (void) takePreferencesFromBoardSetup { BoardSetup *boardSetup; float borderWidth; boardSetup = [BoardSetup instance]; [regularBorderWell setColor:[boardSetup regularBorderColor]]; [selectedBorderWell setColor:[boardSetup selectedBorderColor]]; borderWidth = [boardSetup borderWidth]; [borderWidthSlider setFloatValue:borderWidth]; [borderWidthTextField setFloatValue:borderWidth]; [borderWidthLineView setLineWidth:borderWidth]; [showCardSetsButton setState:[boardSetup showCardSetCounts]]; } //---------------------------------------------------------------------- - (void) borderWidthAction:sender { float newLineWidth; newLineWidth = [sender floatValue]; if (sender == borderWidthSlider) { [borderWidthTextField setFloatValue:newLineWidth]; [borderWidthLineView setLineWidth:newLineWidth]; [[BoardSetup instance] setBorderWidth:newLineWidth]; [preferencePanel setDocumentEdited:YES]; } else { [borderWidthSlider setFloatValue:newLineWidth]; [borderWidthLineView setLineWidth:newLineWidth]; [[BoardSetup instance] setBorderWidth:newLineWidth]; [preferencePanel setDocumentEdited:YES]; } } //---------------------------------------------------------------------- - (void) borderColorAction:sender { if (sender == regularBorderWell) { [[BoardSetup instance] setRegularBorderColor:[regularBorderWell color]]; [preferencePanel setDocumentEdited:YES]; } else if (sender == selectedBorderWell) { [[BoardSetup instance] setSelectedBorderColor:[selectedBorderWell color]]; [preferencePanel setDocumentEdited:YES]; } } //---------------------------------------------------------------------- - (void) statusCardSetsAction:sender { [[BoardSetup instance] setShowCardSetCounts:[showCardSetsButton state]]; [preferencePanel setDocumentEdited:YES]; } //---------------------------------------------------------------------- - (void) boardSetupChanged:(NSNotification *)aNotification { [self takePreferencesFromBoardSetup]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.