ftp.nice.ch/pub/next/tools/dock/Locus.1.0.NI.bs.tar.gz#/Locus/Source/Group.h

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

/*
	Copyright 1993  Jeremy Slade.  All rights reserved.
*/

/*
	Project: Locus
	
	Class: Group
	
	Description:
	[ FULL DESCRIPTION ]
	
	Original Author: Jeremy Slade
	
	Revision History:
		Created
			V.101	JGS Mon Feb  8 22:09:29 GMT-0700 1993

*/


#ifndef Group_h
#define Group_h

#define Group_VERSION	(101)


#import <objc/List.h>
#import <ctype.h> // For isDigit()
#import "Folder.h"
#import "ItemCell.h"


// Legal keys for keyEquivalent ----------------------------------------------
// Right now, commandKey: events are automatically sent to
// the KeyWindow, and then to the MainWindow, before being
// processed by everything else, such as the menus.  So, all keys
// are valid key equivalents
#define isGoodKeyEq(c)	(isgraph(c)) // All printing chars, including space


@interface Group : List
{
	char	*groupName;
	int tag;	// Unique ident within a folder -- Assigned by folder
	unsigned short	keyEquivalent;

	DrawInfo drawInfo;

	BOOL isChanged;
	BOOL needsSort;
	BOOL restrictTypes;
	BOOL sortItems;
	
	id	typesList; // AtomList of allowed file types for this group
	
	id	dynamicItemSpecs; // List of the DynamicItemSpecs
	float dynamicUpdateInterval; // Interval between dynamic updates (in secs)
	DPSTimedEntry updateTE;	// TimedEntry for performing updates
	
	char *filter;	// Display filter epxression -- currently unused
	char *defaultPath;	// Default Path this group is associated with
	
	id	folder;

}

// Creating, initializing methods
+ initialize;
+ new;
- init;
- initCount:(unsigned int)numSlots;
- free;

// Naming Group
- setGroupName:(const char *)aString;
- (const char *)groupName;

// Group tag
- setTag:(int)aTag;
- (int)tag;

// Setting general attributes
- setKeyEquivalent:(unsigned short)charCode;
- setDefaultPath:(const char *)fullpath;
- setSortItems:(BOOL)flag;
- (unsigned short)keyEquivalent;
- (const char *)defaultPath;
- (BOOL)doesSortItems;

// Setting Drawing attributes
- setDrawMode:(int)aMode;
- (int)drawMode;
- setDrawActualImage:(BOOL)flag;
- (BOOL)doesDrawActualImage;
- setDrawTriDots:(BOOL)flag;
- (BOOL)doesDrawTriDots;
- setDrawInfoLine1:(BOOL)flag;
- (BOOL)doesDrawInfoLine1;
- setDrawInfoLine2:(BOOL)flag;
- (BOOL)doesDrawInfoLine2;
- setLBNameMode:(int)mode;
- (int)lbNameMode;
- setDrawSmallIcons:(BOOL)flag;
- (BOOL)doesDrawSmallIcons;
- setSBNameMode:(int)mode;
- (int)sbNameMode;
- setLIDrawName:(BOOL)flag;
- (BOOL)liDoesDrawName;
- setSIDrawName:(BOOL)flag;
- (BOOL)siDoesDrawName;
- getDrawInfo:(DrawInfo *)info;

// Allowed File Types
- addAllowedType:(const char *)anExt;
- removeAllowedType:(const char *)anExt;
- setRestrictTypes:(BOOL)flag;
- (const char **)allowedTypes;
- (BOOL)doesRestrictTypes;
- (BOOL)isAllowedType:(const char *)path;

// Adding items
- addItem:(const char *)path;
- (BOOL)itemExists:(const char *)path;
- itemMatching:(const char *)path;
- cleanUp:sender;

// Sorting Items
- sortItems;
- explicitSortItems:sender;

// Making selection
- selectItem:sender;
- selectAll:sender;
- selection;
- selectionList;
- (int)selectionCount;

// Acting on items
- launchSelectedItems:sender;
- removeSelectedItems:sender;
- copyItemToPboard:sender;	

// Folder
- setFolder:aFolder;
- folder;
- setChanged:(BOOL)flag;
- (BOOL)isChanged;
- setNeedsShow:(BOOL)flag;
- (BOOL)needsShow;

// Archiving
- awake;
- read:(NXTypedStream *)stream;
- write:(NXTypedStream *)stream;
- writeSelf;
- (const char *)getGroupFilename;

@end

#endif // Group_h

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