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

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

/*

File IKList.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.

*/


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


/*

IKList specializes the list class in two ways.  First, it incorporates reference counting to take care of automatic memory management.  Second, it conforms to the IKIconObject protocol so that it can display itself and be dragged around the workspace.

A typical use is to represent a multiple selection in an IKBrowser.  The icon of an IKList is the hand-and-sheaf when there is more than one element in the list; otherwise it is the icon of the first element.

*/

#import <objc/List.h>

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


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


@interface IKList : List <IKDraggableObject, IKDependency>
{
	id
		users;
}


+ initialize;

- free;
- forward: (SEL) message : (marg_list) argFrame;
- (BOOL) garbageCollect;

- appendList: (List *) objects;
- removeList: (List *) objects;
- insertObject: object  at: (unsigned int) i;
- removeObjectAt: (unsigned int) i;
- willFree: who;


	// -- IKDraggableObject methods

- (const char *) name;
- image;
- (BOOL) isDraggable;
- (BOOL) isDragAccepting;
- (BOOL) isEditable;
- setDraggable: (BOOL) flag;
- copyToPasteboard: (Pasteboard *) pboard;
+ readFromPasteboard: (Pasteboard *) pboard;
+ (NXAtom *) pasteTypes;


	// -- IKDependency methods

- addUser: who;
- addListener: who;
- removeUser: who;
- removeListener: who;


/*
	-NO NEW DOCUMENTATION-

- (NXImage *) getIBImage;
- initCount: (unsigned int) numSlots;
- copyFromZone: (NXZone *) zone;
- read: (NXTypedStream *) stream;
- (BOOL) respondsTo: (SEL) method;

*/

@end


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


@interface Object (IKListAnnouncements)

- (BOOL) list: sender  willAppendList: objects;
- (BOOL) list: sender  willRemoveList: objects;
- (BOOL) list: sender  willAdd: object;
- (BOOL) list: sender  willRemove: object;
- list: sender  didAppendList: objects;
- list: sender  didRemoveList: objects;
- list: sender  didAdd: object;
- list: sender  didRemove: object;
- willFree: sender;


@end

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