ProjectManager  0.2
ApplicationGeneralAttributes.h
1 /*
2  ApplicationGeneralAttributes.h
3 
4  Interface declaration of the ApplicationGeneralAttributes class for
5  the ProjectManager application.
6 
7  Copyright (C) 2005, 2006 Saso Kiselkov
8 
9  This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 */
23 
24 #import <Foundation/NSObject.h>
25 
27 
28 @class NSView;
29 
30 @class NSTableView,
31  NSTableColumn,
32  NSNotification;
33 
34 @interface ApplicationGeneralAttributes : NSObject
35 {
36  // weak reference
37  ApplicationProjectType * owner;
38 
39  id appName;
40  id authors;
41  id bogusWindow;
42  id copyright;
43  id copyrightDescription;
44  id description;
45  id iconFilename;
46  id mainNibFile;
47  id view;
48  id principalClass;
49  id release;
50 }
51 
52 - initWithOwner: (ApplicationProjectType *) anOwner;
53 
54 - (void) addAuthor: (id)sender;
55 - (void) moveAuthorUp: (id)sender;
56 - (void) moveAuthorDown: (id)sender;
57 - (void) removeAuthor: (id)sender;
58 
59 - (void) controlTextDidEndEditing: (NSNotification *)aNotification;
60 
61 - (NSView *) view;
62 
63 - (int) numberOfRowsInTableView: (NSTableView *)aTableView;
64 - (id) tableView: (NSTableView *)aTableView
65 objectValueForTableColumn: (NSTableColumn *)aTableColumn
66  row: (int)rowIndex;
67 - (void) tableView: (NSTableView *)aTableView
68  setObjectValue: (id)anObject
69  forTableColumn: (NSTableColumn *)aTableColumn
70  row: (int)rowIndex;
71 
72 @end
+[ProjectType-p projectTypeID]
NSString * projectTypeID()
Should return the project type ID.
AggregateProjectType(Private)
Definition: AggregateProjectType.m:74
ProjectDocument
Definition: ProjectDocument.h:43
AggregateProjectType
Definition: AggregateProjectType.h:40
+[ProjectType-p projectTypeDescription]
NSString * projectTypeDescription()
Should return a more detailed description of the project type.
+[ProjectType-p projectTemplateDescriptions]
NSDictionary * projectTemplateDescriptions()
The project type should return a dictionary where keys are project template names and values are desc...
-[ProjectType-p infoDictionary]
NSDictionary * infoDictionary()
Should return the project's info dictionary which is suitable for being written into the project file...
+[ProjectType-p projectTypeIcon]
NSImage * projectTypeIcon()
Should return an icon of the project type (max 48x48 pixels).
SubprojectsManager::subprojectNames
NSMutableArray * subprojectNames
Returns absolute paths to all subprojects.
Definition: SubprojectsManager.h:70
+[ProjectType-p humanReadableProjectTypeName]
NSString * humanReadableProjectTypeName()
Should return a human-readable, perhaps localized descriptive name of the project type.
-[ProjectType-p regenerateDerivedFiles]
BOOL regenerateDerivedFiles()
Instructs the project to regenerate any of it's derived files, if necessary.
+[ProjectType-p projectModules]
NSArray * projectModules()
Should return an OR'ed set of project capabilities provided by this project type.
ApplicationProjectType
Definition: ApplicationProjectType.h:47
SubprojectsManager
This class is a manager of subprojects for a project.
Definition: SubprojectsManager.h:38
-[AggregateProjectType(Private) prepareMakefile]
BOOL prepareMakefile()
Prepares the project's makefile.
Definition: AggregateProjectType.m:85
ApplicationGeneralAttributes
Definition: ApplicationGeneralAttributes.h:34
-[SubprojectsManagerDelegate-p pathToSubprojectsDirectory]
NSString * pathToSubprojectsDirectory()
Asks the delegate to return an absolute path to the directory where the subprojects are to be stored.