This is Shelf.h in view mode; [Download] [Up]
#import <appkit/appkit.h>
@class DragView;
@class BibliographicFile;
@class Preferences;
typedef struct {
Box *theBox;
BibliographicFile *theFile;
int state;
}shelfType;
#define MAXCOUNT 40
@interface Shelf:View
{
int count; // number of boxes on the shelf
int iconsPerRow; // number of icons per row
Preferences *preferences;
ScrollView *scrollView;
NXImage *theImage;
NXRect boxRect; // size of a box on shelf
NXAtom MyListPboardType;
NXStream *protypeStream; // typed stream from which boxes can be created
List *boxList;
shelfType shelfBox[MAXCOUNT]; // description array of all boxes
BOOL needsHorizontalScroller;
BOOL isSelected;
}
// initialize a shelf
- (void) setBoxPrototype:(Box *)aBox;
- (Box *) readBoxFromStream:(NXStream *)theStream;
- (BOOL) loadShelfFromFile:(const char *)file;
- setBackgroundColor:(NXColor)color;
// find index of a box
- (int)indexOfBox:(Box *)box;
- (int)indexOfBoxWithIcon:(DragView *)view;
- (int)indexOfBoxForFile:(BibliographicFile *)aFile;
- (int)indexOfBoxNamed:(const char *)fileName;
// properties of an icon
- (const char *)filenameOfIconAt:(int)inx;
- (int)getstateOfIconAt:(int)inx;
- setState:(int)state forIconAt:(int)inx;
// set fileparameter of a box
- attachFile:(const char *)fName toObject:(BibliographicFile *)obj;
- attachObject:(BibliographicFile *)obj toFile:(const char *)fName;
- detachObject:(BibliographicFile *)obj;
// remove box from shelf
- (void) removeBoxAt:(int)inx;
- (void) removeBoxWithIcon:(DragView *)theView;
// insert box
- (int)insertBox:(Box *)box at:(int)inx;
- (int)insertBox:(Box *)box;
// display
- (void)sizeShelf:(int)cnt;
- (void)setCoordinates:(NXRect *)r at:(int)inx;
- (void)redrawShelf;
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.