ftp.nice.ch/pub/next/developer/objc/iconkit/IconKit.1.2.s.tar.gz#/IconKit-1.2/Classes/Inspectors.subproj/IKShelfInspector.m

This is IKShelfInspector.m in view mode; [Download] [Up]

/*

File IKShelfInspector.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, title, and icon.

*/

#import "IKShelfInspector.h"
#import "IKShelf.h"
#import "IKCell.h"

@implementation IKShelfInspector


/* ========================================================================== */


- init
{
    char	path [MAXPATHLEN + 1];
    id		bundle;
    
    [super init];
    
    bundle = [NXBundle  bundleForClass: [IKShelf class]];
    [bundle  getPath: path  forResource: "IKShelfInspector"  ofType: "nib"];
    [NXApp  loadNibFile: path  owner: self  withNames: NO
				fromZone: [self zone]];
    
	return self;
}


/* ========================================================================== */


/*

Reset the various options as needed.  This inspector is rather straightforward.  Matching cells to the prototype copies all the flags, the image, and the title.

*/


- updateClassToHold: sender
{
	[object  setClassToHold: [classToHold  stringValue]];
	[self  ok: sender];
	
	return self;
}


- updateDynamic: sender
{
	[object  setDynamic: [sender  state]];	
	[self  ok: sender];
	
	return self;
}


- matchCells: sender
{
	int
		i;
	id
		prototype = [object  prototype],
		cellList = [object  cellList];
	
	i = [cellList  count];
	while (i--) [[cellList objectAt: i]  initFromCopy: prototype];
	[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
{
	[classToHold  setStringValue: [object  classToHold]];
	[dynamic  setState: [object  isDynamic]];
    
	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.