This is MiscTabButtonCellInspector.m in view mode; [Download] [Up]
/* * MiscTabButtonCellInspector.m -- * Written by Stephane Corthesy Copyright 1997 by Stephane Corthesy. * Version 1.0. All rights reserved. * * This notice may not be removed from this source code. * * This object is included in the MiscKit by permission from the author * and its use is governed by the MiscKit license, found in the file * "License.rtf" in the MiscKit distribution. Please refer to that file * for a list of all applicable permissions and restrictions. */ #ifdef MISCKIT #import <misckit/MiscTabButtonCellInspector.h> #import <misckit/MiscTabButtonCell.subproj/MiscTabButtonCell.h> #else #import "MiscTabButtonCellInspector.h" #import "MiscTabButtonCell.subproj/MiscTabButtonCell.h" #endif #import "MiscTabButtonCellInspector.h" @implementation MiscTabButtonCellInspector - init { self = [super init]; if(![NSBundle loadNibNamed:@"MiscTabButtonCellInspector.nib" owner:self]) NSLog(@"MiscTabButtonCellInspector:: Could not load MiscTabButtonCellInspector.nib"); return self; } - (BOOL) wantsButtons { return NO; } - (void) revert:(id)sender { #ifndef STRICT_OPENSTEP [titleCell setObjectValue:[[self object] title]]; [imageCell setObjectValue:[[[self object] image] name]]; #else if([[self object] title]) [titleCell setStringValue:[[self object] title]]; else [titleCell setStringValue:@""]; if([[[self object] image] name]) [imageCell setStringValue:[[[self object] image] name]]; else [imageCell setStringValue:@""]; #endif [tagCell setIntValue:[[self object] tag]]; #ifndef STRICT_OPENSTEP [keyCell setObjectValue:[[self object] keyEquivalent]]; #else if([[self object] keyEquivalent]) [keyCell setStringValue:[[self object] keyEquivalent]]; else [keyCell setStringValue:@""]; #endif [alignMatrix selectCellWithTag:[[self object] alignment]]; [orientationMatrix selectCellWithTag:[[self object] orientation]]; [positionMatrix selectCellWithTag:[[self object] imagePosition]]; [optionMatrix setState:![[self object] isEnabled] atRow:0 column:0]; if([[[self object] controlView] isKindOfClass:[NSMatrix class]]){ [[optionMatrix cellWithTag:1] setEnabled:YES]; [optionMatrix setState:[[(NSMatrix *)[[self object] controlView] selectedCell] isEqual:[self object]] atRow:1 column:0]; } else{ [[optionMatrix cellWithTag:1] setState:NO]; [[optionMatrix cellWithTag:1] setEnabled:NO]; } [optionMatrix setState:[[self object] doesRotateText] atRow:2 column:0]; [optionMatrix setState:[[self object] doesRotateImage] atRow:3 column:0]; [super revert:sender]; } - (void)ok:(id)sender { if([sender isEqual:alignMatrix]) [[self object] setAlignment:[[sender selectedCell] tag]]; else if([sender isEqual:optionMatrix]){ switch([[sender selectedCell] tag]){ case 0: [[self object] setEnabled:![[sender selectedCell] state]]; break; case 1: if([[sender selectedCell] state] && [[[self object] controlView] isKindOfClass:[NSMatrix class]]){ int row, column; [(NSMatrix *)[[self object] controlView] getRow:&row column:&column ofCell:[self object]]; [(NSMatrix *)[[self object] controlView] selectCellAtRow:row column:column]; } break; case 2: [[self object] setRotateText:[[sender selectedCell] state]]; break; case 3: [[self object] setRotateImage:[[sender selectedCell] state]]; break; } } else{//Do test sender! NSCell *aCell = [sender cell]; if([aCell isEqual:titleCell]) [[self object] setTitle:[aCell stringValue]]; else if([aCell isEqual:imageCell]) [[self object] setImage:[NSImage imageNamed:[aCell stringValue]]]; else if([aCell isEqual:tagCell]) [[self object] setTag:[aCell intValue]]; else if([aCell isEqual:keyCell]) [[self object] setKeyEquivalent:[aCell stringValue]]; } [super ok:sender]; } - (void)validateImagePosition:(id)sender { [[self object] setImagePosition:[[sender selectedCell] tag]]; [super ok:sender];//should call [self ok:sender]!! } - (void)validateOrientation:(id)sender { [[self object] setOrientation:[[sender selectedCell] tag]]; [super ok:sender]; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.