24#import <Foundation/NSObject.h>
25#import <AppKit/NSMenu.h>
29extern NSString *
const CurrentProjectModuleDidChangeNotification;
44@protocol ProjectModule <NSObject, NSMenuValidation>
51+ (NSString *) humanReadableModuleName;
57 infoDictionary: (NSDictionary *) infoDict;
122- (NSToolbarItem *) toolbarItemForItemIdentifier: (NSString *) itemIdentifier;
128- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem;
132static inline NSMenuItem *
133PMMakeMenuItem (NSString * title,
SEL action, NSString * keyEquivalent,
139 initWithTitle: title action: action keyEquivalent: keyEquivalent]
141 [
item setTarget: target];
This class is the principal document class for project files.
Definition ProjectDocument.h:44
This protocol declares methods which project modules must implement.
Definition ProjectModule.h:44
NSArray * moduleMenuItems()
Should return an array of NSMenuItem's which will be put into the module's submenu.
NSDictionary * infoDictionary()
Instructs the project module to return an archivable version of it's data that it wishes to be saved ...
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...
NSArray * toolbarItemIdentifiers()
A module should return the default toolbar item identifiers for it's toolbar.
NSString * moduleName()
Should return a unique module identifier name.
BOOL regenerateDerivedFiles()
Sent to the project module when it is to regenerate it's derived files which are generated from other...
void finishInit()
Finishes the initialization process of the project module.