home *** CD-ROM | disk | FTP | other *** search
- //
- // MiscValueCellInspector.m -- an IBInspector that edits a MiscValueCell
- // or its MiscValueField.
- // Written by David Fedchenko. Copyright 1994 by David Fedchenko.
- // 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.
- //
-
- #import "MiscValueCellInspector.h"
-
- @implementation MiscValueCellInspector
-
- - init
- {
- char buf[MAXPATHLEN + 1];
- id bundle;
-
- [super init];
-
- bundle = [NXBundle bundleForClass:[MiscValueCell class]];
- [bundle getPath:buf forResource:"MiscValueCellInspector" ofType:"nib"];
- [NXApp loadNibFile:buf owner:self withNames:NO fromZone:[self zone]];
-
- return self;
- }
-
- - updateControls
- {
- [idSoftLower setEnabled:[idExpandLower state]];
- [idSoftLowerLabel setEnabled:[idExpandLower state]];
- [idSoftUpper setEnabled:[idExpandUpper state]];
- [idSoftUpperLabel setEnabled:[idExpandUpper state]];
-
- return self;
- }
-
- - ok:sender
- {
- [object setMinValue:[idHardLower doubleValue]];
- [object setMaxValue:[idHardUpper doubleValue]];
- [object setMinBoundary:[idSoftLower doubleValue]];
- [object setMaxBoundary:[idSoftUpper doubleValue]];
- [object setStepSize:[idNormal doubleValue]];
- [object setAltStepSize:[idAlternate doubleValue]];
- [object setExpandMin:[idExpandLower state]];
- [object setExpandMax:[idExpandUpper state]];
- [object setContinuous:[idContinuous state]];
-
- [self updateControls];
-
- return [super ok:sender];
- }
-
- - revert:sender
- {
- // there is casting here because the NeXT headers have a type conflict
- // for these two methods.
- [idHardLower setDoubleValue:[(MiscValueField *)object minValue]];
- [idHardUpper setDoubleValue:[(MiscValueField *)object maxValue]];
- [idSoftLower setDoubleValue:[object minBoundary]];
- [idSoftUpper setDoubleValue:[object maxBoundary]];
- [idNormal setDoubleValue:[object stepSize]];
- [idAlternate setDoubleValue:[object altStepSize]];
- [idExpandLower setState:[object expandMin]];
- [idExpandUpper setState:[object expandMax]];
- [idContinuous setState:[object isContinuous]];
-
- [self updateControls];
-
- return [super revert:sender];
- }
-
- - (BOOL)wantsButtons
- {
- return NO;
- }
-
- // the text delegate functions to get the info more better
- - textDidEnd:sender endChar:(unsigned short)whyEnd
- {
- [self ok:sender];
-
- return self;
- }
-
- @end
-
- @implementation MiscValueField (AttributesInspector)
-
- - (const char *)getInspectorClassName
- {
- NXEvent *ev;
-
- ev = [NXApp currentEvent];
- if (ev->flags&NX_ALTERNATEMASK) // get the superclass inspector
- return [super getInspectorClassName];
- else // the real inspector
- return "MiscValueCellInspector";
- }
-
- @end
-
- @implementation MiscValueCell (AttributesInspector)
-
- - (const char *)getInspectorClassName
- {
- NXEvent *ev;
-
- ev = [NXApp currentEvent];
- if (ev->flags&NX_ALTERNATEMASK) // get the superclass inspector
- return [super getInspectorClassName];
- else // the real inspector
- return "MiscValueCellInspector";
- }
-
- @end
-