ProjectManager 0.2
<ProjectType> Protocol Reference

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

#include <ProjectType.h>

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

Instance Methods

(id) - initWithDocument:infoDictionary:projectModules:
 Designated initializer.
 
(NSDictionary *) - infoDictionary
 Should return the project's info dictionary which is suitable for being written into the project file when saving.
 
(BOOL) - regenerateDerivedFiles
 Instructs the project to regenerate any of it's derived files, if necessary.
 
(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.
 

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.

References infoDictionary.

Referenced by infoDictionary.

◆ 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.

References pathToSubprojectsDirectory.

Referenced by pathToSubprojectsDirectory.

◆ 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.

References regenerateDerivedFiles.

Referenced by regenerateDerivedFiles.


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