ProjectManager
0.2
|
00001 /* 00002 ProjectWindowController.h 00003 00004 Interface declaration of the ProjectWindowController 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 <AppKit/NSWindowController.h> 00025 #import <AppKit/NSMenu.h> 00026 00027 @class NSArray, 00028 NSBox, 00029 NSMutableDictionary, 00030 NSNotification, 00031 NSPopUpButton, 00032 NSString, 00033 NSTextView, 00034 NSToolbar, 00035 NSToolbarItem; 00036 @class ProjectDocument; 00037 @protocol ProjectModule; 00038 00039 @interface ProjectWindowController : NSWindowController 00040 { 00041 id myWindow; 00042 NSBox * box; 00043 00044 NSObject <ProjectModule> * currentModule; 00045 00046 NSToolbar * toolbar; 00047 NSToolbarItem * switcherItem, * logItem; 00048 NSPopUpButton * moduleSwitcher; 00049 NSTextView * log; 00050 00051 // weak reference 00052 ProjectDocument * owner; 00053 } 00054 00055 - initWithWindowNibName: (NSString *) nibName 00056 ownerDocument: (ProjectDocument *) anOwner; 00057 00058 - (void) switchView: sender; 00059 00060 - (void) selectModule: (unsigned int) moduleNumber; 00061 00062 - (void) setCurrentModule: (id <ProjectModule>) aModule; 00063 - (id <ProjectModule>) currentModule; 00064 00065 // toolbar delegate methods 00066 - (NSToolbarItem*)toolbar: (NSToolbar*) toolbar 00067 itemForItemIdentifier: (NSString*) itemIdentifier 00068 willBeInsertedIntoToolbar: (BOOL) flag; 00069 - (NSArray*) toolbarAllowedItemIdentifiers: (NSToolbar*) toolbar; 00070 - (NSArray*) toolbarDefaultItemIdentifiers: (NSToolbar*) toolbar; 00071 - (BOOL) validateToolbarItem: (NSToolbarItem *)toolbarItem; 00072 00073 // notifications 00074 - (void) projectNameChanged: (NSNotification *) notif; 00075 00076 - (void) logMessage: (NSString *) aMessage; 00077 00078 @end