This is IKSuitcaseInspector.m in view mode; [Download] [Up]
/*
File IKSuitcaseInspector.m
Release 1.2, 7 June 1994
Copyright (C) 1994 by H. Scott Roy
This code is part of IconKit, a general toolbox for drag-and-drop applications. IconKit is free for noncommercial use, but costs money for a commercial license. You should have received a copy of the license agreement with this file. If not, a copy of the license and the complete source of IconKit can be obtained from the author:
H. Scott Roy
2573 Stowe Ct.
Northbrook, IL 60062-8103
iconkit@cs.stanford.edu
For your editing convenience, this file is best viewed using an editor that automatically wraps long lines, in a fixed point font at 80 columns, with tabs every 4 spaces.
*/
/* ========================================================================== */
/*
This file implements a custom inspector for an IKCell. The inspector lets one set the editing, dragging, shelf behavior, name, and icon.
*/
#import "IKSuitcaseInspector.h"
#import "IKSuitcase.h"
@implementation IKSuitcaseInspector
/* ========================================================================== */
/*
Here are the tags used to identify all the different cells.
*/
#define NAME 0
#define ICON 1
#define OPENICON 2
/* ========================================================================== */
- init
{
char path [MAXPATHLEN + 1];
id bundle;
[super init];
bundle = [NXBundle bundleForClass: [IKSuitcase class]];
[bundle getPath: path forResource: "IKSuitcaseInspector" ofType: "nib"];
[NXApp loadNibFile: path owner: self withNames: NO
fromZone: [self zone]];
return self;
}
/* ========================================================================== */
/*
Reset the various options as needed.
*/
- updateLook: sender
{
const char
* name = [[look findCellWithTag: NAME] stringValue],
* icon = [[look findCellWithTag: ICON] stringValue],
* openIcon = [[look findCellWithTag: OPENICON] stringValue];
[(IKSuitcase *) object setName: name];
[object setImage: icon ? [NXImage findImageNamed: icon] : nil];
[object setAcceptingDragImage: openIcon ?
[NXImage findImageNamed: openIcon] : nil];
[self ok: sender];
return self;
}
- updateClassToHold: sender
{
[object setClassToHold: [classToHold stringValue]];
[self ok: sender];
return self;
}
/* ========================================================================== */
/*
The ok: method does nothing. The revert method needs to initialize itself from the current selection.
*/
- ok: sender
{
[self touch: self];
return [super ok: sender];
}
- revert: sender
{
const char
* name = [object name],
* icon = [[object image] name],
* openIcon = [[object acceptingDragImage] name];
[[look findCellWithTag: NAME] setStringValue: name];
[[look findCellWithTag: ICON] setStringValue: icon];
[[look findCellWithTag: OPENICON] setStringValue: openIcon];
[classToHold setStringValue: [object classToHold]];
return [super revert: sender];
}
- (BOOL) wantsButtons
{
return NO;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.