ProjectManager 0.2
SubprojectsManager.h
1/*
2 SubprojectsManager.h
3
4 Interface declaration of the SubprojectsManager 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 "../../ProjectModule.h"
25
26@class NSDictionary,
27 NSMutableDictionary,
28 NSBox,
29 NSNotification,
30 NSOutlineView,
31 NSTableColumn,
32 NSFileManager;
33
34@class ProjectDocument;
35
36@protocol SubprojectsManagerDelegate;
37
38@interface SubprojectsManager : NSObject <ProjectModule>
39{
40 // weak references
41 ProjectDocument * document;
42 id <SubprojectsManagerDelegate> delegate;
43
44 id bogusWindow, view;
45 id outline;
46
67 NSMutableArray * subprojects;
68 // an unsorted list of names of all subproject names
69 NSMutableArray * subprojectNames;
71 // file operation errors from the file manager
72 NSDictionary * fileOpErrorDict;
73}
74
75- (NSArray *) subprojectNames;
76
77- (id)outlineView: (NSOutlineView *)outlineView
78 child: (int)index
79 ofItem: (id)item;
80- (BOOL)outlineView: (NSOutlineView *)outlineView
81 isItemExpandable: (id)item;
82- (int)outlineView: (NSOutlineView *)outlineView
83numberOfChildrenOfItem: (id)item;
84- (id)outlineView: (NSOutlineView *)outlineView
85objectValueForTableColumn:(NSTableColumn *)tableColumn
86 byItem:(id)item;
87- (void)outlineView: (NSOutlineView *)outlineView
88 setObjectValue: (id)object
89 forTableColumn: (NSTableColumn *)tableColumn
90 byItem: (id)item;
91
92- (BOOL) fileManager: (NSFileManager*)fileManager
93 shouldProceedAfterError: (NSDictionary*)errorDictionary;
94
95- (void) fileManager: (NSFileManager*)fileManager
96 willProcessPath: (NSString*)path;
97
98- (void) newSubprojectAction: sender;
99- (void) addSubprojectAction: sender;
100- (void) removeSubprojectAction: sender;
101- (void) openSubprojectAction: sender;
102- (void) newSubprojectCategoryAction: sender;
103- (void) removeSubprojectCategoryAction: sender;
104
105@end
This class is the principal document class for project files.
Definition ProjectDocument.h:44
This class is a manager of subprojects for a project.
Definition SubprojectsManager.h:40
NSMutableArray * subprojectNames
Returns absolute paths to all subprojects.
Definition SubprojectsManager.h:70
NSMutableArray * subprojects
This array contains the subprojects hierarchy.
Definition SubprojectsManager.h:68
This protocol declares methods which project modules must implement.
Definition ProjectModule.h:44