This is IKShelf.h in view mode; [Download] [Up]
/*
File IKShelf.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.
*/
/* ========================================================================== */
/*
This class specializes the IKIconPath to conveniently set things up as needed for a shelf. In particular, its cells are initialized to act as unlocked containers, and it can be configured to automatically add new cells when its size changes.
*/
#import "IKIconPath.h"
#import "IKDependency.h"
/* ========================================================================== */
@interface IKShelf : IKIconPath <IKDependency>
{
id
users,
objectToPaste;
char
* classToHold;
BOOL
dynamic,
lastIsEmptyContainer;
}
- initFrame: (const NXRect *) frameRect;
- initFrame: (const NXRect *) frameRect
mode: (int) aMode
cellClass: class
numRows: (int) rows numCols: (int) cols;
- (BOOL) isDynamic;
- (const char *) classToHold;
- setDynamic: (BOOL) flag;
- sizeTo: (NXCoord) width : (NXCoord) height;
- fillWithCells;
- sizeCellsToFit;
- setClassToHold: (const char *) class;
- delegate;
- (NXDragOperation) draggingOperation: (id <NXDraggingInfo>) sender;
- (NXDragOperation) draggingEntered: (id <NXDraggingInfo>) sender;
- draggingExited: (id <NXDraggingInfo>) sender;
- (NXDragOperation) cellEntered: (id <NXDraggingInfo>) sender;
- (NXDragOperation) cellUpdated: (id <NXDraggingInfo>) sender;
- cellExited: (id <NXDraggingInfo>) sender;
- (BOOL) prepareForDragOperation: (id <NXDraggingInfo>) sender;
- (BOOL) performDragOperation: (id <NXDraggingInfo>) sender;
- concludeDragOperation: (id <NXDraggingInfo>) sender;
// -- IKDependency methods
- addUser: who;
- addListener: who;
- removeUser: who;
- removeListener: who;
/*
-NO NEW DOCUMENTATION-
- free;
- read: (NXTypedStream *) stream;
- write: (NXTypedStream *) stream;
- mouseDown: (NXEvent *) event;
*/
@end
/* ========================================================================== */
/*
A shelf sends out notification messages at various points in a dragging operation. A user can step in to determine an appropriate dragging operation. The default is NX_DragOperationGeneric.
*/
@interface Object (IKShelfAnnouncements)
- (NXDragOperation) shelf: sender isDragging: objectToPaste
from: (id <NXDraggingInfo>) source;
- shelf: sender dragWillEnter: (id <NXDraggingInfo>) source;
- shelf: sender dragWillExit: (id <NXDraggingInfo>) source;
- shelf: sender dragWillComplete: (id <NXDraggingInfo>) source;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.