ProjectManager
0.2
|
00001 /* 00002 ApplicationProjectType.h 00003 00004 Interface declaration of the ApplicationProjectType class for the 00005 ProjectManager application. 00006 00007 Copyright (C) 2005, 2006 Saso Kiselkov 00008 00009 This program is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation; either version 2 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU General Public License for more details. 00018 00019 You should have received a copy of the GNU General Public License 00020 along with this program; if not, write to the Free Software 00021 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 00022 */ 00023 00024 #import <Foundation/NSObject.h> 00025 #import "../../ProjectType.h" 00026 00027 #import "../../ProjectModules/MakeBuilder/MakeBuilderDelegate.h" 00028 #import "../../ProjectModules/GNUstepAppLauncher/GNUstepAppLauncherDelegate.h" 00029 #import "../../ProjectModules/FileManager/FileManagerDelegate.h" 00030 #import "../../ProjectModules/ProjectAttributes/ProjectAttributesDelegate.h" 00031 #import "../../ProjectModules/SubprojectsManager/SubprojectsManagerDelegate.h" 00032 00033 @class NSString, 00034 NSDictionary, 00035 NSArray, 00036 NSMutableArray, 00037 NSNotification; 00038 00039 @class ProjectDocument, 00040 FileManager, 00041 MakeBuilder, 00042 GNUstepAppLauncher; 00043 00044 @class ApplicationGeneralAttributes, 00045 ApplicationTypeAttributes; 00046 00047 @interface ApplicationProjectType : NSObject <ProjectType, 00048 ProjectAttributesDelegate, 00049 FileManagerDelegate, 00050 MakeBuilderDelegate, 00051 GNUstepAppLauncherDelegate, 00052 SubprojectsManagerDelegate> 00053 { 00054 // weak reference 00055 ProjectDocument * owner; 00056 00057 NSString * appName; 00058 NSString * mainNibFile; 00059 NSString * principalClass; 00060 NSArray * authors; 00061 NSString * appRelease; 00062 NSString * appDescription; 00063 NSString * copyright; 00064 NSString * copyrightDescription; 00065 NSString * iconName; 00066 00067 NSMutableArray * types; 00068 00069 ApplicationGeneralAttributes * generalAttributes; 00070 ApplicationTypeAttributes * typeAttributes; 00071 00072 FileManager * fileManager; 00073 MakeBuilder * builder; 00074 GNUstepAppLauncher * launcher; 00075 00076 // YES while we're delaying a launch until a build is complete, NO 00077 // in the case of a normal build 00078 BOOL waitingForBuildCompletion; 00079 00080 unsigned int oldMakeHash; 00081 } 00082 00083 - (void) setApplicationName: (NSString *) aName; 00084 - (NSString *) applicationName; 00085 00086 - (void) setMainNibFile: (NSString *) aFile; 00087 - (NSString *) mainNibFile; 00088 00089 - (void) setPrincipalClass: (NSString *) aClass; 00090 - (NSString *) principalClass; 00091 00092 - (void) setAuthors: (NSArray *) anArray; 00093 - (NSArray *) authors; 00094 00095 - (void) setApplicationRelease: (NSString *) aRelease; 00096 - (NSString *) applicationRelease; 00097 00098 - (void) setApplicationDescription: (NSString *) aDescription; 00099 - (NSString *) applicationDescription; 00100 00101 - (void) setCopyright: (NSString *) aCopyright; 00102 - (NSString *) copyright; 00103 00104 - (void) setCopyrightDescription: (NSString *) aCopyrightDescription; 00105 - (NSString *) copyrightDescription; 00106 00107 - (void) setIconName: (NSString *) iconName; 00108 - (NSString *) iconName; 00109 00110 - (void) buildEnded: (NSNotification *) notif; 00111 00112 @end