ProjectManager  0.2
Instance Methods | Class Methods | List of all members
<ProjectType> Protocol Reference

This protocol is adopted by project type support objects. More...

#import <ProjectType.h>

Inheritance diagram for <ProjectType>:
AggregateProjectType ApplicationProjectType BundleProjectType FrameworkProjectType PaletteProjectType

Instance Methods

(id) - initWithDocument:infoDictionary:projectModules:
 Designated initializer. More...
 
(NSDictionary *) - infoDictionary
 Should return the project's info dictionary which is suitable for being written into the project file when saving. More...
 
(BOOL) - regenerateDerivedFiles
 Instructs the project to regenerate any of it's derived files, if necessary. More...
 
(NSString *) - pathToSubprojectsDirectory
 In case the project type supports subprojects, this method should return a path to a directory where subprojects of the project can be stored. More...
 

Class Methods

(NSString *) + projectTypeID
 Should return the project type ID.
 
(NSString *) + humanReadableProjectTypeName
 Should return a human-readable, perhaps localized descriptive name of the project type.
 
(NSString *) + projectTypeDescription
 Should return a more detailed description of the project type.
 
(NSImage *) + projectTypeIcon
 Should return an icon of the project type (max 48x48 pixels).
 
(NSArray *) + projectModules
 Should return an OR'ed set of project capabilities provided by this project type.
 
(NSDictionary *) + projectTemplateDescriptions
 The project type should return a dictionary where keys are project template names and values are descriptions of the templates.
 
(NSString *) + pathToProjectTemplate:
 The receiver should return the path to the location of the project template named ‘templateName’.
 

Detailed Description

This protocol is adopted by project type support objects.

Each project has a 'type' which is represented by it's projectType object. This object defines what kind of file categories exist in the project, how to construct the makefile and a bunch of other things.

Method Documentation

◆ infoDictionary

- (NSDictionary *) infoDictionary

Should return the project's info dictionary which is suitable for being written into the project file when saving.

Returns
The project type's private information dictionary.

◆ initWithDocument:infoDictionary:projectModules:

- (id) initWithDocument: (ProjectDocument *)  aProject
infoDictionary: (NSDictionary *)  infoDict
projectModules: (NSArray *)  modules 

Designated initializer.

This message is sent to a project type object when it is initialized.

Parameters
aProjectThe project which owns the project type. The project type should establish a weak-reference to the project, since the project retains the project type object and a retain cycle would result.
infoDictThe project type's saved private info dictionary.
modulesThe project's modules.
See also
[ProjectType - infoDictionary]

◆ pathToSubprojectsDirectory

- (NSString *) pathToSubprojectsDirectory

In case the project type supports subprojects, this method should return a path to a directory where subprojects of the project can be stored.

Returns
A path to the project's subproject directory.

◆ regenerateDerivedFiles

- (BOOL) regenerateDerivedFiles

Instructs the project to regenerate any of it's derived files, if necessary.

This step invoked in situations such as the following:

  • a project is opened
  • a project is saved
Returns
YES if regenerating derived files succeeded, NO if it didn't.

The documentation for this protocol was generated from the following file: