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

This is FolderController.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: FolderController
	
	Description:
	
	The FolderController class is responsible for keeping tracking of and managing all open Folders.  It also provides the channel through which actions are directed to the Folders.  This means that all(most) menu items are connected to the FolderController, and it is responsible for forwarding these messages to the proper Folder -- in most cases the Key Folder.
	
	Original Author: Jeremy Slade
	
	Revision History:
		Created
			V.101	JGS Tue Feb  2 19:28:05 GMT-0700 1993
*/


#ifndef FolderController_h
#define FolderController_h

#define FolderController_VERSION	(101)

#import <objc/Object.h>
#import <appkit/graphics.h>
#import "Dragging.h"
#import "Folder.h"


@interface FolderController : Object
	< DragDelegate >
{
	BOOL isSetup;
	
	id	folderList;
	Folder	*keyFolder;
	id	itemPboard;

	id	menu_SaveFolder;
	id	menu_SaveFolderAs;
	id	menu_SaveAll;
	id	menu_RevertFolder;
	id	menu_NewGroup;
	id	menu_DeleteGroup;
	id	menu_LaunchGroup;
	id	menu_SortGroup;
	id	menu_CleanGroup;
	id	menu_DynamicUpdate;
	id	menu_AddItem;
	id	menu_LaunchItem;
	id	menu_DeleteItem;
	id	menu_HideOnDeactivate;
	
	id	dragDest;
}

// Creating, initializing
+ initialize;
- init;
- free;

// Activating
- setup;
- (BOOL)cleanup;
- active:sender;
- inactive:sender;
- doAutoLaunch:sender;

// File operations
- (const char *)resolvePathForFolder:(const char *)path;
- (const char *)relativePathForFolder:(const char *)path;
- readFolderFromPath:(const char *)path;
- writeFolder:aFolder;
- openFolder:(const char *)path;
- openFolderFromOpenPanel:sender;
- newFolder:sender;
- saveKeyFolder:sender;
- saveKeyFolderAs:sender;
- saveAllFolders:sender;
- revertKeyFolder:sender;

// Folders
- keyFolder;
- (BOOL)addFolder:aFolder;
- saveFolder:aFolder;
- saveFolderAs:aFolder;
- removeFolder:aFolder;
- replaceFolder:aFolder with:newFolder;
- makeKeyFolder:sender;
- folderWithFilename:(const char *)path;
- folderWithViewerNum:(int)winNum;
- (BOOL)folderLoaded:(const char *)path;

// Groups
- newGroup:sender;
- deleteCurrentGroup:sender;
- launchCurrentGroup:sender;
- explicitSortItems:sender;
- cleanUpCurrentGroup:sender;
- dynamicUpdateCurrentGroup:sender;

// Items
- runAddPanel:sender;
- launchItems:sender;
- removeItems:sender;

// Edit methods
- cut:sender;
- copy:sender;
- paste:sender;
- selectAll:sender;

// Tools
- showInspector:sender;
- toggleHideOnDeactivate:sender;

// DragDelegate Protocol
- setDragDest:object;
- dragDest;
- (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
- (NXDragOperation)draggingUpdated:(id <NXDraggingInfo>)sender;
- draggingExited:(id <NXDraggingInfo>)sender;
- (BOOL)prepareForDragOperation:(id <NXDraggingInfo>)sender;
- (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
- concludeDragOperation:(id <NXDraggingInfo>)sender;

// Misc
- updateMenu:sender;
- updateDisplay;
- updateDisplay:sender;

@end

#endif // FolderController_h

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