1 /* 2 GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html 3 4 Copyright (C) 2001 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 _PCMENUCONTROLLER_H 24 #define _PCMENUCONTROLLER_H 25 26 #import <AppKit/AppKit.h> 27 28 @class PCProjectManager; 29 @class PCFileManager; 30 @class PCAppController; 31 32 @interface PCMenuController : NSObject 33 { 34 PCProjectManager *projectManager; 35 PCAppController *appController; 36 37 BOOL editorIsActive; 38 } 39 40 //============================================================================ 41 //==== Init and free 42 //============================================================================ 43 44 - (id)init; 45 - (void)dealloc; 46 47 - (void)setAppController:(id)anObject; 48 - (void)setProjectManager:(id)anObject; 49 50 //============================================================================ 51 //==== Menu stuff 52 //============================================================================ 53 54 // Info 55 - (void)showInfoPanel:(id)sender; 56 - (void)showPrefWindow:(id)sender; 57 - (void)showLogPanel:(id)sender; 58 59 // Project 60 - (void)projectOpen:(id)sender; 61 - (void)projectNew:(id)sender; 62 - (void)projectSave:(id)sender; 63 - (void)projectAddFiles:(id)sender; 64 - (void)projectSaveFiles:(id)sender; 65 - (void)projectRemoveFiles:(id)sender; 66 - (void)projectClose:(id)sender; 67 68 // Subproject 69 - (void)subprojectNew:(id)sender; 70 - (void)subprojectAdd:(id)sender; 71 72 // File 73 - (void)fileNew:(id)sender; 74 - (void)fileOpen:(id)sender; 75 - (void)fileSave:(id)sender; 76 - (void)fileSaveAs:(id)sender; 77 - (void)fileSaveTo:(id)sender; 78 - (void)fileRevertToSaved:(id)sender; 79 - (void)fileClose:(id)sender; 80 - (void)fileOpenQuickly:(id)sender; 81 - (void)fileRename:(id)sender; 82 - (void)fileNewUntitled:(id)sender; 83 84 // Tools 85 - (void)showInspector:(id)sender; 86 - (void)showEditorPanel:(id)sender; 87 // Project Build 88 - (void)showBuildPanel:(id)sender; 89 - (void)executeBuild:(id)sender; 90 - (void)stopBuild:(id)sender; 91 - (void)startClean:(id)sender; 92 // Loaded Files 93 - (void)showLoadedFilesPanel:(id)sender; 94 - (void)loadedFilesSortByTime:(id)sender; 95 - (void)loadedFilesSortByName:(id)sender; 96 - (void)loadedFilesNextFile:(id)sender; 97 - (void)loadedFilesPreviousFile:(id)sender; 98 // Launcher 99 - (void)showLaunchPanel:(id)sender; 100 - (void)runTarget:(id)sender; 101 - (void)debugTarget:(id)sender; 102 103 //============================================================================ 104 //==== Delegate stuff 105 //============================================================================ 106 107 - (BOOL)validateMenuItem:(id <NSMenuItem>)menuItem; 108 109 - (void)editorDidBecomeActive:(NSNotification *)aNotif; 110 - (void)editorDidResignActive:(NSNotification *)aNotif; 111 112 @end 113 114 #endif 115 116