1 /*
2    GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
3 
4    Copyright (C) 2001-2012 Free Software Foundation
5 
6    This file is part of GNUstep.
7 
8    This application is free software; you can redistribute it and/or
9    modify it under the terms of the GNU General Public
10    License as published by the Free Software Foundation; either
11    version 2 of the License, or (at your option) any later version.
12 
13    This application is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16    Library General Public License for more details.
17 
18    You should have received a copy of the GNU General Public
19    License along with this library; if not, write to the Free
20    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
21 */
22 
23 #ifndef _PCAPPCONTROLLER_H
24 #define _PCAPPCONTROLLER_H
25 
26 #import <AppKit/AppKit.h>
27 
28 @class PCProjectManager;
29 @class PCFileManager;
30 @class PCMenuController;
31 @class PCInfoController;
32 @class PCPrefController;
33 @class PCLogController;
34 
35 @interface PCAppController : NSObject
36 {
37   PCProjectManager *projectManager;
38   PCMenuController *menuController;
39 
40   PCInfoController *infoController;
41   PCPrefController *prefController;
42   PCLogController  *logController;
43 
44   NSConnection     *doConnection;
45 }
46 
47 //============================================================================
48 //==== Intialization & deallocation
49 //============================================================================
50 
51 + (void)initialize;
52 
53 - (id)init;
54 - (void)dealloc;
55 
56 //============================================================================
57 //==== Accessory methods
58 //============================================================================
59 
60 - (PCProjectManager *)projectManager;
61 - (PCMenuController *)menuController;
62 - (PCInfoController *)infoController;
63 - (PCPrefController *)prefController;
64 - (PCLogController *)logController;
65 
66 //============================================================================
67 //==== Application
68 //============================================================================
69 
70 - (BOOL)application:(NSApplication *)application openFile:(NSString *)fileName;
71 
72 - (void)applicationWillFinishLaunching:(NSNotification *)notification;
73 - (void)applicationDidFinishLaunching:(NSNotification *)notification;
74 
75 - (NSApplicationTerminateReply)applicationShouldTerminate:(id)sender;
76 - (void)applicationWillTerminate:(NSNotification *)notification;
77 
78 @end
79 
80 #endif
81