24 #import <Foundation/NSObject.h>
25 #import <AppKit/NSMenu.h>
29 extern NSString *
const CurrentProjectModuleDidChangeNotification;
51 + (NSString *) humanReadableModuleName;
57 infoDictionary: (NSDictionary *) infoDict;
122 - (NSToolbarItem *) toolbarItemForItemIdentifier: (NSString *) itemIdentifier;
128 - (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem;
132 static inline NSMenuItem *
133 PMMakeMenuItem (NSString * title,
SEL action, NSString * keyEquivalent,
138 item = [[[NSMenuItem alloc]
139 initWithTitle: title action: action keyEquivalent: keyEquivalent]
141 [item setTarget: target];
Definition: ProjectWindowController.h:39
void setCurrentModule:(id< ProjectModule > aModule)
Sets the current module displayed in the receiver's project window.
Definition: ProjectWindowController.m:167
id shared()
Returns a shared instance of a ProjectModuleLoader.
Definition: ProjectModuleLoader.m:38
Definition: ProjectTypeLoader.h:31
id< ProjectType > projectType
Returns the project type object associated currently with the project.
Definition: ProjectDocument.h:48
Definition: ProjectDocument.h:43
BOOL regenerateDerivedFiles()
Sent to the project module when it is to regenerate it's derived files which are generated from other...
id< ProjectModule > projectModuleForModuleName:project:infoDictionary:(NSString *projectModuleName,[project] ProjectDocument *project,[infoDictionary] NSDictionary *infoDict)
Initializes a project type of type ‘projectTypeID’ for a project named ‘projectName’,...
Definition: ProjectModuleLoader.m:93
NSDictionary * infoDictionary()
Instructs the project module to return an archivable version of it's data that it wishes to be saved ...
Definition: ProjectDocument.m:164
Definition: SourceEditorDocument.h:35
NSArray * moduleMenuItems()
Should return an array of NSMenuItem's which will be put into the module's submenu.
This protocol declares methods which project modules must implement.
Definition: ProjectModule.h:44
NSDictionary * getProjectModulesData()
Queries all project modules for their data dictionaries and returns them all in one aggregate diction...
Definition: ProjectDocument.m:742
NSArray * moduleMenuEntries
An array of menu items of project modules which are to appear in the Modules menu.
Definition: ProjectDocument.h:56
id< ProjectModule > currentProjectModule()
Returns the currently displayed project module.
Definition: ProjectDocument.m:571
NSString * projectDirectory
Returns a path to where the project's directory is located.
Definition: ProjectDocument.h:45
NSObject< ProjectModule > * currentModule
Returns the currently visible project module.
Definition: ProjectWindowController.h:44
NSArray * projectMenuEntries()
This message is sent to the receiver by the app delegate when the receiver becomes the currently acti...
Definition: ProjectDocument.m:417
ProjectDocument * document()
Should return the owner project document to which this project module belongs to.
void finishInit()
Finishes the initialization process of the project module.
Definition: ProjectModuleLoader.h:31
NSString * projectTypeID
Returns the type ID of the project's project type.
Definition: ProjectDocument.h:47
NSArray * projectModules
Returns the project modules of the receiver.
Definition: ProjectDocument.h:50
void logMessage:(NSString *aMessage)
Appends a message to the project log.
Definition: ProjectWindowController.m:379
id shared()
Returns a shared instance of a ProjectTypeLoader.
Definition: ProjectTypeLoader.m:38
NSView * view()
Instructs the project module to return a view which will be put into the project's window this module...
NSString * moduleName()
Should return a unique module identifier name.
NSArray * toolbarItemIdentifiers()
A module should return the default toolbar item identifiers for it's toolbar.
This protocol is adopted by project type support objects.
Definition: ProjectType.h:40
NSString * projectName
Returns the abstract project name.
Definition: ProjectDocument.h:46