removed the gmodels completely from ProjectCenter.app

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@7494 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Robert Slover 2000-09-13 10:45:27 +00:00
parent f1433a8ed2
commit 0e04c229e5
10 changed files with 466 additions and 1773 deletions

View file

@ -194,6 +194,7 @@ static NSDictionary *dict = nil;
[file rangeOfString:@"$FILENAMESANSEXTENSION$"] withString:name];
}
}
[file writeToFile:newFile atomically:YES];
[file autorelease];
}

File diff suppressed because it is too large Load diff

View file

@ -19,12 +19,10 @@ include $(GNUSTEP_MAKEFILES)/common.make
APP_NAME=ProjectCenter
ProjectCenter_LDFLAGS = -lPC
ProjectCenter_MAIN_MODEL_FILE = ProjectCenter.gmodel
ProjectCenter_LDFLAGS = -lProjectCenter
ProjectCenter_APPLICATION_ICON = ProjectCenter.tiff
ProjectCenter_RESOURCE_FILES= \
English.lproj/ProjectCenter.gmodel \
ProjectCenter.tiff \
ProjectCenter.app.tiff \
ProjectCentre_add.tiff \
@ -48,6 +46,7 @@ ProjectCenter_RESOURCE_FILES= \
ProjectCenter_HEADERS= \
PCAppController.h \
PCAppController+MenuHandling.h \
PCFindController.h \
PCInfoController.h \
PCLogController.h \
@ -60,6 +59,7 @@ ProjectCenter_HEADERS= \
ProjectCenter_OBJC_FILES= \
PCAppController.m \
PCAppController+MenuHandling.m \
PCFindController.m \
PCInfoController.m \
PCLogController.m \

View file

@ -0,0 +1,61 @@
/*
GNUstep ProjectCenter - http://www.projectcenter.ch
Copyright (C) 2000 Philippe C.D. Robert
Author: Philippe C.D. Robert <phr@projectcenter.ch>
This file is part of ProjectCenter.
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$Id$
*/
#import <AppKit/AppKit.h>
#import "PCAppController.h"
@interface PCAppController (MenuHandling)
- (void)showPrefWindow:(id)sender;
- (void)showInfoPanel:(id)sender;
//- (void)showLoadedProjects:(id)sender;
- (void)showInspector:(id)sender;
- (void)openProject:(id)sender;
- (void)newProject:(id)sender;
- (void)saveProject:(id)sender;
- (void)saveProjectAs:(id)sender;
- (void)showLoadedProjects:(id)sender;
- (void)saveFiles:(id)sender;
- (void)revertToSaved:(id)sender;
- (void)newSubproject:(id)sender;
- (void)addSubproject:(id)sender;
- (void)removeSubproject:(id)sender;
- (void)closeProject:(id)sender;
- (void)newFile:(id)sender;
- (void)addFile:(id)sender;
- (void)openFile:(id)sender;
- (void)saveFile:(id)sender;
- (void)saveFileAs:(id)sender;
- (void)revertFile:(id)sender;
- (void)renameFile:(id)sender;
- (void)removeFile:(id)sender;
@end

View file

