ftp.nice.ch/pub/next/developer/objc/iconkit/IconKit.1.2.s.tar.gz#/IconKit-1.2/Classes/IKBrowserManager.h

This is IKBrowserManager.h in view mode; [Download] [Up]

/*

File IKBrowserManager.h

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.

*/


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


/*

Browsing and editing graph is one of the most natural uses for an IKBrowser.  This class defines a graph manager that automates the generic operations.  End applications only need to specify the graph structure.  The IKBrowserManager takes care of filling in a browser with the appropriate information, responding to editing and dragging, selecting paths, and so forth.

The class is designed to create an IKBrowserManager in pair with a single IKBrowser.  Lord knows what would happen if one tried to switch the characteristics of an IKBrowserManager on the fly.  Hence, there are no set methods to change either the root path or graphClassName.  These should be provided at initialization time or via InterfaceBuilder.

*/

#import <objc/Object.h>

#import "IKBrowser.h"
#import "IKIconObject.h"
#import "IKDependency.h"


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


#define IKMAXPATHLENGTH		5000		//	--maximum length of path names


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


/*

The IKGraphNode protocol abstracts the methods that a class must implement to be browsable by an IKBrowserManager.  The IKFolder class is the only IconKit class that conforms to this protocol.

*/


@protocol IKGraphNode <IKSimpleObject, IKDependency>

- children;
- (BOOL) isLeaf;
- (BOOL) isHidden;

@end


@interface Object (IKGraphNodeOptionalMethods)

+ multipleSelectionClass;
- pathFromNode: node;
- init: (const char *) name;
- free;
- removeChildren: children;
- addChildren: children;
- addChild: child;
- setLeaf: (BOOL) flag;

@end


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


@interface IKBrowserManager : Object <IKBrowserDelegate>
{
	id
		browser,
		root;
}


- initBrowser: (id) theBrowser  root: (id) theRoot;
- free;
- awake;

- browser;
- root;
- setBrowser: theBrowser;
- setRoot: theRoot;

- (int) browser: sender  fillMatrix: matrix  inColumn: (int) column;
- browser: sender  setColumnIcon: cell  for: (int) column;
- browser: sender  emptyMatrix: matrix  inColumn: (int) column;
- browser: sender  removeColumnIcon: cell  for: (int) column;
- browserWillFinishChange;
- browserDidChange;

- sort: (id *) folders  count: (int) n  for: (int) column;
- takePathFrom: sender;
- deleteLink: sender;
- delete: sender;
- duplicate: sender;
- newFolder: sender;
- toggleLeaf: sender;

- didChangeProperties: sender;
- didAddChild: sender;
- didAddChildren: sender;
- didRemoveChild: sender;
- didRemoveChildren: sender;
- willFree: sender;
- changed: who;

/*
	-NO NEW DOCUMENTATION-

- init;
- awakeFromNib;

*/

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.