ProjectManager 0.2
ApplicationProjectType.h
1/*
2 ApplicationProjectType.h
3
4 Interface declaration of the ApplicationProjectType class for the
5 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#import "../../ProjectType.h"
26
27#import "../../ProjectModules/MakeBuilder/MakeBuilderDelegate.h"
28#import "../../ProjectModules/GNUstepAppLauncher/GNUstepAppLauncherDelegate.h"
29#import "../../ProjectModules/FileManager/FileManagerDelegate.h"
30#import "../../ProjectModules/ProjectAttributes/ProjectAttributesDelegate.h"
31#import "../../ProjectModules/SubprojectsManager/SubprojectsManagerDelegate.h"
32
33@class NSString,
34 NSDictionary,
35 NSArray,
36 NSMutableArray,
37 NSNotification;
38
39@class ProjectDocument,
43
46
47@interface ApplicationProjectType : NSObject <ProjectType,
53{
54 // weak reference
55 ProjectDocument * owner;
56
57 NSString * appName;
58 NSString * mainNibFile;
59 NSString * principalClass;
60 NSArray * authors;
61 NSString * appRelease;
62 NSString * appDescription;
63 NSString * copyright;
64 NSString * copyrightDescription;
65 NSString * iconName;
66
67 NSMutableArray * types;
68
69 ApplicationGeneralAttributes * generalAttributes;
70 ApplicationTypeAttributes * typeAttributes;
71
72 FileManager * fileManager;
73 MakeBuilder * builder;
74 GNUstepAppLauncher * launcher;
75
76 // YES while we're delaying a launch until a build is complete, NO
77 // in the case of a normal build
78 BOOL waitingForBuildCompletion;
79
80 unsigned int oldMakeHash;
81}
82
83- (void) setApplicationName: (NSString *) aName;
84- (NSString *) applicationName;
85
86- (void) setMainNibFile: (NSString *) aFile;
87- (NSString *) mainNibFile;
88
89- (void) setPrincipalClass: (NSString *) aClass;
90- (NSString *) principalClass;
91
92- (void) setAuthors: (NSArray *) anArray;
93- (NSArray *) authors;
94
95- (void) setApplicationRelease: (NSString *) aRelease;
96- (NSString *) applicationRelease;
97
98- (void) setApplicationDescription: (NSString *) aDescription;
99- (NSString *) applicationDescription;
100
101- (void) setCopyright: (NSString *) aCopyright;
102- (NSString *) copyright;
103
104- (void) setCopyrightDescription: (NSString *) aCopyrightDescription;
105- (NSString *) copyrightDescription;
106
107- (void) setIconName: (NSString *) iconName;
108- (NSString *) iconName;
109
110- (void) buildEnded: (NSNotification *) notif;
111
112@end
Definition ApplicationGeneralAttributes.h:35
Definition ApplicationProjectType.h:54
Definition ApplicationTypeAttributes.h:30
Definition FileManager.h:94
Definition GNUstepAppLauncher.h:50
Definition MakeBuilder.h:93
This class is the principal document class for project files.
Definition ProjectDocument.h:44
This protocol declares what methods should be implemented by a FileManager delegate object.
Definition FileManagerDelegate.h:43
Definition GNUstepAppLauncherDelegate.h:28
Definition MakeBuilderDelegate.h:25
Definition ProjectAttributesDelegate.h:30
This protocol is adopted by project type support objects.
Definition ProjectType.h:40
Definition SubprojectsManagerDelegate.h:30