@ -0,0 +1,151 @@
/*
GNUstep ProjectCenter - http://www.projectcenter.ch
Copyright (C) 2000 Philippe C.D. Robert
Author: Philippe C.D. Robert <phr@projectcenter.ch>
This file is part of ProjectCenter.
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
$Id$
*/
#import "PCAppController+MenuHandling.h"
#import "PCMenuController.h"
#import "PCPrefController.h"
#import "PCInfoController.h"
#import <ProjectCenter/PCProjectManager.h>
@implementation PCAppController (MenuHandling)
- (void)showPrefWindow:(id)sender
{
[prefController showPrefWindow:sender];
}
- (void)showInfoPanel:(id)sender
{
[infoController showInfoWindow:sender];
}
/*
- (void)showLoadedProjects:(id)sender
{
[projectManager showLoadedProjects];
}
*/
- (void)showInspector:(id)sender
{
[projectManager showInspectorForProject:[projectManager activeProject]];
}
- (void)openProject:(id)sender
{
[menuController openProject:sender];
}
- (void)newProject:(id)sender
{
[menuController newProject:sender];
}
- (void)saveProject:(id)sender
{
[menuController saveProject:sender];
}
- (void)saveProjectAs:(id)sender
{
[menuController saveProjectAs:sender];
}
- (void)showLoadedProjects:(id)sender
{
[menuController showLoadedProjects:sender];
}
- (void)saveFiles:(id)sender
{
[menuController saveFiles:sender];
}
- (void)revertToSaved:(id)sender
{
[menuController revertToSaved:sender];
}
- (void)newSubproject:(id)sender
{
[menuController newSubproject:sender];
}
- (void)addSubproject:(id)sender
{
[menuController addSubproject:sender];
}
- (void)removeSubproject:(id)sender
{
[menuController removeSubproject:sender];
}
- (void)closeProject:(id)sender
{
[menuController closeProject:sender];
}
- (void)newFile:(id)sender
{
[menuController newFile:sender];
}
- (void)addFile:(id)sender
{
[menuController addFile:sender];
}
- (void)openFile:(id)sender
{
[menuController openFile:sender];
}
- (void)saveFile:(id)sender
{
[menuController saveFile:sender];
}
- (void)saveFileAs:(id)sender
{
[menuController saveFileAs:sender];
}
- (void)revertFile:(id)sender
{
[menuController revertFile:sender];
}
- (void)renameFile:(id)sender
{
[menuController renameFile:sender];
}
- (void)removeFile:(id)sender
{
[menuController removeFile:sender];
}
@end

View file

@ -39,21 +39,21 @@
@interface PCAppController : NSObject
{
IBOutlet PCPrefController *prefController;
IBOutlet PCFindController *finder;
IBOutlet PCInfoController *infoController;
IBOutlet PCLogController *logger;
IBOutlet PCProjectManager *projectManager;
IBOutlet PCFileManager *fileManager;
IBOutlet PCMenuController *menuController;
PCBundleLoader *bundleLoader;
PCServer *doServer;
NSConnection *doConnection;
id delegate;
NSMutableDictionary *projectTypes;
PCPrefController *prefController;
PCFindController *finder;
PCInfoController *infoController;
PCLogController *logger;
PCProjectManager *projectManager;
PCFileManager *fileManager;
PCMenuController *menuController;
PCBundleLoader *bundleLoader;
PCServer *doServer;
NSConnection *doConnection;
id delegate;
NSMutableDictionary *projectTypes;
}
//============================================================================
@ -108,4 +108,4 @@
- (BOOL)registerProjectCreator:(NSString *)className forKey:(NSString *)aKey;
// Returns YES upon successfully registering a new projecttype.
@end
@end

View file

@ -70,6 +70,15 @@
// They are registered by the bundleLoader
projectTypes = [[NSMutableDictionary alloc] init];
prefController = [[PCPrefController alloc] init];
finder = [[PCFindController alloc] init];
infoController = [[PCInfoController alloc] init];
logger = [[PCLogController alloc] init];
projectManager = [[PCProjectManager alloc] init];
fileManager = [[PCFileManager alloc] init];
menuController = [[PCMenuController alloc] init];
}
return self;
}
@ -81,7 +90,14 @@
[doConnection release];
}
[prefController release];
[finder release];
[infoController release];
[logger release];
[projectManager release];
[fileManager release];
[menuController release];
[bundleLoader release];
[doServer release];
[projectTypes release];

View file

@ -32,17 +32,25 @@
@interface PCMenuController : NSObject
{
IBOutlet PCProjectManager *projectManager;
IBOutlet PCFileManager *fileManager;
IBOutlet PCAppController *appController;
NSBox *projectTypeAccessaryView;
id projectTypePopup;
PCProjectManager *projectManager;
PCFileManager *fileManager;
PCAppController *appController;
NSBox *projectTypeAccessaryView;
id projectTypePopup;
}
//============================================================================
//==== Init and free
//============================================================================
- (id)init;
- (void)dealloc;
- (void)setAppController:(id)anObject;
- (void)setFileManager:(id)anObject;
- (void)setProjectManager:(id)anObject;
//============================================================================
//==== Menu stuff
//============================================================================

