This is IKFolder.h in view mode; [Download] [Up]
/*
File IKFolder.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 a graph is one of the most natural uses for an IKBrowser. This class defines a node in a directed graph. The class is fully capable of handling dragging and editing events, as well as searching the graph to find paths.
The IKFolder is configurable in all its features: editing, dragging, accepting drags, and so forth.
*/
#import <objc/Object.h>
#import <appkit/drag.h>
#import "IKBrowserManager.h"
/* ========================================================================== */
@interface IKFolder : Object <IKIconObject, IKGraphNode>
{
char
* name;
id
users,
image,
acceptingDragImage,
parents,
children,
dragging;
int
draggingSession,
searchMarker;
NXDragOperation
operationMask;
struct _folderflags {
int draggable:1;
int dragAccepting:1;
int editable:1;
int hidden:1;
int leaf:1;
int freeing:1;
}
flags;
}
+ initialize;
+ multipleSelectionClass;
- init: (const char *) theName;
- copyFromZone: (NXZone *) zone;
- free;
- read: (NXTypedStream *) stream;
- write: (NXTypedStream *) stream;
- checkForFree;
- (BOOL) garbageCollect;
- (BOOL) isHidden;
- (BOOL) isLeaf;
- parents;
- children;
- setHidden: (BOOL) flag;
- setLeaf: (BOOL) flag;
- pathToNode: destination;
- pathFromNode: source;
- searchFor: goal via: (SEL) getNext;
- addChild: child;
- addChildren: theChildren;
- addParent: parent;
- removeChild: child;
- removeChildren: theChildren;
- removeParent: parent;
- (NXDragOperation) draggingOperation: (id <NXDraggingInfo>) sender;
// -- NXDraggingDestination methods
- (NXDragOperation) draggingEntered: (id <NXDraggingInfo>) sender;
- (NXDragOperation) draggingUpdated: (id <NXDraggingInfo>) sender;
- (BOOL) performDragOperation: (id <NXDraggingInfo>) sender;
// -- IKIconObject methods
- (const char *) name;
- image;
- (BOOL) isDraggable;
- (BOOL) isDragAccepting;
- (BOOL) isEditable;
- setDraggable: (BOOL) flag;
- copyToPasteboard: (Pasteboard *) pboard;
+ readFromPasteboard: (Pasteboard *) pboard;
+ (NXAtom *) pasteTypes;
- setDragAccepting: (BOOL) flag;
- acceptingDragImage;
- setAcceptingDragImage: image;
- setName: (const char *) name;
- setImage: image;
- setEditable: (BOOL) flag;
// -- IKDependency methods
- addUser: who;
- addListener: who;
- removeUser: who;
- removeListener: who;
/*
-NO NEW DOCUMENTATION-
- init;
- (NXImage *) getIBImage;
- (const char *) getInspectorClassName;
*/
@end
/* ========================================================================== */
@interface Object (IKFolderAnnouncements)
- didChangeName: sender;
- didChangeImage: sender;
- didChangeAcceptingDragImage: sender;
- didChangeProperties: sender;
- didAddChild: sender;
- didAddChildren: sender;
- didAddParent: sender;
- didRemoveChild: sender;
- didRemoveChildren: sender;
- didRemoveParent: sender;
- willFree: sender;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.