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

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

/*
	Copyright 1993  Jeremy Slade.

	You are free to use all or any parts of the Locus project
	however you wish, just give credit where credit is due.
	The author (Jeremy Slade) shall not be held responsible
	for any damages that result out of use or misuse of any
	part of this project.

*/

/*
	Project: Locus
	
	Class: Folder
	
	Description:
	
	Folder is a subclass if List, and its function is simply to manage that groups that it contains, and to provide the means to display them.  The displaying is done through the use of the FolderViewer class, which displays the group that is currently selected in its browser.  The Folder keeps track of the size and location of the screen, and the selected group so that these attributes will be restored when the Folder is opened again.

	Original Author: Jeremy Slade
	
	Revision History:
		Created
			V.101	JGS Wed Feb  3 23:26:29 GMT-0700 1993

*/


#ifndef Folder_h
#define Folder_h

#define Folder_VERSION	(101)


#import <objc/List.h>
#import <appkit/graphics.h>
#import <dpsclient/dpsclient.h>
#import "FolderViewer.h"
#import "Group.h"


@interface Folder : List
{
	id	currentGroup;
	int	currentGroupTag;
	char	*filename;
	
	id	viewer;
	unsigned int viewerNum;	
	NXRect	frameRect;	// Frame of the viewer
	
	struct _folderFlags {
		unsigned	isChanged:1;
		unsigned	needsLoadBrowser:1;
		unsigned	needsSort:1;
		unsigned	removedGroup:1;
		unsigned	replaceGroups:1;
		unsigned	orderedGroups:1;
		unsigned	needsShow:1;
		unsigned	autoDisplay:1;
	} fFlags;

	id changedGroups;
	
}

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

// Filename
- (const char *)filename;
- setFilename:(const char *)path;

// Folder Info
- readInfo;
- writeInfo;

// Displaying
- becomeKeyFolder;
- resignKeyFolder;
- setNeedsShow:(BOOL)flag;
- (BOOL)needsShow;
- setAutoDisplay:(BOOL)flag;
- (BOOL)isAutoDisplay;
- showSelf:sender;
- obtainViewer:newViewer;
- releaseViewer;
- setViewerFrame:(const NXRect *)newFrame;
- viewer;
- (int)viewerNum;
- updateInspector:sender;

// Change flag
- groupChanged:aGroup;
- groupRemoved;
- groupSaved:aGroup;
- (BOOL)isChanged;
- (BOOL)needsLoadBrowser;
- setChanged:(BOOL)flag;
- setNeedsLoadBrowser:(BOOL)flag;
- replaceAllGroups;

// Groups
- readGroups;
- writeGroups;
- (int)tagFor:group;
- groupWithTag:(int)tag;
- groupMenu;
- currentGroup;
- newGroup:sender;
- deleteCurrentGroup:sender;
- launchCurrentGroup:sender;
- cleanUpCurrentGroup:sender;
- groupCalled:(const char *)groupName;
- (BOOL)groupExists:(const char *)groupName;
- renameGroup:aGroup to:(const char *)aString;
- selectGroupFromMenu:sender;
- makeCurrentGroup:sender;
- sortGroups;

// Responding to key events
- keyDown:(NXEvent *)event;

@end

#endif // Folder_h

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