View file

@ -71,6 +71,24 @@
[projectTypePopup addItemWithTitle:name];
}
- (void)setAppController:(id)anObject
{
[appController autorelease];
appController = [anObject retain];
}
- (void)setFileManager:(id)anObject
{
[fileManager autorelease];
fileManager = [anObject retain];
}
- (void)setProjectManager:(id)anObject
{
[projectManager autorelease];
projectManager = [anObject retain];
}
//============================================================================
//==== Menu stuff
//============================================================================
@ -184,21 +202,21 @@
- (void)openFile:(id)sender
{
NSString *filePath;
NSOpenPanel *openPanel;
int retval;
openPanel = [NSOpenPanel openPanel];
[openPanel setAllowsMultipleSelection:NO];
[openPanel setCanChooseDirectories:NO];
[openPanel setCanChooseFiles:YES];
retval = [openPanel runModalForDirectory:[[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenDirectory"] file:nil types:nil];
NSOpenPanel *openPanel;
int retval;
openPanel = [NSOpenPanel openPanel];
[openPanel setAllowsMultipleSelection:NO];
[openPanel setCanChooseDirectories:NO];
[openPanel setCanChooseFiles:YES];
retval = [openPanel runModalForDirectory:[[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenDirectory"] file:nil types:nil];
if (retval == NSOKButton) {
BOOL isDir;
[[NSUserDefaults standardUserDefaults] setObject:[openPanel directory] forKey:@"LastOpenDirectory"];
filePath = [[openPanel filenames] objectAtIndex:0];
[[NSUserDefaults standardUserDefaults] setObject:[openPanel directory] forKey:@"LastOpenDirectory"];
filePath = [[openPanel filenames] objectAtIndex:0];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&isDir] && !isDir) {
if (![projectManager openFile:filePath]) {

View file

@ -25,7 +25,179 @@
*/
#import <AppKit/AppKit.h>
#import"PCAppController.h"
int main(int argc, const char *argv[]) {
return NSApplicationMain(argc, argv);
void createMenu();
int main(int argc, const char **argv)
{
id theApp;
PCAppController *controller;
id pool = [[NSAutoreleasePool alloc] init];
#ifndef NX_CURRENT_COMPILER_RELEASE
initialize_gnustep_backend();
#endif
theApp = [NSApplication sharedApplication];
createMenu();
controller = [[PCAppController alloc] init];
[theApp setDelegate:controller];
[theApp run];
[controller release];
[pool release];
return 0;
}
void createMenu()
{
NSMenu *menu;
NSMenu *info;
NSMenu *subprojects;
NSMenu *project;
NSMenu *file;
NSMenu *edit;
NSMenu *format;
NSMenu *tools;
NSMenu *services;
NSMenu *windows;
SEL action = @selector(method:);
menu = [[NSMenu alloc] initWithTitle:@"ProjectCenter"];
/*
* The main menu
*/
[menu addItemWithTitle:@"Info" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Project" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"File" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Edit" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Format" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Tools" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Windows" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Services" action:action keyEquivalent:@""];
[menu addItemWithTitle:@"Hide" action:@selector(hide:) keyEquivalent:@"h"];
[menu addItemWithTitle:@"Quit" action:@selector(terminate:)
keyEquivalent:@"q"];
/*
* Info submenu
*/
info = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:info forItem:[menu itemWithTitle:@"Info"]];
[info addItemWithTitle:@"Info Panel..." action:@selector(showInfoPanel:) keyEquivalent:@""];
[info addItemWithTitle:@"Preferences" action:@selector(showPrefWindow:) keyEquivalent:@""];
[info addItemWithTitle:@"Help" action:action keyEquivalent:@"?"];
/*
* Project submenu
*/
project = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:project forItem:[menu itemWithTitle:@"Project"]];
[project addItemWithTitle:@"Open" action:@selector(openProject:) keyEquivalent:@"o"];
[project addItemWithTitle:@"New" action:@selector(newProject:) keyEquivalent:@"n"];
[project addItemWithTitle:@"Save" action:@selector(saveProject:) keyEquivalent:@"s"];
[project addItemWithTitle:@"Save As" action:@selector(saveProjectAs:) keyEquivalent:@""];
[project addItemWithTitle:@"Subprojects" action:action keyEquivalent:@""];
[project addItemWithTitle:@"Close" action:@selector(closeProject:) keyEquivalent:@""];
subprojects = [[[NSMenu alloc] init] autorelease];
[project setSubmenu:subprojects forItem:[project itemWithTitle:@"Subprojects"]];
[subprojects addItemWithTitle:@"New..." action:@selector(newSubproject:) keyEquivalent:@""];
[subprojects addItemWithTitle:@"Add..." action:@selector(addSubproject:) keyEquivalent:@""];
[subprojects addItemWithTitle:@"Remove..." action:@selector(removeSubproject:) keyEquivalent:@""];
/*
* File submenu
*/
file = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:file forItem:[menu itemWithTitle:@"File"]];
[file addItemWithTitle:@"Open..." action:@selector(openFile:) keyEquivalent:@"O"];
[file addItemWithTitle:@"Add..." action:@selector(addFile:) keyEquivalent:@"A"];
[file addItemWithTitle:@"New in Project" action:@selector(newFile:) keyEquivalent:@"N"];
[file addItemWithTitle:@"Remove File" action:@selector(removeFile:) keyEquivalent:@""];
[file addItemWithTitle:@"Save..." action:@selector(saveFile:) keyEquivalent:@""];
[file addItemWithTitle:@"Save as..." action:@selector(saveFileAs:) keyEquivalent:@""];
[file addItemWithTitle:@"Revert" action:@selector(revertFile:) keyEquivalent:@""];
[file addItemWithTitle:@"Rename" action:@selector(renameFile:) keyEquivalent:@""];
/*
* Edit submenu
*/
edit = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:edit forItem:[menu itemWithTitle:@"Edit"]];
[edit addItemWithTitle: @"Cut"
action: @selector(cut:)
keyEquivalent: @"x"];
[edit addItemWithTitle: @"Copy"
action: @selector(copy:)
keyEquivalent: @"c"];
[edit addItemWithTitle: @"Paste"
action: @selector(paste:)
keyEquivalent: @"v"];
[edit addItemWithTitle: @"Delete"
action: @selector(delete:)
keyEquivalent: @""];
[edit addItemWithTitle: @"Select All"
action: @selector(selectAll:)
keyEquivalent: @"a"];
/*
* Format submenu
*/
format = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:format forItem:[menu itemWithTitle:@"Format"]];
[format addItemWithTitle:@"Font Panel" action:action keyEquivalent:@""];
/*
* Tools submenu
*/
tools = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:tools forItem:[menu itemWithTitle:@"Tools"]];
[tools addItemWithTitle:@"Loaded Projects..." action:@selector(showLoadedProjects:) keyEquivalent:@""];
[tools addItemWithTitle:@"Build Panel" action:@selector(:) keyEquivalent:@""];
[tools addItemWithTitle:@"Find Panel" action:@selector(:) keyEquivalent:@"F"];
[tools addItemWithTitle:@"Inspector Panel" action:@selector(showInspector:) keyEquivalent:@""];
/*
* Windows submenu
*/
windows = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:windows forItem:[menu itemWithTitle:@"Windows"]];
[windows addItemWithTitle:@"Arrange"
action:@selector(arrangeInFront:)
keyEquivalent:@""];
[windows addItemWithTitle:@"Miniaturize"
action:@selector(performMiniaturize:)
keyEquivalent:@"m"];
[windows addItemWithTitle:@"Close"
action:@selector(performClose:)
keyEquivalent:@"w"];
/*
* Services submenu
*/
services = [[[NSMenu alloc] init] autorelease];
[menu setSubmenu:services forItem:[menu itemWithTitle:@"Services"]];
[[NSApplication sharedApplication] setMainMenu:menu];
[[NSApplication sharedApplication] setServicesMenu: services];
[menu update];
[menu display];
}