ftp.nice.ch/pub/next/graphics/viewer/ImagePortfolio.1.45.s.tar.gz#/ImagePortfolio_v1.45_src/Portfolio.h

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

// -------------------------------------------------------------------------------------
// Portfolio.h
// -------------------------------------------------------------------------------------

extern "Objective-C" {
#import <mach/cthreads.h>
#import <objc/Object.h>
}

#import "ParseString.h"

// -------------------------------------------------------------------------------------
// file name linked list
typedef struct fileLIST_s {
	ParseString			list;
	int					flags;
	struct fileLIST_s	*next;
} fileLIST;

// -------------------------------------------------------------------------------------
@interface Portfolio : Object
{

	char			*sourceFile;				// source file name
	BOOL			abortLoad;					// abort/flush file loading
	BOOL			allowDrop;					// register for file drop from Workspace
	BOOL			isActivePortfolio;			// active portfolio
	BOOL			adjustPreferences;			// allow pref adjustment
	id				fileIcon;					// file representation icon
  
	mutex_t			loadMutex;					// load list lock
	fileLIST		*loadList;					// file name linked list

	id				paletteWindow;				// icon Palette panel
	NXSize			minWindowSize;				// minimum window size for current cell size
	NXSize			minCellSize;				// minimum cell size
	NXSize			windowOverhead;				// delta size between window and contentView
	BOOL			isRegistered;				// true if window is registered for dragging

	id				expandImage;				// expanded view object
  
	id				paletteScroll;				// icon Palette scroller
	id				iconButtonId;				// workspace icon view button
	id				iconBoxId;					// icon view button box
	id				iconPathId;					// image path name outlet
	id				iconSizeId;					// image size outlet
	id				iconColors;					// image colors outlet
	id				iconMatrix;					// icon Palette matrix

	id				windowHeader;				// image infor header box
	NXSize			headerSize;					// size of window header
  
}

// -------------------------------------------------------------------------------------

// instance initialization
- init;
- initFromList:(const ParseString*)fileNames;
- initFromList:(const ParseString*)fileNames registerWindow:(BOOL)regWindow;
+ firstInstance;

// active portfolio
- becomeActivePortfolio:sender;
- resignActivePortfolio:sender;
- (BOOL)isActivePortfolio;
+ makeActivePortfolio:(Portfolio*)portObj;
+ activePortfolio;

// button/menu actions
- show:sender;
- open:sender;
- save:sender;
- saveAs:sender;
- saveDefaults:sender;

// document status methods
+ (BOOL)isDocEdited;
- (BOOL)isDocEdited;
- (BOOL)isLoading;

// font methods
- font;
- setFont:fontObj;

// non-scaled image view methods
- expandImage;
- showLargeImage:sender;

// window size constraints
- getWindowSize:(NXSize*)windowSize forCellSize:(NXSize*)cellSize gap:(NXSize*)gapSize
		rows:(int)rows cols:(int)cols;
- getDisplayedRows:(int*)rows cols:(int*)cols;
- (NXSize*)cellSize;
	
// PaletteCell delegate methods
- loadFileString:(const char*)fileString :(BOOL)openDoc :(BOOL)chkExtn;
- loadFileList:(const ParseString*)fileNames :(BOOL)openDoc :(BOOL)chkExtn;
- cellBecameSelected:imageCell;
- cellResignedSelected:imageCell;

// icon dragging delegate support
- _registerWindow;
- _unregisterWindow;

@end

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