ProjectManager  0.2
Instance Methods | Protected Attributes | List of all members
SubprojectsManager Class Reference

This class is a manager of subprojects for a project. More...

Inheritance diagram for SubprojectsManager:
<ProjectModule>

Instance Methods

(NSArray *) - subprojectNames
 
(id) - outlineView:child:ofItem:
 
(BOOL) - outlineView:isItemExpandable:
 
(int) - outlineView:numberOfChildrenOfItem:
 
(id) - outlineView:objectValueForTableColumn:byItem:
 
(void) - outlineView:setObjectValue:forTableColumn:byItem:
 
(BOOL) - fileManager:shouldProceedAfterError:
 
(void) - fileManager:willProcessPath:
 
(void) - newSubprojectAction:
 
(void) - addSubprojectAction:
 
(void) - removeSubprojectAction:
 
(void) - openSubprojectAction:
 
(void) - newSubprojectCategoryAction:
 
(void) - removeSubprojectCategoryAction:
 
- Instance Methods inherited from <ProjectModule>
(id) - initWithDocument:infoDictionary:
 Designated initializer of project modules.
 
(void) - finishInit
 Finishes the initialization process of the project module. More...
 
(ProjectDocument *) - document
 Should return the owner project document to which this project module belongs to.
 
(NSView *) - view
 Instructs the project module to return a view which will be put into the project's window this module becomes the current module.
 
(NSDictionary *) - infoDictionary
 Instructs the project module to return an archivable version of it's data that it wishes to be saved together with the project. More...
 
(BOOL) - regenerateDerivedFiles
 Sent to the project module when it is to regenerate it's derived files which are generated from other files/data in the project itself. More...
 
(NSArray *) - moduleMenuItems
 Should return an array of NSMenuItem's which will be put into the module's submenu.
 
(NSArray *) - toolbarItemIdentifiers
 A module should return the default toolbar item identifiers for it's toolbar. More...
 
(NSToolbarItem *) - toolbarItemForItemIdentifier:
 This method asks the module to create a toolbar item for the provided itemIdentifier. More...
 
(BOOL) - validateToolbarItem:
 This method is invoked when the project type object is required to validate it's toolbar items.
 

Protected Attributes

ProjectDocumentdocument
 
id< SubprojectsManagerDelegatedelegate
 
id bogusWindow
 
id view
 
id outline
 
NSMutableArray * subprojects
 This array contains the subprojects hierarchy. More...
 
NSMutableArray * subprojectNames
 Returns absolute paths to all subprojects.
 
NSDictionary * fileOpErrorDict
 

Additional Inherited Members

- Class Methods inherited from <ProjectModule>
(NSString *) + moduleName
 Should return a unique module identifier name.
 
(NSString *) + humanReadableModuleName
 

Detailed Description

This class is a manager of subprojects for a project.

It simply identifies subprojects by name and path where they live and handles adding, removing and opening them. It also provides the user with the possibility to organize subprojects into "subproject categories".

It's delegate must conform to the SubprojectsManagerDelegate protocol, in order to tell it where to put the subprojects it manages.

Member Data Documentation

◆ subprojects

- (NSMutableArray*) subprojects
protected

This array contains the subprojects hierarchy.

It's contents are NSDictionary's of the following structure:

{ Type = "Category"; Name = "<subcategory-name>"; Contents = ( contents-array ); }

if the entry is a subcategory of subprojects, or:

{ Type = "Subproject"; Name = "<subproject-name>"; ProjectFile = "<subproject-project-file-name>"; }

if the entry is a subproject.


The documentation for this class was generated from the following files: