mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-02-19 01:51:09 +00:00
See Documentation/ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/branches/UNSTABLE_0_5@21712 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
4faeb6988d
commit
5f2f1c3ad4
164 changed files with 738 additions and 2312 deletions
|
@ -18,25 +18,14 @@ What is ProjectCenter?
|
|||
Noteworthy changes in version `0.4.1'.
|
||||
======================================
|
||||
|
||||
* Fixes in file and subprojects handling.
|
||||
|
||||
* Improvements and fixes in file selection dialog.
|
||||
|
||||
* Rewritten toolips code for buttons. Made it NSView compatible
|
||||
(ready for incorporation into NSView code).
|
||||
|
||||
* All .gorm files updated with latest GORM.
|
||||
|
||||
* Added support for document-based applications (added "Document Types"
|
||||
panel into Project Inspector).
|
||||
|
||||
*
|
||||
|
||||
How can I get support for this software?
|
||||
========================================
|
||||
|
||||
You may wish to use the GNUstep discussion mailing list for general
|
||||
questions and discussion. Look at the GNUstep Web Pages for more
|
||||
information regarding GNUstep resources <http://www.gnustep.org/>
|
||||
information regarding GNUstep resources <http://www.gnustep.org>
|
||||
|
||||
Where can you get it? How can you compile it?
|
||||
==============================================
|
||||
|
@ -55,4 +44,3 @@ Obtaining GNU Software
|
|||
Check out the GNU web site. (`http://www.gnu.org/')
|
||||
|
||||
Check out the GNUstep web site. (`http://www.gnustep.org/')
|
||||
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
Philippe C.D. Robert <probert@siggraph.org>
|
||||
Serg Stoyan <stoyan255@ukr.net>
|
||||
David Ayers <d.ayers@inode.at>
|
||||
Richard Frith-Macdonald <rfm@gnu.org>
|
||||
Nicola Pero <n.pero@mi.flashnet.it>
|
||||
Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
|
||||
Adam Fedor <fedor@gnu.org>
|
||||
Daniel Luederwald <das_flip@gmx.de>
|
||||
Gregory Jonh Casamento <greg_casamento@yahoo.com>
|
||||
Authors:
|
||||
Philippe C.D. Robert <probert@siggraph.org>
|
||||
Serg Stoyan <stoyan255@ukr.net>
|
||||
|
||||
Contributors:
|
||||
David Ayers <d.ayers@inode.at>
|
||||
Richard Frith-Macdonald <rfm@gnu.org>
|
||||
Nicola Pero <n.pero@mi.flashnet.it>
|
||||
Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
|
||||
Adam Fedor <fedor@gnu.org>
|
||||
Daniel Luederwald <das_flip@gmx.de>
|
||||
Gregory Jonh Casamento <greg_casamento@yahoo.com>
|
|
@ -1,3 +1,30 @@
|
|||
2005-09-11 Serg Stoyan <stoyan255@ukr.net>
|
||||
|
||||
* Library/PCProject.m: (saveProjectWindowsAndPanels): save ProjectBrowser
|
||||
frame.
|
||||
|
||||
* Library/PCProjectWindow.m: gormified.
|
||||
(_initUI): Adopt to grom model. Make self as delegate for h_split.
|
||||
(splitView:resizeSubviewsWithOldSize:) implemented h_split delegate method.
|
||||
Used for restoring saved frame of ProjectBrowser. In general, used to
|
||||
restore subviews size of horisontal and verstical split views from last
|
||||
session. "Remember project windows and panels in PC.project" task from
|
||||
TODO file is considered fully comleted now. Use this scheme for other
|
||||
split views in PC.
|
||||
|
||||
* Library/PCFileNameIcon.[hm]: new files. I'm not sure yet if it should
|
||||
be separate class for file icons.
|
||||
|
||||
2005-06-20 Serg Stoyan <stoyan255@ukr.net>
|
||||
|
||||
* Library/PCFileNameField.m: new file.
|
||||
|
||||
* Library/PCProjectInspector.m: moved class PCFileNameField to separate
|
||||
file.
|
||||
|
||||
* Library/PCProjectWindow.m:
|
||||
(_initUI)fileIconTitle now is PCFileNameField instead of NSTextField.
|
||||
|
||||
2005-06-11 Serg Stoyan <stoyan255@ukr.net>
|
||||
|
||||
* PCAppController.m:
|
||||
|
|
|
@ -39,9 +39,8 @@ PCMenuController/ | ||
|
|||
------------------------------
|
||||
Other (controls, tools, etc.):
|
||||
------------------------------
|
||||
PCButton
|
||||
PCSplitView
|
||||
PCOutputView (Should be implemented. Used by e.g. Project Builder)
|
||||
PCButton (ProjectWindow, ProjectBuild, ProjectLaunch)
|
||||
PCSplitView (ProjectWindow, ProjectBuild, ProjectLaunch)
|
||||
PCBundleLoader (Used in ProjectCenter application)
|
||||
PCMakefileFactory (Used in PC*Project bundles)
|
||||
PCServer (don't used)
|
||||
|
|
|
@ -4,30 +4,35 @@ TODO
|
|||
This is the GNUstep ProjectCenter TODO list. "+" means that this task
|
||||
is done. Feel free to propose changes to this list or make suggestions!
|
||||
|
||||
ProjectCenter 0.4 Owner
|
||||
----------------- ------
|
||||
ProjectCenter 0.4 Owner
|
||||
----------------- ------
|
||||
|
||||
+ Review and cleanup of PC project bundles/templates stoyan
|
||||
+ Finish Project Inspector stoyan
|
||||
+ Inspector UI using Gorm stoyan
|
||||
+ File creation (File->New in project) cleanup and finishing stoyan
|
||||
+ Initial suprojects support stoyan
|
||||
+ Finish support of external editors stoyan
|
||||
+ Preferences enhancements and UI using Gorm stoyan
|
||||
+ Remember project windows and panels in PC.project stoyan
|
||||
- Review and cleanup of PC project bundles/templates [done!]
|
||||
- Finish Project Inspector [done!]
|
||||
- Inspector UI using Gorm [done!]
|
||||
- File creation (File->New in project) cleanup and finishing [done!]
|
||||
- Initial suprojects support [done!]
|
||||
- Finish support of external editors [done!]
|
||||
- Preferences enhancements and UI using Gorm [done!]
|
||||
- Remember project windows and panels in PC.project [done!]
|
||||
|
||||
ProjectCenter 0.5
|
||||
-----------------
|
||||
|
||||
- Add more project types (Framework,Resource Set,Palette) stoyan
|
||||
- Implement root build directory handling stoyan
|
||||
- Localization support for projects stoyan
|
||||
- Finish ProjectWindow and its contents (Browser, FileIcon) stoyan
|
||||
- Editor code parser (get it from CodeEditor?) stoyan
|
||||
- Editor syntax highlighting stoyan
|
||||
- Editor indentation stoyan
|
||||
- ProjectBuilder enhancements (warnings,errors,options etc.) stoyan
|
||||
- Add pending adding/removal of files stoyan
|
||||
- Create ProjectWindow GORM file [done!]
|
||||
- Add "Framework" project type [done!]
|
||||
- Add "Resource Set" project type [done!]
|
||||
- Add "Palette" project type stoyan
|
||||
- Add "Component" project type stoyan
|
||||
- Finish FileNameIcon (draggable, files can be dragged to it) stoyan
|
||||
- Editor code parser (get it from CodeEditor?) stoyan
|
||||
- Project Browser should show classes, #define's an so on stoyan
|
||||
- Implement Editor indentation stoyan
|
||||
- Implement Editor syntax highlighting stoyan
|
||||
- Implement root build directory handling stoyan
|
||||
- ProjectBuilder enhancements (warnings,errors,options etc.) stoyan
|
||||
- Localization support for projects stoyan
|
||||
- Add pending adding/removal of files stoyan
|
||||
|
||||
ProjectCenter 0.6
|
||||
-----------------
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
#
|
||||
# GNUmakefile.postamble
|
||||
#
|
||||
# Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
#
|
||||
# Author: Philippe C.D. Robert <probert@siggraph.org>
|
||||
# Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNUstep
|
||||
#
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
# GNUmakefile.preamble
|
||||
#
|
||||
# Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
#
|
||||
# Author: Philippe C.D. Robert <probert@siggraph.org>
|
||||
# Copyright (C) 2001-2005 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GNUstep
|
||||
#
|
||||
|
|
|
@ -33,6 +33,9 @@ ProjectCenter_HEADER_FILES = \
|
|||
PCMakefileFactory.h \
|
||||
PCSplitView.h \
|
||||
PCButton.h \
|
||||
PCFileNameField.h \
|
||||
PCFileNameIcon.h \
|
||||
PCObjCParser.h \
|
||||
\
|
||||
PCProjectManager.h \
|
||||
PCBuildPanel.h \
|
||||
|
@ -57,7 +60,8 @@ ProjectCenter_HEADER_FILES = \
|
|||
PCDefines.h \
|
||||
ProjectCenter.h \
|
||||
ProjectType.h \
|
||||
Server.h
|
||||
Server.h \
|
||||
CodeParser.h
|
||||
|
||||
#
|
||||
# Class files
|
||||
|
@ -72,6 +76,9 @@ ProjectCenter_OBJC_FILES = \
|
|||
PCMakefileFactory.m \
|
||||
PCSplitView.m \
|
||||
PCButton.m \
|
||||
PCFileNameField.m \
|
||||
PCFileNameIcon.m \
|
||||
PCObjCParser.m \
|
||||
\
|
||||
PCProjectManager.m \
|
||||
PCBuildPanel.m \
|
||||
|
@ -97,6 +104,7 @@ ProjectCenter_OBJC_FILES = \
|
|||
# Resources
|
||||
#
|
||||
ProjectCenter_RESOURCE_FILES = \
|
||||
Resources/ProjectWindow.gorm \
|
||||
Resources/NewSubproject.gorm \
|
||||
Resources/NewFile.gorm \
|
||||
Resources/ProjectInspector.gorm \
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
@ -34,12 +34,15 @@
|
|||
// ==== Main
|
||||
// ============================================================================
|
||||
|
||||
- (id)initWithFrame:(NSRect)frameRect
|
||||
//- (id)initWithFrame:(NSRect)frameRect
|
||||
- (id)initWithCoder:(NSCoder *)coder
|
||||
{
|
||||
self = [super initWithFrame:frameRect];
|
||||
// self = [super initWithFrame:frameRect];
|
||||
self = [super initWithCoder:coder];
|
||||
[_cell setGradientType:NSGradientConvexWeak];
|
||||
[self setImagePosition:NSImageOnly];
|
||||
[self setFont:[NSFont systemFontOfSize:10.0]];
|
||||
[self setRefusesFirstResponder:YES];
|
||||
|
||||
_hasTooltips = NO;
|
||||
ttTimer = nil;
|
||||
|
@ -264,6 +267,10 @@
|
|||
NSPoint origin;
|
||||
|
||||
// NSLog(@"mouseMoved");
|
||||
if (ttWindow == nil)
|
||||
{
|
||||
return;
|
||||
}
|
||||
mouseLocation = [NSEvent mouseLocation];
|
||||
|
||||
origin = NSMakePoint(mouseLocation.x + 8,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -112,7 +112,7 @@ if (__value != __object) \
|
|||
// ==== From PCProject.h
|
||||
//
|
||||
#ifndef IMAGE
|
||||
#define IMAGE(X) [[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForImageResource:(X)]] autorelease]
|
||||
#define IMAGE(X) [NSImage imageNamed:(X)]
|
||||
#endif
|
||||
|
||||
//=============================================================================
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
@ -30,6 +30,9 @@
|
|||
|
||||
@class PCProjectEditor;
|
||||
@class PCEditorView;
|
||||
@class PCObjCParser;
|
||||
|
||||
@protocol CodeParser;
|
||||
|
||||
@interface PCEditor : NSObject
|
||||
{
|
||||
|
@ -47,6 +50,10 @@
|
|||
BOOL _isEdited;
|
||||
BOOL _isWindowed;
|
||||
BOOL _isExternal;
|
||||
|
||||
NSMutableArray *_parserObjects;
|
||||
|
||||
id<CodeParser> aParser;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
@ -107,10 +114,14 @@
|
|||
// ==== Parser and scrolling
|
||||
// ===========================================================================
|
||||
|
||||
- (NSArray *)listOfClasses;
|
||||
- (NSArray *)listOfMethodsOfClass:(NSString *)className;
|
||||
- (NSArray *)listOfDefines;
|
||||
- (NSArray *)listOfVars;
|
||||
- (NSArray *)classNames;
|
||||
- (NSArray *)methodNamesForClass:(NSString *)class;
|
||||
|
||||
- (void)addClassName:(NSString *)class withRange:(NSRange)range;
|
||||
- (void)addMethodWithDefinition:(NSString *)method
|
||||
andRange:(NSRange)range
|
||||
forClass:(NSString *)class;
|
||||
|
||||
- (void)scrollToClassName:(NSString *)className;
|
||||
- (void)scrollToMethodName:(NSString *)className;
|
||||
- (void)scrollToLineNumber:(int)line;
|
||||
|
@ -125,12 +136,5 @@
|
|||
|
||||
@end
|
||||
|
||||
/*@interface NSObject (PCEditorDelegate)
|
||||
|
||||
- (void)editorDidClose:(id)sender;
|
||||
- (void)setBrowserPath:(NSString *)file category:(NSString *)category;
|
||||
|
||||
@end*/
|
||||
|
||||
#endif // _PCEDITOR_H_
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
@ -27,9 +27,12 @@
|
|||
#include "PCProjectEditor.h"
|
||||
#include "PCEditor.h"
|
||||
#include "PCEditorView.h"
|
||||
#include "PCProjectWindow.h"
|
||||
|
||||
#include "PCLogController.h"
|
||||
|
||||
#include "CodeParser.h"
|
||||
|
||||
@implementation PCEditor (UInterface)
|
||||
|
||||
- (void)_createWindow
|
||||
|
@ -106,9 +109,9 @@
|
|||
|
||||
- (PCEditorView *)_createEditorViewWithFrame:(NSRect)fr
|
||||
{
|
||||
PCEditorView *ev;
|
||||
NSTextContainer *tc;
|
||||
NSLayoutManager *lm;
|
||||
PCEditorView *ev = nil;
|
||||
NSTextContainer *tc = nil;
|
||||
NSLayoutManager *lm = nil;
|
||||
|
||||
/*
|
||||
* setting up the objects needed to manage the view but using the
|
||||
|
@ -126,14 +129,14 @@
|
|||
ev = [[PCEditorView alloc] initWithFrame:fr textContainer:tc];
|
||||
[ev setEditor:self];
|
||||
|
||||
[ev setMinSize:NSMakeSize( 0, 0)];
|
||||
[ev setMinSize:NSMakeSize(0, 0)];
|
||||
[ev setMaxSize:NSMakeSize(1e7, 1e7)];
|
||||
[ev setRichText:YES];
|
||||
[ev setEditable:YES];
|
||||
[ev setVerticallyResizable:YES];
|
||||
[ev setHorizontallyResizable:NO];
|
||||
[ev setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
|
||||
[ev setTextContainerInset:NSMakeSize( 5, 5)];
|
||||
[ev setTextContainerInset:NSMakeSize(5, 5)];
|
||||
[[ev textContainer] setWidthTracksTextView:YES];
|
||||
|
||||
[[ev textContainer] setContainerSize:NSMakeSize(fr.size.width, 1e7)];
|
||||
|
@ -155,26 +158,14 @@
|
|||
{
|
||||
if ((self = [super init]))
|
||||
{
|
||||
NSString *t;
|
||||
NSAttributedString *as;
|
||||
NSDictionary *at;
|
||||
NSFont *ft;
|
||||
|
||||
projectEditor = aProjectEditor;
|
||||
_isEdited = NO;
|
||||
_isWindowed = NO;
|
||||
_window = nil;
|
||||
_path = [file copy];
|
||||
_categoryPath = [categoryPath copy];
|
||||
|
||||
ft = [NSFont userFixedPitchFontOfSize:0.0];
|
||||
at = [NSDictionary dictionaryWithObject:ft forKey:NSFontAttributeName];
|
||||
t = [NSString stringWithContentsOfFile:file];
|
||||
as = [[NSAttributedString alloc] initWithString:t attributes:at];
|
||||
|
||||
_storage = [[NSTextStorage alloc] init];
|
||||
[_storage setAttributedString:as];
|
||||
RELEASE(as);
|
||||
_parserObjects = [[NSMutableArray alloc] init];
|
||||
|
||||
if (categoryPath) // category == nil if we're non project editor
|
||||
{
|
||||
|
@ -197,10 +188,21 @@
|
|||
name:NSTextDidChangeNotification
|
||||
object:_extEditorView];
|
||||
|
||||
// Inform about file opening
|
||||
// Parser
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
postNotificationName:PCEditorDidOpenNotification
|
||||
object:self];
|
||||
addObserver:self
|
||||
selector:@selector(fileDidParse:)
|
||||
name:PCParserDidParseFileNotification
|
||||
object:nil];
|
||||
|
||||
// Inform about future file opening
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
postNotificationName:PCEditorWillOpenNotification
|
||||
object:self];
|
||||
|
||||
// Start parsing
|
||||
aParser = [projectEditor parserForFile:_path];
|
||||
[aParser parseFileAtPath:_path forEditor:self];
|
||||
}
|
||||
|
||||
return self;
|
||||
|
@ -283,8 +285,8 @@
|
|||
- (void)dealloc
|
||||
{
|
||||
#ifdef DEVELOPMENT
|
||||
NSLog(@"PCEditor: %@ dealloc", _path);
|
||||
#endif
|
||||
NSLog(@"PCEditor: %@ dealloc", [_path lastPathComponent]);
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
|
||||
|
@ -292,44 +294,12 @@
|
|||
RELEASE(_path);
|
||||
RELEASE(_categoryPath);
|
||||
RELEASE(_intScrollView);
|
||||
RELEASE(_storage);
|
||||
RELEASE(_parserObjects);
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)show
|
||||
{
|
||||
if (_isWindowed)
|
||||
{
|
||||
[_window makeKeyAndOrderFront:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setWindowed:(BOOL)yn
|
||||
{
|
||||
if ( (yn && _isWindowed) || (!yn && !_isWindowed) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (yn && !_isWindowed)
|
||||
{
|
||||
[self _createWindow];
|
||||
[_window setTitle:[NSString stringWithFormat: @"%@",
|
||||
[_path stringByAbbreviatingWithTildeInPath]]];
|
||||
}
|
||||
else if (!yn && _isWindowed)
|
||||
{
|
||||
[_window close];
|
||||
}
|
||||
|
||||
_isWindowed = yn;
|
||||
}
|
||||
|
||||
- (BOOL)isWindowed
|
||||
{
|
||||
return _isWindowed;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
// ==== Accessor methods
|
||||
// ===========================================================================
|
||||
|
@ -405,6 +375,40 @@
|
|||
_isEdited = yn;
|
||||
}
|
||||
|
||||
- (BOOL)isWindowed
|
||||
{
|
||||
return _isWindowed;
|
||||
}
|
||||
|
||||
- (void)setWindowed:(BOOL)yn
|
||||
{
|
||||
if ( (yn && _isWindowed) || (!yn && !_isWindowed) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (yn && !_isWindowed)
|
||||
{
|
||||
[self _createWindow];
|
||||
[_window setTitle:[NSString stringWithFormat: @"%@",
|
||||
[_path stringByAbbreviatingWithTildeInPath]]];
|
||||
}
|
||||
else if (!yn && _isWindowed)
|
||||
{
|
||||
[_window close];
|
||||
}
|
||||
|
||||
_isWindowed = yn;
|
||||
}
|
||||
|
||||
- (void)show
|
||||
{
|
||||
if (_isWindowed)
|
||||
{
|
||||
[_window makeKeyAndOrderFront:nil];
|
||||
}
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
// ==== Object managment
|
||||
// ===========================================================================
|
||||
|
@ -600,147 +604,102 @@
|
|||
// ==== Parser and scrolling
|
||||
// ===========================================================================
|
||||
|
||||
- (NSString *)classNameFromString:(NSString *)string
|
||||
// ==== Parsing
|
||||
|
||||
- (void)fileDidParse:(NSNotification *)aNotif
|
||||
{
|
||||
NSString *className = nil;
|
||||
NSMutableArray *lineComps = nil;
|
||||
|
||||
// @implementation ClassName (Category)
|
||||
//
|
||||
// @implementation ClassName(Category)
|
||||
// @implementation ClassName( Category)
|
||||
// @implementation ClassName(Category )
|
||||
//
|
||||
// @implementation ClassName ( Category )
|
||||
// @implementation ClassName (Category )
|
||||
// @implementation ClassName ( Category)
|
||||
lineComps = [[string componentsSeparatedByString:@" "] mutableCopy];
|
||||
|
||||
if ([lineComps count] > 2)
|
||||
// && [[[lineComps objectAtIndex:2] substringWithRange:NSMakeRange(0,1)] isEqualToString:@"("])
|
||||
if ([[[aNotif userInfo] objectForKey:@"Path"] isEqualToString:_path])
|
||||
{
|
||||
[lineComps removeObjectAtIndex:0];
|
||||
className = [lineComps componentsJoinedByString:@""];
|
||||
RELEASE(lineComps);
|
||||
|
||||
return [NSString stringWithFormat:@"@%@", className];
|
||||
}
|
||||
else
|
||||
{
|
||||
return [NSString stringWithFormat:@"@%@", [lineComps objectAtIndex:1]];
|
||||
[_storage setAttributedString:[[aNotif userInfo] objectForKey:@"Text"]];
|
||||
}
|
||||
|
||||
return nil;
|
||||
// Inform about file opening
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
postNotificationName:PCEditorDidOpenNotification
|
||||
object:self];
|
||||
}
|
||||
|
||||
- (NSString *)methodNameFromString:(NSString *)string
|
||||
/* objectProperties
|
||||
* {
|
||||
* "Type" = "Class | Method | Constant"
|
||||
*
|
||||
* "ClassName" = @SomeClass(SomeCategory)
|
||||
*
|
||||
* "Name" = "- (void)methodName:someArg:anotherArg:"
|
||||
* or
|
||||
* "Name" = "@SomeClass : SomeParentClass(SomeCategory)"
|
||||
*
|
||||
* "DefinitionRange" = (unsigned, unsigned)
|
||||
*
|
||||
* "Range" = (unsigned, unsigned)
|
||||
* }
|
||||
*/
|
||||
- (NSArray *)classNames
|
||||
{
|
||||
NSString *methodName = nil;
|
||||
NSEnumerator *enumerator = [_parserObjects objectEnumerator];
|
||||
NSDictionary *key = nil;
|
||||
NSMutableArray *classes = [NSMutableArray array];
|
||||
|
||||
return methodName;
|
||||
}
|
||||
|
||||
- (NSMutableArray *)linesWithKeyword:(NSString *)keyword atBOL:(BOOL)yn
|
||||
{
|
||||
NSMutableArray *lines = [[NSMutableArray alloc] init];
|
||||
NSString *text = [_storage string];
|
||||
NSRange range = {0, [text length]};
|
||||
NSRange subRange = {0, 0};
|
||||
NSRange lineRange = {0, 0};
|
||||
NSString *tmpStr = nil;
|
||||
NSString *lineString = nil;
|
||||
while ((key = [enumerator nextObject]))
|
||||
{
|
||||
if ([[key objectForKey:@"Type"] isEqualToString:@"Class"])
|
||||
{
|
||||
[classes addObject:[key objectForKey:@"Name"]];
|
||||
}
|
||||
}
|
||||
|
||||
while (range.location < [text length])
|
||||
{
|
||||
subRange = [text rangeOfString:keyword
|
||||
options:NSLiteralSearch
|
||||
range:range];
|
||||
|
||||
NSLog(@"subRange: {%i, %i}", subRange.location, subRange.length);
|
||||
return classes;
|
||||
}
|
||||
|
||||
if (subRange.location == NSNotFound)
|
||||
- (NSArray *)methodNamesForClass:(NSString *)class
|
||||
{
|
||||
NSEnumerator *enumerator = [_parserObjects objectEnumerator];
|
||||
NSDictionary *key = nil;
|
||||
NSMutableArray *methods = [NSMutableArray array];
|
||||
|
||||
while ((key = [enumerator nextObject]))
|
||||
{
|
||||
if ([[key objectForKey:@"Type"] isEqualToString:@"Method"]
|
||||
&&[[key objectForKey:@"ClassName"] isEqualToString:class])
|
||||
{
|
||||
break;
|
||||
[methods addObject:[key objectForKey:@"Name"]];
|
||||
}
|
||||
|
||||
// Set range for next search
|
||||
range.location = subRange.location + subRange.length;
|
||||
range.length = [text length] - range.location;
|
||||
NSLog(@"range: {%i, %i}", range.location, range.length);
|
||||
|
||||
// If keyword is located not at the beginning of line then skip it.
|
||||
if (yn)
|
||||
{
|
||||
tmpStr = [text substringWithRange:NSMakeRange(subRange.location-1,1)];
|
||||
if (![tmpStr isEqualToString:@"\n"])
|
||||
{
|
||||
NSLog(@"CONTINUE %i %i", range.location, range.length);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Get line range where @implementation is located
|
||||
lineRange = [text lineRangeForRange:subRange];
|
||||
lineString = [text substringWithRange:lineRange];
|
||||
NSLog(@"0. line range: {%i, %i}", lineRange.location, lineRange.length);
|
||||
|
||||
[lines addObject:lineString];
|
||||
}
|
||||
|
||||
return AUTORELEASE(lines);
|
||||
return methods;
|
||||
}
|
||||
|
||||
- (NSArray *)listOfClasses
|
||||
- (void)addClassName:(NSString *)class withRange:(NSRange)range
|
||||
{
|
||||
NSMutableArray *classesArray = [[NSMutableArray alloc] init];
|
||||
NSMutableArray *linesArray = nil;
|
||||
NSString *lineString = nil;
|
||||
int i;
|
||||
NSMutableDictionary *objectProperties = [NSMutableDictionary dictionary];
|
||||
|
||||
NSLog(@"Start searching for class implementations...");
|
||||
// Add to PCEditor's object array
|
||||
[objectProperties setObject:@"Class" forKey:@"Type"];
|
||||
[objectProperties setObject:class forKey:@"Name"];
|
||||
[objectProperties setObject:NSStringFromRange(range) forKey:@"Range"];
|
||||
|
||||
// Get lines with keywords
|
||||
if ([[[_path lastPathComponent] pathExtension] isEqualToString:@"m"])
|
||||
{
|
||||
linesArray = [self linesWithKeyword:@"@implementation" atBOL:YES];
|
||||
}
|
||||
else if ([[[_path lastPathComponent] pathExtension] isEqualToString:@"h"])
|
||||
{
|
||||
linesArray = [self linesWithKeyword:@"@interface" atBOL:YES];
|
||||
}
|
||||
[_parserObjects addObject:objectProperties];
|
||||
|
||||
// Get class names
|
||||
for (i = 0; i < [linesArray count]; i++)
|
||||
{
|
||||
lineString = [linesArray objectAtIndex:i];
|
||||
[classesArray addObject:[self classNameFromString:lineString]];
|
||||
}
|
||||
|
||||
return AUTORELEASE((NSArray*)classesArray);
|
||||
// NSLog(@"Class name: %@", class);
|
||||
}
|
||||
|
||||
- (NSArray *)listOfMethodsOfClass:(NSString *)className
|
||||
- (void)addMethodWithDefinition:(NSString *)method
|
||||
andRange:(NSRange)range
|
||||
forClass:(NSString *)class
|
||||
{
|
||||
NSMutableArray *methodsArray = [[NSMutableArray alloc] init];
|
||||
NSMutableDictionary *objectProperties = [NSMutableDictionary dictionary];
|
||||
|
||||
return AUTORELEASE((NSArray*)methodsArray);
|
||||
[objectProperties setObject:@"Method" forKey:@"Type"];
|
||||
[objectProperties setObject:class forKey:@"ClassName"];
|
||||
[objectProperties setObject:method forKey:@"Name"];
|
||||
[objectProperties setObject:NSStringFromRange(range) forKey:@"Range"];
|
||||
|
||||
[_parserObjects addObject:objectProperties];
|
||||
|
||||
// NSLog(@"Method: %@", method);
|
||||
}
|
||||
|
||||
- (NSArray *)listOfDefines
|
||||
{
|
||||
NSMutableArray *definesArray = [[NSMutableArray alloc] init];
|
||||
|
||||
return AUTORELEASE((NSArray*)definesArray);
|
||||
}
|
||||
|
||||
- (NSArray *)listOfVars
|
||||
{
|
||||
NSMutableArray *varsArray = [[NSMutableArray alloc] init];
|
||||
|
||||
return AUTORELEASE((NSArray*)varsArray);
|
||||
}
|
||||
|
||||
//--- Scrolling
|
||||
// === Scrolling
|
||||
|
||||
- (void)scrollToClassName:(NSString *)className
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -53,11 +53,11 @@ typedef enum _PCTabFlags {
|
|||
// ==== Class methods
|
||||
//=============================================================================
|
||||
|
||||
+ (void)setTabBehaviour:(int)tabFlags;
|
||||
+ (int)tabBehaviour;
|
||||
//+ (void)setTabBehaviour:(int)tabFlags;
|
||||
//+ (int)tabBehaviour;
|
||||
|
||||
+ (void)setShouldHighlight:(BOOL)yn;
|
||||
+ (BOOL)shouldHighlight;
|
||||
//+ (void)setShouldHighlight:(BOOL)yn;
|
||||
//+ (BOOL)shouldHighlight;
|
||||
|
||||
//=============================================================================
|
||||
// ==== Init
|
||||
|
@ -71,7 +71,7 @@ typedef enum _PCTabFlags {
|
|||
//=============================================================================
|
||||
|
||||
- (void)setEditor:(PCEditor *)anEditor;
|
||||
- (void)setString:(NSString *)aString;
|
||||
//- (void)setString:(NSString *)aString;
|
||||
|
||||
//=============================================================================
|
||||
// ==== Text handling
|
||||
|
@ -79,12 +79,12 @@ typedef enum _PCTabFlags {
|
|||
|
||||
- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent;
|
||||
|
||||
- (void)insertText:(id)aString;
|
||||
//- (void)insertText:(id)aString;
|
||||
|
||||
- (void)highlightText;
|
||||
- (void)highlightTextInRange:(NSRange)range;
|
||||
//- (void)highlightText;
|
||||
//- (void)highlightTextInRange:(NSRange)range;
|
||||
|
||||
- (void)keyDown: (NSEvent *)anEvent;
|
||||
//- (void)keyDown: (NSEvent *)anEvent;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -29,8 +29,8 @@
|
|||
|
||||
@implementation PCEditorView
|
||||
|
||||
static BOOL shouldHighlight = NO;
|
||||
static int _tabFlags = PCTab4Sp;
|
||||
//static BOOL shouldHighlight = NO;
|
||||
//static int _tabFlags = PCTab4Sp;
|
||||
|
||||
- (BOOL)becomeFirstResponder
|
||||
{
|
||||
|
@ -50,7 +50,7 @@ static int _tabFlags = PCTab4Sp;
|
|||
//=============================================================================
|
||||
// ==== Class methods
|
||||
//=============================================================================
|
||||
|
||||
/*
|
||||
+ (void)setTabBehaviour:(int)tabFlags
|
||||
{
|
||||
_tabFlags = tabFlags;
|
||||
|
@ -70,52 +70,20 @@ static int _tabFlags = PCTab4Sp;
|
|||
{
|
||||
return shouldHighlight;
|
||||
}
|
||||
|
||||
*/
|
||||
//=============================================================================
|
||||
// ==== Init
|
||||
//=============================================================================
|
||||
|
||||
- (id)initWithFrame:(NSRect)frameRect textContainer:(NSTextContainer*)tc
|
||||
{
|
||||
if ((self = [super initWithFrame:frameRect textContainer:tc]))
|
||||
{
|
||||
shouldHighlight = NO;
|
||||
self = [super initWithFrame:frameRect textContainer:tc];
|
||||
|
||||
_keywords = [[NSArray alloc] initWithObjects:@"@class",
|
||||
@"@selector",
|
||||
@"@interface",
|
||||
@"@implementation",
|
||||
@"@end",
|
||||
@"@protocol",
|
||||
@"#import",
|
||||
@"#include",
|
||||
@"#define",
|
||||
@"#ifdef",
|
||||
@"#ifndef",
|
||||
@"#if defined",
|
||||
@"#else",
|
||||
@"#elif",
|
||||
@"#endif",
|
||||
@"#pragma",
|
||||
@"#warning",
|
||||
nil];
|
||||
#ifndef GNUSTEP_BASE_VERSION
|
||||
_textStorage = [self textStorage];
|
||||
#endif
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
if (scanner)
|
||||
{
|
||||
[scanner release];
|
||||
}
|
||||
|
||||
[_keywords release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -128,24 +96,11 @@ static int _tabFlags = PCTab4Sp;
|
|||
editor = anEditor;
|
||||
}
|
||||
|
||||
- (void)setString:(NSString *)aString
|
||||
{
|
||||
[scanner autorelease];
|
||||
scanner = [[NSScanner alloc] initWithString:aString];
|
||||
|
||||
[super setString:aString];
|
||||
|
||||
if( shouldHighlight )
|
||||
{
|
||||
[self highlightText];
|
||||
}
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
// ==== Text handling
|
||||
//=============================================================================
|
||||
|
||||
- (void)insertText:(id)aString
|
||||
/*- (void)insertText:(id)aString
|
||||
{
|
||||
NSRange txtRange = NSMakeRange(0, [[self textStorage] length]);
|
||||
|
||||
|
@ -156,26 +111,25 @@ static int _tabFlags = PCTab4Sp;
|
|||
[[self textStorage] invalidateAttributesInRange:txtRange];
|
||||
[self highlightTextInRange:txtRange];
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
- (void)highlightText
|
||||
/*- (void)highlightText
|
||||
{
|
||||
NSRange txtRange = NSMakeRange(0, [[self textStorage] length]);
|
||||
|
||||
[self highlightTextInRange:txtRange];
|
||||
}
|
||||
}*/
|
||||
|
||||
- (void)highlightTextInRange:(NSRange)txtRange
|
||||
/*- (void)highlightTextInRange:(NSRange)txtRange
|
||||
{
|
||||
//NSDictionary *aDict;
|
||||
//NSArray *keywords;
|
||||
|
||||
/*
|
||||
aDict = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
editorFont, NSFontAttributeName,
|
||||
@"UnknownCodeType", @"PCCodeTypeAttributeName",
|
||||
nil];
|
||||
*/
|
||||
|
||||
// aDict = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
// editorFont, NSFontAttributeName,
|
||||
// @"UnknownCodeType", @"PCCodeTypeAttributeName",
|
||||
// nil];
|
||||
|
||||
[_textStorage beginEditing];
|
||||
[_textStorage setAttributes:nil range:txtRange];
|
||||
|
@ -188,9 +142,7 @@ static int _tabFlags = PCTab4Sp;
|
|||
[self colouriseComments];
|
||||
[self colouriseCPPComments];
|
||||
|
||||
/*
|
||||
* BIG HACK!
|
||||
*/
|
||||
// * BIG HACK!
|
||||
|
||||
NS_DURING
|
||||
[_textStorage endEditing];
|
||||
|
@ -199,46 +151,45 @@ static int _tabFlags = PCTab4Sp;
|
|||
NS_ENDHANDLER
|
||||
|
||||
[self setNeedsDisplay:YES];
|
||||
}
|
||||
}*/
|
||||
|
||||
- (void)keyDown:(NSEvent *)anEvent
|
||||
/*- (void)keyDown:(NSEvent *)anEvent
|
||||
{
|
||||
/*
|
||||
NSString *chars = [anEvent charactersIgnoringModifiers];
|
||||
int modifiers = [anEvent modifierFlags];
|
||||
|
||||
// NSString *chars = [anEvent charactersIgnoringModifiers];
|
||||
// int modifiers = [anEvent modifierFlags];
|
||||
//
|
||||
// if(([chars lossyCString][0] == 's') && (modifiers & NSCommandKeyMask))
|
||||
// {
|
||||
// [editor saveFile];
|
||||
// return;
|
||||
// }
|
||||
|
||||
if(([chars lossyCString][0] == 's') && (modifiers & NSCommandKeyMask))
|
||||
if ([[anEvent characters] isEqualToString:@"\t"])
|
||||
{
|
||||
[editor saveFile];
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
if( [[anEvent characters] isEqualToString:@"\t"] )
|
||||
{
|
||||
switch( _tabFlags )
|
||||
switch (_tabFlags)
|
||||
{
|
||||
case PCTabTab:
|
||||
[self insertText: @"\t"];
|
||||
break;
|
||||
case PCTab2Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
case PCTab4Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
case PCTab8Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case PCTabTab:
|
||||
[self insertText: @"\t"];
|
||||
break;
|
||||
case PCTab2Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
case PCTab4Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
case PCTab8Sp:
|
||||
[self insertText: @" "];
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
[super keyDown:anEvent];
|
||||
[super keyDown:anEvent];
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2003-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -221,6 +221,10 @@ NSString
|
|||
forKey:@"ShowToolbar"];
|
||||
}
|
||||
|
||||
// ProjectBrowser
|
||||
[windows setObject:NSStringFromRect([[projectBrowser view] frame])
|
||||
forKey:@"ProjectBrowser"];
|
||||
|
||||
// Write to file and exit if prefernces wasn't set to save panels
|
||||
if (![[ud objectForKey:RememberWindows] isEqualToString:@"YES"])
|
||||
{
|
||||
|
@ -404,7 +408,7 @@ NSString
|
|||
{
|
||||
AUTORELEASE(projectName);
|
||||
projectName = [aName copy];
|
||||
[projectWindow setFileIconTitle:projectName];
|
||||
// [projectWindow setFileIconTitle:projectName];
|
||||
}
|
||||
|
||||
- (NSString *)projectName
|
||||
|
@ -1337,8 +1341,10 @@ NSString
|
|||
{
|
||||
NSString *key = [self keyForRootCategoryInCategoryPath:categoryPath];
|
||||
NSArray *pathArray = nil;
|
||||
NSString *listEntry = nil;
|
||||
|
||||
pathArray = [categoryPath componentsSeparatedByString:@"/"];
|
||||
listEntry = [pathArray lastObject];
|
||||
|
||||
/* PCLogInfo(self, @"{%@}{contentAtCategoryPath:} %@",
|
||||
projectName, categoryPath);*/
|
||||
|
@ -1346,6 +1352,7 @@ NSString
|
|||
// Click on /Category
|
||||
if ([pathArray count] == 2)
|
||||
{
|
||||
NSLog(@"Click on Category");
|
||||
if ([projectManager activeProject] != self)
|
||||
{
|
||||
[projectManager setActiveProject:self];
|
||||
|
@ -1361,6 +1368,15 @@ NSString
|
|||
}
|
||||
return rootCategories;
|
||||
}
|
||||
else if ([[listEntry pathExtension] isEqualToString:@"m"]
|
||||
|| [[listEntry pathExtension] isEqualToString:@"h"])
|
||||
{// Class and header files (TODO: test subprojects)
|
||||
return [[projectEditor activeEditor] classNames];
|
||||
}
|
||||
else if ([[listEntry substringToIndex:1] isEqualToString:@"@"])
|
||||
{// Class name (TODO: test subprojects)
|
||||
return [[projectEditor activeEditor] methodNamesForClass:listEntry];
|
||||
}
|
||||
else if ([key isEqualToString:PCSubprojects] && [pathArray count] > 2)
|
||||
{ // Click on "/Subprojects/Name+"
|
||||
PCProject *_subproject = nil;
|
||||
|
@ -1377,11 +1393,11 @@ NSString
|
|||
|
||||
return [_subproject contentAtCategoryPath:spCategoryPath];
|
||||
}
|
||||
else if ([[[categoryPath lastPathComponent] pathExtension] isEqualToString:@"m"]
|
||||
/* else if ([[[categoryPath lastPathComponent] pathExtension] isEqualToString:@"m"]
|
||||
|| [[[categoryPath lastPathComponent] pathExtension] isEqualToString:@"h"])
|
||||
{ // ".m" file
|
||||
return [[projectEditor activeEditor] listOfClasses];
|
||||
}
|
||||
}*/
|
||||
|
||||
return [projectDict objectForKey:key];
|
||||
}
|
||||
|
@ -1412,11 +1428,16 @@ NSString
|
|||
}
|
||||
|
||||
// Class and header files
|
||||
/* if ([[listEntry pathExtension] isEqualToString:@"m"]
|
||||
if ([[listEntry pathExtension] isEqualToString:@"m"]
|
||||
|| [[listEntry pathExtension] isEqualToString:@"h"])
|
||||
{
|
||||
return YES;
|
||||
}*/
|
||||
}
|
||||
|
||||
if ([[listEntry substringToIndex:1] isEqualToString:@"@"])
|
||||
{
|
||||
return YES;
|
||||
}
|
||||
|
||||
// TODO: Libraries
|
||||
// if ([[projectBrowser nameOfSelectedCategory] isEqualToString:@"Libraries"])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -30,6 +30,8 @@
|
|||
#include "PCProjectBrowser.h"
|
||||
#include "PCProjectEditor.h"
|
||||
|
||||
#include "PCEditor.h"
|
||||
|
||||
#include "PCLogController.h"
|
||||
|
||||
NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
|
||||
|
@ -65,6 +67,12 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
|
|||
selector:@selector(projectDictDidChange:)
|
||||
name:PCProjectDictDidChangeNotification
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(editorDidOpen:)
|
||||
name:PCEditorDidOpenNotification
|
||||
object:nil];
|
||||
}
|
||||
|
||||
return self;
|
||||
|
@ -92,7 +100,7 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
|
|||
return browser;
|
||||
}
|
||||
|
||||
// Returns nil if multiple files selected
|
||||
// Returns nil if multiple files or category selected
|
||||
- (NSString *)nameOfSelectedFile
|
||||
{
|
||||
NSString *name = nil;
|
||||
|
@ -453,6 +461,15 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
|
|||
}
|
||||
}
|
||||
|
||||
- (void)editorDidOpen:(NSNotification *)aNotif
|
||||
{
|
||||
/* PCEditor *object = [aNotif object];
|
||||
|
||||
NSLog(@"PCBrowser: %@ classes: %@",
|
||||
[object categoryPath], [object classNames]);*/
|
||||
[self reloadLastColumnAndNotify:NO];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation PCProjectBrowser (ProjectBrowserDelegate)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
@ -38,6 +38,8 @@
|
|||
@class NSView;
|
||||
@class NSScrollView;
|
||||
|
||||
@protocol CodeParser;
|
||||
|
||||
@interface PCProjectEditor : NSObject
|
||||
{
|
||||
PCProject *project;
|
||||
|
@ -46,6 +48,9 @@
|
|||
|
||||
NSMutableDictionary *editorsDict;
|
||||
PCEditor *activeEditor;
|
||||
|
||||
id<CodeParser> aParser;
|
||||
NSConnection *parserConnection;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
@ -97,10 +102,18 @@
|
|||
- (void)editorDidBecomeActive:(NSNotification *)aNotif;
|
||||
- (void)editorDidResignActive:(NSNotification *)aNotif;
|
||||
|
||||
// ===========================================================================
|
||||
// ==== Parser
|
||||
// ===========================================================================
|
||||
|
||||
- (id<CodeParser>)parserForFile:(NSString *)path;
|
||||
- (oneway void)setServer:(id)anObject;
|
||||
|
||||
@end
|
||||
|
||||
extern NSString *PCEditorDidChangeFileNameNotification;
|
||||
|
||||
extern NSString *PCEditorWillOpenNotification;
|
||||
extern NSString *PCEditorDidOpenNotification;
|
||||
extern NSString *PCEditorDidCloseNotification;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
@ -32,9 +32,13 @@
|
|||
|
||||
#include "PCLogController.h"
|
||||
|
||||
#include "CodeParser.h"
|
||||
|
||||
NSString *PCEditorDidChangeFileNameNotification =
|
||||
@"PCEditorDidChangeFileNameNotification";
|
||||
|
||||
NSString *PCEditorWillOpenNotification =
|
||||
@"PCEditorWillOpenNotification";
|
||||
NSString *PCEditorDidOpenNotification =
|
||||
@"PCEditorDidOpenNotification";
|
||||
NSString *PCEditorDidCloseNotification =
|
||||
|
@ -60,31 +64,31 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
|
||||
frame = NSMakeRect(0,0,562,248);
|
||||
componentView = [[NSBox alloc] initWithFrame:frame];
|
||||
[componentView setTitlePosition: NSNoTitle];
|
||||
[componentView setBorderType: NSNoBorder];
|
||||
[componentView setTitlePosition:NSNoTitle];
|
||||
[componentView setBorderType:NSNoBorder];
|
||||
[componentView setAutoresizingMask:NSViewWidthSizable|NSViewHeightSizable];
|
||||
[componentView setContentViewMargins: NSMakeSize(0.0,0.0)];
|
||||
[componentView setContentViewMargins:NSMakeSize(0.0,0.0)];
|
||||
|
||||
frame = NSMakeRect (0, 0, 562, 40);
|
||||
scrollView = [[NSScrollView alloc] initWithFrame:frame];
|
||||
[scrollView setHasHorizontalScroller: NO];
|
||||
[scrollView setHasVerticalScroller: YES];
|
||||
[scrollView setBorderType: NSBezelBorder];
|
||||
[scrollView setHasHorizontalScroller:NO];
|
||||
[scrollView setHasVerticalScroller:YES];
|
||||
[scrollView setBorderType:NSBezelBorder];
|
||||
[scrollView setAutoresizingMask:(NSViewWidthSizable|NSViewHeightSizable)];
|
||||
|
||||
// This is a placeholder!
|
||||
frame = [[scrollView contentView] frame];
|
||||
textView = [[NSTextView alloc] initWithFrame:frame];
|
||||
[textView setMinSize: NSMakeSize (0, 0)];
|
||||
[textView setMaxSize: NSMakeSize(1e7, 1e7)];
|
||||
[textView setRichText: NO];
|
||||
[textView setEditable: NO];
|
||||
[textView setSelectable: YES];
|
||||
[textView setVerticallyResizable: YES];
|
||||
[textView setHorizontallyResizable: NO];
|
||||
[textView setMinSize:NSMakeSize (0, 0)];
|
||||
[textView setMaxSize:NSMakeSize(1e7, 1e7)];
|
||||
[textView setRichText:NO];
|
||||
[textView setEditable:NO];
|
||||
[textView setSelectable:YES];
|
||||
[textView setVerticallyResizable:YES];
|
||||
[textView setHorizontallyResizable:NO];
|
||||
[textView setAutoresizingMask:(NSViewWidthSizable|NSViewHeightSizable)];
|
||||
[[textView textContainer] setWidthTracksTextView: YES];
|
||||
[scrollView setDocumentView: textView];
|
||||
[[textView textContainer] setWidthTracksTextView:YES];
|
||||
[scrollView setDocumentView:textView];
|
||||
RELEASE(textView);
|
||||
|
||||
frame.size = NSMakeSize([scrollView contentSize].width,1e7);
|
||||
|
@ -198,8 +202,8 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
- (void)dealloc
|
||||
{
|
||||
#ifdef DEVELOPMENT
|
||||
NSLog (@"PCProjectEditor: dealloc");
|
||||
#endif
|
||||
NSLog (@"PCProjectEditor: dealloc");
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
|
||||
|
@ -209,7 +213,6 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
RELEASE(componentView);
|
||||
}
|
||||
|
||||
[self closeAllEditors];
|
||||
RELEASE(editorsDict);
|
||||
|
||||
[super dealloc];
|
||||
|
@ -255,9 +258,6 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
editor = [[PCEditor alloc] initWithPath:path
|
||||
categoryPath:categoryPath
|
||||
projectEditor:self];
|
||||
// [componentView setContentView:[editor componentView]];
|
||||
// [[project projectWindow] makeFirstResponder:[editor editorView]];
|
||||
|
||||
[editorsDict setObject:editor forKey:path];
|
||||
RELEASE(editor);
|
||||
}
|
||||
|
@ -320,11 +320,13 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
}
|
||||
}
|
||||
|
||||
// Called by PCProject. After that retainCount goes down and [self dealloc]
|
||||
// called by autorelease mechanism
|
||||
- (BOOL)closeAllEditors
|
||||
{
|
||||
NSEnumerator *enumerator = [editorsDict keyEnumerator];
|
||||
PCEditor *editor;
|
||||
NSString *key;
|
||||
PCEditor *editor = nil;
|
||||
NSString *key = nil;
|
||||
NSMutableArray *editedFiles = [[NSMutableArray alloc] init];
|
||||
|
||||
while ((key = [enumerator nextObject]))
|
||||
|
@ -351,6 +353,11 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
|
||||
[editorsDict removeAllObjects];
|
||||
|
||||
// Stop parser. It releases self.
|
||||
// TODO: There should be a few parsers.
|
||||
[aParser stop];
|
||||
[parserConnection release];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
@ -490,7 +497,7 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
[editorsDict removeObjectForKey:[editor path]];
|
||||
|
||||
if ([editorsDict count])
|
||||
|
@ -511,6 +518,7 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
[[project projectWindow] makeFirstResponder:scrollView];
|
||||
|
||||
[browser setPath:[path stringByDeletingLastPathComponent]];
|
||||
[self setActiveEditor:nil];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -519,7 +527,7 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
PCEditor *editor = [aNotif object];
|
||||
NSString *categoryPath = nil;
|
||||
|
||||
if ([editor projectEditor] != self || activeEditor == editor)
|
||||
if ([editor projectEditor] != self) // || activeEditor == editor)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -536,14 +544,16 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
|
||||
- (void)editorDidResignActive:(NSNotification *)aNotif
|
||||
{
|
||||
PCEditor *editor = [aNotif object];
|
||||
// Clearing activeEditor blocks the ability to get some information from
|
||||
// loaded and visible but not active editor
|
||||
/* PCEditor *editor = [aNotif object];
|
||||
|
||||
if ([editor projectEditor] != self)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
[self setActiveEditor:nil];
|
||||
[self setActiveEditor:nil];*/
|
||||
}
|
||||
|
||||
- (void)editorDidChangeFileName:(NSNotification *)aNotif
|
||||
|
@ -565,5 +575,53 @@ NSString *PCEditorDidResignActiveNotification =
|
|||
[editorsDict setObject:_editor forKey:_newFileName];
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
// ==== Parser
|
||||
// ===========================================================================
|
||||
|
||||
- (id<CodeParser>)parserForFile:(NSString *)path
|
||||
{
|
||||
if (parserConnection == nil)
|
||||
{
|
||||
NSPort *port1 = nil;
|
||||
NSPort *port2 = nil;
|
||||
NSArray *portArray = nil;
|
||||
|
||||
// Create connection to parser server
|
||||
port1 = [NSPort new];
|
||||
port2 = [NSPort new];
|
||||
parserConnection = [[NSConnection alloc] initWithReceivePort:port1
|
||||
sendPort:port2];
|
||||
// Set self as root object for connection with parser.
|
||||
// setRootObject retains self.
|
||||
[parserConnection setRootObject:self];
|
||||
[self release];
|
||||
|
||||
// Ports switched here.
|
||||
portArray = [NSArray arrayWithObjects:port2, port1, nil];
|
||||
|
||||
NSLog(@"PCProjectEditor: detaching parser thread...");
|
||||
|
||||
[NSThread detachNewThreadSelector:@selector(connectWithPorts:)
|
||||
toTarget:[PCObjCParser class]
|
||||
withObject:portArray];
|
||||
// Wait for parser thread initialization (setServer:)
|
||||
while (aParser == nil)
|
||||
{
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
|
||||
beforeDate:[NSDate distantFuture]];
|
||||
}
|
||||
}
|
||||
|
||||
return aParser;
|
||||
}
|
||||
|
||||
- (oneway void)setServer:(id)anObject
|
||||
{
|
||||
NSLog(@"PCProjectEditor: parser thread detached and ready to talk");
|
||||
[anObject setProtocolForProxy:@protocol(CodeParser)];
|
||||
aParser = [anObject retain];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -28,15 +28,7 @@
|
|||
|
||||
@class PCProjectManager;
|
||||
@class PCProjectBrowser;
|
||||
|
||||
@interface PCFileNameField : NSTextField
|
||||
{
|
||||
}
|
||||
|
||||
- (void)setEditableField:(BOOL)yn;
|
||||
- (BOOL)textShouldSetEditable;
|
||||
|
||||
@end
|
||||
@class PCFileNameField;
|
||||
|
||||
@interface PCProjectInspector : NSObject
|
||||
{
|
||||
|
@ -96,7 +88,7 @@
|
|||
|
||||
// File Attributes
|
||||
IBOutlet NSBox *fileAttributesView;
|
||||
IBOutlet NSImageView *fileIconView;
|
||||
IBOutlet PCFileNameIcon *fileIconView;
|
||||
IBOutlet PCFileNameField *fileNameField;
|
||||
NSString *fileName;
|
||||
IBOutlet NSButton *localizableButton;
|
||||
|
@ -165,8 +157,6 @@
|
|||
- (void)createFileAttributes;
|
||||
|
||||
- (void)beginFileRename;
|
||||
- (void)browserDidSetPath:(NSNotification *)aNotif;
|
||||
- (void)setFileName:(NSString *)name andIcon:(NSImage *)icon;
|
||||
- (void)fileNameDidChange:(id)sender;
|
||||
- (void)setPublicHeader:(id)sender;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -28,74 +28,11 @@
|
|||
#include "PCProject.h"
|
||||
#include "PCProjectBrowser.h"
|
||||
#include "PCProjectWindow.h"
|
||||
#include "PCFileNameField.h"
|
||||
#include "PCProjectInspector.h"
|
||||
|
||||
#include "PCLogController.h"
|
||||
|
||||
@implementation PCFileNameField
|
||||
|
||||
- (void)setEditableField:(BOOL)yn
|
||||
{
|
||||
NSRect frame = [self frame];
|
||||
|
||||
if ([self textShouldSetEditable] == NO)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (yn == YES)
|
||||
{
|
||||
frame.size.width += 4;
|
||||
frame.origin.x -= 4;
|
||||
[self setFrame:frame];
|
||||
|
||||
[self setBordered:YES];
|
||||
[self setBackgroundColor:[NSColor whiteColor]];
|
||||
[self setEditable:YES];
|
||||
[self setNeedsDisplay:YES];
|
||||
[[self superview] setNeedsDisplay:YES];
|
||||
}
|
||||
else
|
||||
{
|
||||
frame.size.width -= 4;
|
||||
frame.origin.x += 4;
|
||||
[self setFrame:frame];
|
||||
|
||||
[self setBackgroundColor:[NSColor lightGrayColor]];
|
||||
[self setBordered:NO];
|
||||
[self setEditable:NO];
|
||||
[self setNeedsDisplay:YES];
|
||||
[[self superview] setNeedsDisplay:YES];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)mouseDown:(NSEvent *)theEvent
|
||||
{
|
||||
[self setEditableField:YES];
|
||||
[super mouseDown:theEvent];
|
||||
}
|
||||
|
||||
- (BOOL)textShouldSetEditable
|
||||
{
|
||||
NSString *text = [self stringValue];
|
||||
|
||||
if ([text isEqualToString:@"No files selected"]
|
||||
|| [text isEqualToString:@"Multiple files selected"])
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)textDidEndEditing:(NSNotification *)aNotification
|
||||
{
|
||||
[self setEditableField:NO];
|
||||
[super textDidEndEditing:aNotification];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation PCProjectInspector
|
||||
|
||||
// ============================================================================
|
||||
|
@ -296,12 +233,21 @@
|
|||
[self inspectorPopupDidChange:inspectorPopup];
|
||||
}
|
||||
|
||||
// When user ends editing of text field with Tab or changing focus, entered
|
||||
// changes should be accepted. The exception is PCFileName fields. I'm not sure
|
||||
// if this is correct implementation (action is performed twice if user ends
|
||||
// editing with Enter key)
|
||||
- (void)controlTextDidEndEditing:(NSNotification *)aNotif
|
||||
{
|
||||
NSControl *anObject = [aNotif object];
|
||||
id target = [anObject target];
|
||||
SEL action = [anObject action];
|
||||
|
||||
if ([anObject isKindOfClass:[PCFileNameField class]])
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ([target respondsToSelector:action])
|
||||
{
|
||||
[target performSelector:action withObject:anObject];
|
||||
|
@ -388,9 +334,6 @@
|
|||
|
||||
authorsItems = [projectDict objectForKey:PCAuthors];
|
||||
[authorsList reloadData];
|
||||
|
||||
// File Attributes view
|
||||
// [self setFileNameAndIcon:[project projectBrowser]];
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
|
@ -718,11 +661,9 @@
|
|||
[localizableButton setRefusesFirstResponder:YES];
|
||||
[publicHeaderButton setRefusesFirstResponder:YES];
|
||||
|
||||
/* [[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(browserDidSetPath:)
|
||||
name:PCBrowserDidSetPathNotification
|
||||
object:[project projectBrowser]];*/
|
||||
[fileIconView setFileNameField:fileNameField];
|
||||
[fileIconView setMultipleFilesSelectionText:@"Multiple files selected"];
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(panelDidResignKey:)
|
||||
|
@ -732,16 +673,22 @@
|
|||
|
||||
- (void)beginFileRename
|
||||
{
|
||||
/* if (fileName != nil)
|
||||
{
|
||||
[fileName release];
|
||||
}
|
||||
|
||||
fileName = [[fileNameField stringValue] copy];
|
||||
NSLog(@"fileName: %@", fileName);*/
|
||||
|
||||
[fileNameField setEditableField:YES];
|
||||
[inspectorPanel makeFirstResponder:fileNameField];
|
||||
}
|
||||
|
||||
//- (void)setFileNameAndIcon:(PCProjectBrowser *)browser
|
||||
- (void)setFileName:(NSString *)name andIcon:(NSImage *)icon
|
||||
// Delegate method of PCFileNameField class
|
||||
- (void)controlStringValueDidChange:(NSString *)aString
|
||||
{
|
||||
NSArray *publicHeaders = nil;
|
||||
|
||||
// NSLog(@"PCPI: setFANameAndIcon");
|
||||
NSArray *publicHeaders = nil;
|
||||
|
||||
// Initial default buttons state
|
||||
[localizableButton setEnabled:NO];
|
||||
|
@ -753,15 +700,10 @@
|
|||
{
|
||||
[fileName release];
|
||||
}
|
||||
fileName = [aString copy];
|
||||
|
||||
// fileName = [[browser nameOfSelectedFile] retain];
|
||||
fileName = [name copy];
|
||||
|
||||
if (fileName && icon)
|
||||
if (fileName)
|
||||
{
|
||||
[fileNameField setStringValue:fileName];
|
||||
[fileIconView setImage:[[project projectWindow] fileIconImage]];
|
||||
|
||||
if ([project canHavePublicHeaders]
|
||||
&& [[fileName pathExtension] isEqualToString:@"h"])
|
||||
{
|
||||
|
@ -773,16 +715,17 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
/* else if ([[browser selectedFiles] count] > 1)
|
||||
}
|
||||
|
||||
// Delegate method of PCFileNameField class
|
||||
- (BOOL)textShouldSetEditable:(NSString *)text
|
||||
{
|
||||
if ([[project rootCategories] containsObject:text])
|
||||
{
|
||||
[fileNameField setStringValue:@"Multiple files selected"];
|
||||
[fileIconView setImage:[[project projectWindow] fileIconImage]];
|
||||
}*/
|
||||
else
|
||||
{
|
||||
[fileNameField setStringValue:@"No files selected"];
|
||||
[fileIconView setImage:[NSImage imageNamed:@"common_Unknown"]];
|
||||
return NO;
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)fileNameDidChange:(id)sender
|
||||
|
@ -825,12 +768,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
// --- Notifications
|
||||
- (void)browserDidSetPath:(NSNotification *)aNotif
|
||||
{
|
||||
// [self setFANameAndIcon:[aNotif object]];
|
||||
}
|
||||
|
||||
- (void)panelDidResignKey:(NSNotification *)aNotif
|
||||
{
|
||||
if ([fileNameField isEditable] == YES)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -86,8 +86,8 @@
|
|||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(fileDidOpen:)
|
||||
name:PCEditorDidOpenNotification
|
||||
selector:@selector(fileWillOpen:)
|
||||
name:PCEditorWillOpenNotification
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
|
@ -228,7 +228,7 @@
|
|||
// ==== Notifications
|
||||
// ===========================================================================
|
||||
|
||||
- (void)fileDidOpen:(NSNotification *)aNotif
|
||||
- (void)fileWillOpen:(NSNotification *)aNotif
|
||||
{
|
||||
PCEditor *editor = [aNotif object];
|
||||
NSString *filePath = nil;
|
||||
|
@ -255,7 +255,7 @@
|
|||
row = [[self editedFilesRep] indexOfObject:filePath];
|
||||
[filesList selectRow:row byExtendingSelection:NO];
|
||||
|
||||
PCLogInfo(self, @"fileDidOpen.END");
|
||||
PCLogInfo(self, @"fileWillOpen.END");
|
||||
}
|
||||
|
||||
- (void)fileDidClose:(NSNotification *)aNotif
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -537,6 +537,12 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
|
|||
{
|
||||
projectTypeName = [projectFile objectForKey:PCProjectType];
|
||||
projectClassName = [projectTypes objectForKey:projectTypeName];
|
||||
if (projectClassName == nil)
|
||||
{
|
||||
NSRunAlertPanel(@"Loading Project Failed!",
|
||||
@"Project type '%@' is not supported!",
|
||||
@"OK",nil,nil,projectTypeName);
|
||||
}
|
||||
}
|
||||
|
||||
projectCreator = [NSClassFromString(projectClassName) sharedCreator];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -26,7 +26,9 @@
|
|||
#ifndef _PCProjectWindow_h_
|
||||
#define _PCProjectWindow_h_
|
||||
|
||||
#include "AppKit/AppKit.h"
|
||||
#include <AppKit/AppKit.h>
|
||||
#include "PCFileNameField.h"
|
||||
#include "PCFileNameIcon.h"
|
||||
|
||||
@class PCProject;
|
||||
@class PCProjectBrowser;
|
||||
|
@ -46,8 +48,10 @@
|
|||
PCButton *findButton;
|
||||
PCButton *inspectorButton;
|
||||
|
||||
NSImageView *fileIcon;
|
||||
NSTextField *fileIconTitle;
|
||||
NSTextField *statusLine;
|
||||
|
||||
PCFileNameIcon *fileIcon;
|
||||
PCFileNameField *fileIconTitle;
|
||||
|
||||
PCSplitView *h_split;
|
||||
PCSplitView *v_split;
|
||||
|
@ -58,6 +62,7 @@
|
|||
BOOL _isToolbarVisible;
|
||||
BOOL _hasCustomView;
|
||||
BOOL _hasLoadedFilesView;
|
||||
BOOL _splitViewsRestored;
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
|
@ -66,9 +71,9 @@
|
|||
|
||||
// Will go into gorm file
|
||||
- (void)_initUI;
|
||||
|
||||
- (id)initWithProject:(PCProject *)owner;
|
||||
- (void)setTitle;
|
||||
- (void)setFileIcon:(NSNotification *)notification;
|
||||
|
||||
// ============================================================================
|
||||
// ==== Accessory methods
|
||||
|
@ -77,11 +82,7 @@
|
|||
- (BOOL)hasLoadedFilesView;
|
||||
- (NSView *)customContentView;
|
||||
- (void)setCustomContentView:(NSView *)subview;
|
||||
|
||||
- (NSImage *)fileIconImage;
|
||||
- (void)setFileIconImage:(NSImage *)image;
|
||||
- (NSString *)fileIconTitle;
|
||||
- (void)setFileIconTitle:(NSString *)title;
|
||||
- (void)setStatusLineText:(NSString *)text;
|
||||
|
||||
// ============================================================================
|
||||
// ==== Actions
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
@ -65,140 +65,47 @@
|
|||
|
||||
- (void)_initUI
|
||||
{
|
||||
NSView *_c_view;
|
||||
unsigned int style = NSTitledWindowMask
|
||||
| NSClosableWindowMask
|
||||
| NSMiniaturizableWindowMask
|
||||
| NSResizableWindowMask;
|
||||
NSRect rect;
|
||||
NSRect tmpRect;
|
||||
NSView *browserView = nil;
|
||||
NSRect rect;
|
||||
NSView *browserView = nil;
|
||||
|
||||
/*
|
||||
* Project Window
|
||||
*/
|
||||
rect = NSMakeRect (100,100,560,448);
|
||||
projectWindow = [[NSWindow alloc] initWithContentRect: rect
|
||||
styleMask: style
|
||||
backing: NSBackingStoreBuffered
|
||||
defer: YES];
|
||||
[projectWindow setDelegate: self];
|
||||
[projectWindow setMinSize: NSMakeSize (560,290)];
|
||||
[projectWindow setMiniwindowImage: IMAGE(@"FileProject")];
|
||||
_c_view = [projectWindow contentView];
|
||||
if (projectWindow != nil)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ([NSBundle loadNibNamed:@"ProjectWindow" owner:self] == NO)
|
||||
{
|
||||
PCLogError(self, @"error loading ProjectWindow NIB file!");
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Toolbar
|
||||
*/
|
||||
tmpRect = rect;
|
||||
rect.size.width -= 16;
|
||||
rect.size.height = 48;
|
||||
rect.origin.x = 8;
|
||||
rect.origin.y = 391;
|
||||
toolbarView = [[NSBox alloc] initWithFrame:rect];
|
||||
[toolbarView setTitlePosition:NSNoTitle];
|
||||
[toolbarView setBorderType:NSNoBorder];
|
||||
[toolbarView setAutoresizingMask:NSViewWidthSizable | NSViewMinYMargin];
|
||||
[toolbarView setContentViewMargins:NSMakeSize(0.0,0.0)];
|
||||
[_c_view addSubview:toolbarView];
|
||||
RELEASE(toolbarView);
|
||||
|
||||
buildButton = [[PCButton alloc] initWithFrame:NSMakeRect(0,5,43,43)];
|
||||
[buildButton setRefusesFirstResponder:YES];
|
||||
[buildButton setToolTip:@"Build"];
|
||||
[buildButton setTitle:@"Build"];
|
||||
[buildButton setImage:IMAGE(@"Build")];
|
||||
[buildButton setTarget:self];
|
||||
[buildButton setAction:@selector(showProjectBuild:)];
|
||||
[buildButton setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
|
||||
[buildButton setButtonType:NSMomentaryPushButton];
|
||||
[toolbarView addSubview:buildButton];
|
||||
RELEASE(buildButton);
|
||||
|
||||
launchButton = [[PCButton alloc] initWithFrame:NSMakeRect(44,5,43,43)];
|
||||
[launchButton setRefusesFirstResponder:YES];
|
||||
// [buildButton setImage:IMAGE(@"Build")];
|
||||
|
||||
[launchButton setToolTip:@"Launch/Debug"];
|
||||
[launchButton setTitle:@"Launch/Debug"];
|
||||
[launchButton setImage:IMAGE(@"Run")];
|
||||
[launchButton setTarget:self];
|
||||
[launchButton setAction:@selector(showProjectLaunch:)];
|
||||
[launchButton setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
|
||||
[launchButton setButtonType:NSMomentaryPushButton];
|
||||
[toolbarView addSubview:launchButton];
|
||||
RELEASE (launchButton);
|
||||
|
||||
// [launchButton setImage:IMAGE(@"Run")];
|
||||
if (![project isExecutable])
|
||||
{
|
||||
[launchButton setEnabled:NO];
|
||||
}
|
||||
|
||||
loadedFilesButton = [[PCButton alloc] initWithFrame:NSMakeRect(88,5,43,43)];
|
||||
[loadedFilesButton setRefusesFirstResponder:YES];
|
||||
|
||||
[loadedFilesButton setToolTip:@"Loaded Files"];
|
||||
[loadedFilesButton setTitle:@"Loaded Files"];
|
||||
[loadedFilesButton setImage:IMAGE(@"Files")];
|
||||
[loadedFilesButton setTarget:self];
|
||||
[loadedFilesButton setAction:@selector(showProjectLoadedFiles:)];
|
||||
[loadedFilesButton
|
||||
setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
|
||||
[loadedFilesButton setButtonType:NSMomentaryPushButton];
|
||||
[toolbarView addSubview:loadedFilesButton];
|
||||
RELEASE(loadedFilesButton);
|
||||
|
||||
// [loadedFilesButton setImage:IMAGE(@"Files")];
|
||||
if ([self hasLoadedFilesView])
|
||||
{
|
||||
[loadedFilesButton setEnabled:NO];
|
||||
}
|
||||
|
||||
findButton = [[PCButton alloc] initWithFrame:NSMakeRect(132,5,43,43)];
|
||||
[findButton setRefusesFirstResponder:YES];
|
||||
[findButton setToolTip:@"Find"];
|
||||
[findButton setTitle:@"Find"];
|
||||
[findButton setImage:IMAGE(@"Find")];
|
||||
[findButton setTarget:project];
|
||||
[findButton setAction:@selector(showFindView:)];
|
||||
[findButton setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
|
||||
[findButton setButtonType:NSMomentaryPushButton];
|
||||
[toolbarView addSubview:findButton];
|
||||
RELEASE(findButton);
|
||||
|
||||
inspectorButton = [[PCButton alloc] initWithFrame:NSMakeRect(176,5,43,43)];
|
||||
[inspectorButton setRefusesFirstResponder:YES];
|
||||
// [findButton setImage:IMAGE(@"Find")];
|
||||
|
||||
[inspectorButton setToolTip:@"Inspector"];
|
||||
[inspectorButton setTitle:@"Inspector"];
|
||||
[inspectorButton setImage:IMAGE(@"Inspector")];
|
||||
[inspectorButton setTarget:[project projectManager]];
|
||||
[inspectorButton setAction:@selector(showProjectInspector:)];
|
||||
[inspectorButton setAutoresizingMask:(NSViewMaxXMargin | NSViewMinYMargin)];
|
||||
[inspectorButton setButtonType:NSMomentaryPushButton];
|
||||
[toolbarView addSubview:inspectorButton];
|
||||
RELEASE(inspectorButton);
|
||||
|
||||
// [inspectorButton setImage:IMAGE(@"Inspector")];
|
||||
|
||||
/*
|
||||
* File icon and title
|
||||
*/
|
||||
fileIcon = [[NSImageView alloc] initWithFrame:NSMakeRect (496,0,48,48)];
|
||||
[fileIcon setRefusesFirstResponder:YES];
|
||||
[fileIcon setEditable:NO];
|
||||
[fileIcon setAutoresizingMask:(NSViewMinXMargin | NSViewMinYMargin)];
|
||||
[fileIcon setImage:IMAGE(@"projectSuitcase")];
|
||||
[toolbarView addSubview:fileIcon];
|
||||
RELEASE(fileIcon);
|
||||
[fileIcon setFileNameField:fileIconTitle];
|
||||
|
||||
fileIconTitle = [[NSTextField alloc]
|
||||
initWithFrame: NSMakeRect (308,4,180,21)];
|
||||
[fileIconTitle setAutoresizingMask: (NSViewMinXMargin
|
||||
| NSViewMinYMargin
|
||||
| NSViewWidthSizable)];
|
||||
[fileIconTitle setEditable:NO];
|
||||
[fileIconTitle setSelectable:NO];
|
||||
[fileIconTitle setDrawsBackground: NO];
|
||||
[fileIconTitle setAlignment:NSRightTextAlignment];
|
||||
[fileIconTitle setBezeled:NO];
|
||||
[toolbarView addSubview:fileIconTitle];
|
||||
RELEASE(fileIconTitle);
|
||||
|
||||
[statusLine setStringValue:@""];
|
||||
|
||||
/*
|
||||
* Hosrizontal split view
|
||||
*/
|
||||
|
@ -207,8 +114,7 @@
|
|||
rect.size.width -= 16;
|
||||
rect.origin.x += 8;
|
||||
rect.origin.y = -2;
|
||||
h_split = [[PCSplitView alloc] initWithFrame:rect];
|
||||
[h_split setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
|
||||
[h_split setDelegate:self];
|
||||
|
||||
/*
|
||||
* Vertical split view
|
||||
|
@ -218,13 +124,6 @@
|
|||
{
|
||||
rect.size.height = 130;
|
||||
}
|
||||
/* else
|
||||
{
|
||||
rect.size.height -= 64;
|
||||
rect.size.width -= 16;
|
||||
rect.origin.x += 8;
|
||||
rect.origin.y = 0;
|
||||
}*/
|
||||
v_split = [[PCSplitView alloc] initWithFrame:rect];
|
||||
[v_split setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
|
||||
[v_split setVertical:YES];
|
||||
|
@ -254,10 +153,6 @@
|
|||
{
|
||||
[self _createCustomView];
|
||||
}
|
||||
|
||||
[_c_view addSubview:h_split];
|
||||
RELEASE(h_split);
|
||||
|
||||
}
|
||||
|
||||
- (id)initWithProject:(PCProject *)owner
|
||||
|
@ -269,8 +164,10 @@
|
|||
|
||||
project = owner;
|
||||
_isToolbarVisible = YES;
|
||||
_splitViewsRestored = NO;
|
||||
|
||||
[self _initUI];
|
||||
[self setTitle];
|
||||
|
||||
// Window
|
||||
[projectWindow setFrameAutosaveName: @"ProjectWindow"];
|
||||
|
@ -294,15 +191,6 @@
|
|||
[self toggleToolbar];
|
||||
}
|
||||
|
||||
[self setTitle];
|
||||
|
||||
// Browser
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector (setFileIcon:)
|
||||
name:PCBrowserDidSetPathNotification
|
||||
object:[project projectBrowser]];
|
||||
|
||||
// Project dictionary
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
|
@ -356,144 +244,6 @@
|
|||
// ==== Accessory methods
|
||||
// ============================================================================
|
||||
|
||||
- (NSImage *)fileIconImage
|
||||
{
|
||||
return [fileIcon image];
|
||||
}
|
||||
|
||||
- (void)setFileIconImage:(NSImage *)image
|
||||
{
|
||||
[fileIcon setImage:image];
|
||||
}
|
||||
|
||||
- (void)setFileIcon:(NSNotification *)notification
|
||||
{
|
||||
id object = [notification object];
|
||||
NSString *categoryName = nil;
|
||||
NSString *fileName = nil;
|
||||
NSString *fileExtension = nil;
|
||||
NSString *iconName = nil;
|
||||
NSImage *icon = nil;
|
||||
PCProjectInspector *inspector = [[project projectManager] projectInspector];
|
||||
|
||||
fileName = [object nameOfSelectedFile];
|
||||
if (fileName)
|
||||
{
|
||||
fileExtension = [fileName pathExtension];
|
||||
}
|
||||
else
|
||||
{
|
||||
categoryName = [object nameOfSelectedCategory];
|
||||
}
|
||||
|
||||
PCLogError(self,@"{setFileIcon} file %@ category %@",
|
||||
fileName, categoryName);
|
||||
|
||||
// Should be provided by PC*Proj bundles
|
||||
if ([[object selectedFiles] count] > 1)
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"MultiFiles"];
|
||||
}
|
||||
else if (!categoryName && !fileName) // Nothing selected
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"projectSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Classes"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"classSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Headers"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"headerSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Other Sources"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"genericSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Interfaces"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"nibSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Images"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"iconSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Other Resources"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"otherSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Subprojects"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"subprojectSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Documentation"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"helpSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Supporting Files"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"genericSuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Libraries"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"librarySuitcase"];
|
||||
}
|
||||
else if ([categoryName isEqualToString: @"Non Project Files"])
|
||||
{
|
||||
iconName = [[NSString alloc] initWithString:@"projectSuitcase"];
|
||||
}
|
||||
|
||||
if (iconName != nil)
|
||||
{
|
||||
icon = IMAGE(iconName);
|
||||
RELEASE(iconName);
|
||||
}
|
||||
else if (fileExtension != nil && ![fileExtension isEqualToString:@""])
|
||||
{
|
||||
icon = [[NSWorkspace sharedWorkspace] iconForFile:fileName];
|
||||
}
|
||||
|
||||
// Set icon to Project Window and Project Inspector
|
||||
if (icon != nil)
|
||||
{
|
||||
[fileIcon setImage:icon];
|
||||
}
|
||||
|
||||
// Set title
|
||||
if ([[object selectedFiles] count] > 1)
|
||||
{
|
||||
[fileIconTitle setStringValue:
|
||||
[NSString stringWithFormat:
|
||||
@"%i files", [[object selectedFiles] count]]];
|
||||
[inspector setFileName:@"Multiple" andIcon:icon];
|
||||
}
|
||||
else if (fileName)
|
||||
{
|
||||
[fileIconTitle setStringValue:fileName];
|
||||
[inspector setFileName:fileName andIcon:icon];
|
||||
}
|
||||
else if (categoryName)
|
||||
{
|
||||
[fileIconTitle setStringValue:categoryName];
|
||||
[inspector setFileName:nil andIcon:nil];
|
||||
}
|
||||
else
|
||||
{
|
||||
[fileIconTitle setStringValue:[project projectName]];
|
||||
[inspector setFileName:nil andIcon:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSString *)fileIconTitle
|
||||
{
|
||||
return [fileIconTitle stringValue];
|
||||
}
|
||||
|
||||
- (void)setFileIconTitle:(NSString *)title
|
||||
{
|
||||
[fileIconTitle setStringValue:title];
|
||||
}
|
||||
|
||||
- (BOOL)hasCustomView
|
||||
{
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
|
@ -549,37 +299,15 @@
|
|||
[customView display];
|
||||
}
|
||||
|
||||
- (void)setStatusLineText:(NSString *)text
|
||||
{
|
||||
[statusLine setStringValue:text];
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// ==== Actions
|
||||
// ============================================================================
|
||||
|
||||
- (void)showProjectLoadedFiles:(id)sender
|
||||
{
|
||||
NSPanel *panel = [[project projectManager] loadedFilesPanel];
|
||||
NSScrollView *componentView = [[project projectLoadedFiles] componentView];
|
||||
|
||||
// PCLogInfo(self, @"showProjectLoadedFiles");
|
||||
|
||||
if ([self hasLoadedFilesView])
|
||||
{
|
||||
if (panel && [panel isVisible])
|
||||
{
|
||||
[panel close];
|
||||
}
|
||||
|
||||
[componentView setBorderType:NSBezelBorder];
|
||||
[componentView setFrame:NSMakeRect(0,0,128,130)];
|
||||
[v_split addSubview:[[project projectLoadedFiles] componentView]];
|
||||
[v_split adjustSubviews];
|
||||
}
|
||||
else
|
||||
{
|
||||
[componentView setBorderType:NSNoBorder];
|
||||
[panel orderFront:nil];
|
||||
[v_split adjustSubviews];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showProjectBuild:(id)sender
|
||||
{
|
||||
NSView *view = [[project projectBuilder] componentView];
|
||||
|
@ -631,6 +359,38 @@
|
|||
}
|
||||
}
|
||||
|
||||
- (void)showProjectLoadedFiles:(id)sender
|
||||
{
|
||||
NSPanel *panel = [[project projectManager] loadedFilesPanel];
|
||||
NSScrollView *componentView = [[project projectLoadedFiles] componentView];
|
||||
|
||||
// PCLogInfo(self, @"showProjectLoadedFiles");
|
||||
|
||||
if ([self hasLoadedFilesView])
|
||||
{
|
||||
if (panel && [panel isVisible])
|
||||
{
|
||||
[panel close];
|
||||
}
|
||||
|
||||
[componentView setBorderType:NSBezelBorder];
|
||||
[componentView setFrame:NSMakeRect(0,0,128,130)];
|
||||
[v_split addSubview:[[project projectLoadedFiles] componentView]];
|
||||
[v_split adjustSubviews];
|
||||
}
|
||||
else
|
||||
{
|
||||
[componentView setBorderType:NSNoBorder];
|
||||
[panel orderFront:nil];
|
||||
[v_split adjustSubviews];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)showProjectInspector:(id)sender
|
||||
{
|
||||
[[project projectManager] showProjectInspector:sender];
|
||||
}
|
||||
|
||||
- (void)showProjectEditor:(id)sender
|
||||
{
|
||||
[self setCustomContentView:[[project projectEditor] componentView]];
|
||||
|
@ -646,7 +406,6 @@
|
|||
{
|
||||
NSRect rect;
|
||||
NSView *cView = [projectWindow contentView];
|
||||
|
||||
|
||||
if (_isToolbarVisible)
|
||||
{
|
||||
|
@ -954,5 +713,73 @@
|
|||
{
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// ==== SplitView delegate
|
||||
// ============================================================================
|
||||
|
||||
- (void) splitView:(NSSplitView *)sender
|
||||
resizeSubviewsWithOldSize:(NSSize)oldSize
|
||||
{
|
||||
NSDictionary *projectDict = [project projectDict];
|
||||
NSDictionary *windowsDict = [projectDict objectForKey:@"PC_WINDOWS"];
|
||||
NSSize hSplitSize = [sender frame].size;
|
||||
NSRect browserRect;
|
||||
NSRect vSplitRect;
|
||||
NSRect boxRect;
|
||||
|
||||
// Use saved frame of ProjectBrowser only first time. Every time window is
|
||||
// resized use new size of subviews.
|
||||
if (_splitViewsRestored)
|
||||
{
|
||||
browserRect = [[[project projectBrowser] view] frame];
|
||||
}
|
||||
else
|
||||
{
|
||||
browserRect =
|
||||
NSRectFromString([windowsDict objectForKey:@"ProjectBrowser"]);
|
||||
}
|
||||
|
||||
// v_split resize
|
||||
vSplitRect = browserRect;
|
||||
if (vSplitRect.size.height > 0)
|
||||
{
|
||||
vSplitRect.size.width = hSplitSize.width;
|
||||
}
|
||||
else
|
||||
{
|
||||
vSplitRect.size.width = hSplitSize.width;
|
||||
vSplitRect.size.height = 100;
|
||||
vSplitRect.origin.x = 0;
|
||||
vSplitRect.origin.y = 0;
|
||||
}
|
||||
NSLog(@"v_split %@", NSStringFromRect(vSplitRect));
|
||||
[v_split setFrame:vSplitRect];
|
||||
|
||||
// v_split subviews resize
|
||||
if ([self hasLoadedFilesView])
|
||||
{
|
||||
// browser
|
||||
NSLog(@"browser %@", NSStringFromRect(browserRect));
|
||||
[[[project projectBrowser] view] setFrame:browserRect];
|
||||
|
||||
// loaded files
|
||||
boxRect.origin.x = browserRect.size.width + [v_split dividerThickness];
|
||||
boxRect.origin.y = 0;
|
||||
boxRect.size.width = [v_split frame].size.width - boxRect.origin.x;
|
||||
boxRect.size.height = [v_split frame].size.height;
|
||||
NSLog(@"loadedFiles %@", NSStringFromRect(boxRect));
|
||||
[[[project projectLoadedFiles] componentView] setFrame:boxRect];
|
||||
}
|
||||
|
||||
// editor
|
||||
boxRect.origin.x = 0;
|
||||
boxRect.origin.y = browserRect.size.height + [sender dividerThickness];
|
||||
boxRect.size.width = hSplitSize.width;
|
||||
boxRect.size.height = hSplitSize.height - boxRect.origin.y;
|
||||
[customView setFrame:boxRect];
|
||||
|
||||
_splitViewsRestored = YES;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2002-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*
|
||||
* Project ProjectCenter
|
||||
*
|
||||
* Created with ProjectCenter - http://www.gnustep.org
|
||||
* Created with ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -2,41 +2,7 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"alignLeft:",
|
||||
"capitalizeWord:",
|
||||
"changeFont:",
|
||||
"copy:",
|
||||
"delete:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteWordBackward:",
|
||||
"fax:",
|
||||
"loosenKerning:",
|
||||
"miniaturize:",
|
||||
"moveDown:",
|
||||
"moveLeft:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveUp:",
|
||||
"moveWordForward:",
|
||||
"open:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontFontPanel:",
|
||||
"orderOut:",
|
||||
"pasteAsPlainText:",
|
||||
"performClose:",
|
||||
"raiseBaseline:",
|
||||
"saveAllDocuments:",
|
||||
"scrollLineDown:",
|
||||
"scrollViaScroller:",
|
||||
"selectParagraph:",
|
||||
"selectWord:",
|
||||
"showWindow:",
|
||||
"swapWithMark:",
|
||||
"takeObjectValueFrom:",
|
||||
"toggle:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"turnOffLigatures:",
|
||||
"unscript:",
|
||||
"useStandardLigatures:",
|
||||
"searchOrderPopupDidChange:",
|
||||
"setSearchOrder:",
|
||||
"removeSearchOrder:",
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -2,74 +2,6 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"alignCenter:",
|
||||
"alignLeft:",
|
||||
"arrangeInFront:",
|
||||
"capitalizeWord:",
|
||||
"checkSpelling:",
|
||||
"complete:",
|
||||
"copyFont:",
|
||||
"cut:",
|
||||
"deleteBackward:",
|
||||
"deleteToBeginningOfLine:",
|
||||
"deleteToEndOfLine:",
|
||||
"deleteToMark:",
|
||||
"deleteWordForward:",
|
||||
"deselectAll:",
|
||||
"hide:",
|
||||
"indent:",
|
||||
"lowerBaseline:",
|
||||
"makeKeyAndOrderFront:",
|
||||
"miniaturizeAll:",
|
||||
"moveBackwardAndModifySelection:",
|
||||
"moveDownAndModifySelection:",
|
||||
"moveForwardAndModifySelection:",
|
||||
"moveRight:",
|
||||
"moveToBeginningOfLine:",
|
||||
"moveToEndOfDocument:",
|
||||
"moveToEndOfParagraph:",
|
||||
"moveUpAndModifySelection:",
|
||||
"moveWordBackwardAndModifySelection:",
|
||||
"moveWordForwardAndModifySelection:",
|
||||
"ok:",
|
||||
"openDocument:",
|
||||
"orderFront:",
|
||||
"orderFrontDataLinkPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderOut:",
|
||||
"pageUp:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteFont:",
|
||||
"performClose:",
|
||||
"performZoom:",
|
||||
"raiseBaseline:",
|
||||
"runPageLayout:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocumentAs:",
|
||||
"scrollLineDown:",
|
||||
"scrollPageDown:",
|
||||
"scrollViaScroller:",
|
||||
"selectLine:",
|
||||
"selectParagraph:",
|
||||
"selectText:",
|
||||
"selectWord:",
|
||||
"showGuessPanel:",
|
||||
"showWindow:",
|
||||
"subscript:",
|
||||
"swapWithMark:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"terminate:",
|
||||
"toggle:",
|
||||
"toggleRuler:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transposeWords:",
|
||||
"turnOffLigatures:",
|
||||
"unhide:",
|
||||
"unscript:",
|
||||
"useAllLigatures:",
|
||||
"useStandardLigatures:",
|
||||
"zoom:",
|
||||
"fileNameDidChange:"
|
||||
);
|
||||
Super = NSObject;
|
||||
|
@ -81,6 +13,13 @@
|
|||
);
|
||||
Super = NSTextField;
|
||||
};
|
||||
PCFileNameIcon = {
|
||||
Actions = (
|
||||
);
|
||||
Outlets = (
|
||||
);
|
||||
Super = NSImageView;
|
||||
};
|
||||
PCProjectInspector = {
|
||||
Actions = (
|
||||
"fileNameDidChange:",
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -2,74 +2,6 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"alignCenter:",
|
||||
"alignLeft:",
|
||||
"arrangeInFront:",
|
||||
"capitalizeWord:",
|
||||
"checkSpelling:",
|
||||
"complete:",
|
||||
"copyFont:",
|
||||
"cut:",
|
||||
"deleteBackward:",
|
||||
"deleteToBeginningOfLine:",
|
||||
"deleteToEndOfLine:",
|
||||
"deleteToMark:",
|
||||
"deleteWordForward:",
|
||||
"deselectAll:",
|
||||
"hide:",
|
||||
"indent:",
|
||||
"lowerBaseline:",
|
||||
"makeKeyAndOrderFront:",
|
||||
"miniaturizeAll:",
|
||||
"moveBackwardAndModifySelection:",
|
||||
"moveDownAndModifySelection:",
|
||||
"moveForwardAndModifySelection:",
|
||||
"moveRight:",
|
||||
"moveToBeginningOfLine:",
|
||||
"moveToEndOfDocument:",
|
||||
"moveToEndOfParagraph:",
|
||||
"moveUpAndModifySelection:",
|
||||
"moveWordBackwardAndModifySelection:",
|
||||
"moveWordForwardAndModifySelection:",
|
||||
"ok:",
|
||||
"openDocument:",
|
||||
"orderFront:",
|
||||
"orderFrontDataLinkPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderOut:",
|
||||
"pageUp:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteFont:",
|
||||
"performClose:",
|
||||
"performZoom:",
|
||||
"raiseBaseline:",
|
||||
"runPageLayout:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocumentAs:",
|
||||
"scrollLineDown:",
|
||||
"scrollPageDown:",
|
||||
"scrollViaScroller:",
|
||||
"selectLine:",
|
||||
"selectParagraph:",
|
||||
"selectText:",
|
||||
"selectWord:",
|
||||
"showGuessPanel:",
|
||||
"showWindow:",
|
||||
"subscript:",
|
||||
"swapWithMark:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"terminate:",
|
||||
"toggle:",
|
||||
"toggleRuler:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transposeWords:",
|
||||
"turnOffLigatures:",
|
||||
"unhide:",
|
||||
"unscript:",
|
||||
"useAllLigatures:",
|
||||
"useStandardLigatures:",
|
||||
"zoom:",
|
||||
"closeNewFilePanel:",
|
||||
"createFile:",
|
||||
"newFilePopupChanged:"
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,144 +1,8 @@
|
|||
{
|
||||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"activateContextHelpMode:",
|
||||
"alignCenter:",
|
||||
"alignJustified:",
|
||||
"alignLeft:",
|
||||
"alignRight:",
|
||||
"arrangeInFront:",
|
||||
"cancel:",
|
||||
"capitalizeWord:",
|
||||
"changeColor:",
|
||||
"changeFont:",
|
||||
"checkSpelling:",
|
||||
"close:",
|
||||
"complete:",
|
||||
"copy:",
|
||||
"copyFont:",
|
||||
"copyRuler:",
|
||||
"cut:",
|
||||
"delete:",
|
||||
"deleteBackward:",
|
||||
"deleteForward:",
|
||||
"deleteToBeginningOfLine:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteToEndOfLine:",
|
||||
"deleteToEndOfParagraph:",
|
||||
"deleteToMark:",
|
||||
"deleteWordBackward:",
|
||||
"deleteWordForward:",
|
||||
"deminiaturize:",
|
||||
"deselectAll:",
|
||||
"fax:",
|
||||
"hide:",
|
||||
"hideOtherApplications:",
|
||||
"indent:",
|
||||
"loosenKerning:",
|
||||
"lowerBaseline:",
|
||||
"lowercaseWord:",
|
||||
"makeKeyAndOrderFront:",
|
||||
"miniaturize:",
|
||||
"miniaturizeAll:",
|
||||
"moveBackward:",
|
||||
"moveBackwardAndModifySelection:",
|
||||
"moveDown:",
|
||||
"moveDownAndModifySelection:",
|
||||
"moveForward:",
|
||||
"moveForwardAndModifySelection:",
|
||||
"moveLeft:",
|
||||
"moveRight:",
|
||||
"moveToBeginningOfDocument:",
|
||||
"moveToBeginningOfLine:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveToEndOfDocument:",
|
||||
"moveToEndOfLine:",
|
||||
"moveToEndOfParagraph:",
|
||||
"moveUp:",
|
||||
"moveUpAndModifySelection:",
|
||||
"moveWordBackward:",
|
||||
"moveWordBackwardAndModifySelection:",
|
||||
"moveWordForward:",
|
||||
"moveWordForwardAndModifySelection:",
|
||||
"newDocument:",
|
||||
"ok:",
|
||||
"openDocument:",
|
||||
"orderBack:",
|
||||
"orderFront:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontDataLinkPanel:",
|
||||
"orderFrontFontPanel:",
|
||||
"orderFrontHelpPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderFrontStandardInfoPanel:",
|
||||
"orderOut:",
|
||||
"pageDown:",
|
||||
"pageUp:",
|
||||
"paste:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteAsRichText:",
|
||||
"pasteFont:",
|
||||
"pasteRuler:",
|
||||
"performClose:",
|
||||
"performMiniaturize:",
|
||||
"performZoom:",
|
||||
"print:",
|
||||
"raiseBaseline:",
|
||||
"revertDocumentToSaved:",
|
||||
"runPageLayout:",
|
||||
"runToolbarCustomizationPalette:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocument:",
|
||||
"saveDocumentAs:",
|
||||
"saveDocumentTo:",
|
||||
"scrollLineDown:",
|
||||
"scrollLineUp:",
|
||||
"scrollPageDown:",
|
||||
"scrollPageUp:",
|
||||
"scrollViaScroller:",
|
||||
"selectAll:",
|
||||
"selectLine:",
|
||||
"selectNextKeyView:",
|
||||
"selectParagraph:",
|
||||
"selectPreviousKeyView:",
|
||||
"selectText:",
|
||||
"selectText:",
|
||||
"selectToMark:",
|
||||
"selectWord:",
|
||||
"showContextHelp:",
|
||||
"showGuessPanel:",
|
||||
"showHelp:",
|
||||
"showWindow:",
|
||||
"stop:",
|
||||
"subscript:",
|
||||
"superscript:",
|
||||
"swapWithMark:",
|
||||
"takeDoubleValueFrom:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeIntValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"takeStringValueFrom:",
|
||||
"terminate:",
|
||||
"tightenKerning:",
|
||||
"toggle:",
|
||||
"toggleContinuousSpellChecking:",
|
||||
"toggleRuler:",
|
||||
"toggleToolbarShown:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transpose:",
|
||||
"transposeWords:",
|
||||
"turnOffKerning:",
|
||||
"turnOffLigatures:",
|
||||
"underline:",
|
||||
"unhide:",
|
||||
"unhideAllApplications:",
|
||||
"unscript:",
|
||||
"uppercaseWord:",
|
||||
"useAllLigatures:",
|
||||
"useStandardKerning:",
|
||||
"useStandardLigatures:",
|
||||
"yank:",
|
||||
"zoom:",
|
||||
"closeNewSubprojectPanel:",
|
||||
"createSubproject:"
|
||||
);
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -2,144 +2,6 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"activateContextHelpMode:",
|
||||
"alignCenter:",
|
||||
"alignJustified:",
|
||||
"alignLeft:",
|
||||
"alignRight:",
|
||||
"arrangeInFront:",
|
||||
"cancel:",
|
||||
"capitalizeWord:",
|
||||
"changeColor:",
|
||||
"checkSpelling:",
|
||||
"close:",
|
||||
"complete:",
|
||||
"copy:",
|
||||
"copyFont:",
|
||||
"copyRuler:",
|
||||
"cut:",
|
||||
"delete:",
|
||||
"deleteBackward:",
|
||||
"deleteForward:",
|
||||
"deleteToBeginningOfLine:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteToEndOfLine:",
|
||||
"deleteToEndOfParagraph:",
|
||||
"deleteToMark:",
|
||||
"deleteWordBackward:",
|
||||
"deleteWordForward:",
|
||||
"deminiaturize:",
|
||||
"deselectAll:",
|
||||
"fax:",
|
||||
"hide:",
|
||||
"hideOtherApplications:",
|
||||
"indent:",
|
||||
"loosenKerning:",
|
||||
"lowerBaseline:",
|
||||
"lowercaseWord:",
|
||||
"makeKeyAndOrderFront:",
|
||||
"miniaturize:",
|
||||
"miniaturizeAll:",
|
||||
"moveBackward:",
|
||||
"moveBackwardAndModifySelection:",
|
||||
"moveDown:",
|
||||
"moveDownAndModifySelection:",
|
||||
"moveForward:",
|
||||
"moveForwardAndModifySelection:",
|
||||
"moveLeft:",
|
||||
"moveRight:",
|
||||
"moveToBeginningOfDocument:",
|
||||
"moveToBeginningOfLine:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveToEndOfDocument:",
|
||||
"moveToEndOfLine:",
|
||||
"moveToEndOfParagraph:",
|
||||
"moveUp:",
|
||||
"moveUpAndModifySelection:",
|
||||
"moveWordBackward:",
|
||||
"moveWordBackwardAndModifySelection:",
|
||||
"moveWordForward:",
|
||||
"moveWordForwardAndModifySelection:",
|
||||
"newDocument:",
|
||||
"ok:",
|
||||
"open:",
|
||||
"openDocument:",
|
||||
"orderBack:",
|
||||
"orderFront:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontDataLinkPanel:",
|
||||
"orderFrontHelpPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderFrontStandardInfoPanel:",
|
||||
"orderOut:",
|
||||
"pageDown:",
|
||||
"pageUp:",
|
||||
"paste:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteAsRichText:",
|
||||
"pasteFont:",
|
||||
"pasteRuler:",
|
||||
"performClose:",
|
||||
"performMiniaturize:",
|
||||
"performZoom:",
|
||||
"print:",
|
||||
"raiseBaseline:",
|
||||
"redo:",
|
||||
"revertDocumentToSaved:",
|
||||
"runPageLayout:",
|
||||
"runToolbarCustomizationPalette:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocument:",
|
||||
"saveDocumentAs:",
|
||||
"saveDocumentTo:",
|
||||
"scrollLineDown:",
|
||||
"scrollLineUp:",
|
||||
"scrollPageDown:",
|
||||
"scrollPageUp:",
|
||||
"scrollViaScroller:",
|
||||
"selectAll:",
|
||||
"selectLine:",
|
||||
"selectNextKeyView:",
|
||||
"selectParagraph:",
|
||||
"selectPreviousKeyView:",
|
||||
"selectText:",
|
||||
"selectToMark:",
|
||||
"selectWord:",
|
||||
"showContextHelp:",
|
||||
"showGuessPanel:",
|
||||
"showHelp:",
|
||||
"showWindow:",
|
||||
"stop:",
|
||||
"subscript:",
|
||||
"superscript:",
|
||||
"swapWithMark:",
|
||||
"takeDoubleValueFrom:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeIntValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"takeStringValueFrom:",
|
||||
"terminate:",
|
||||
"tightenKerning:",
|
||||
"toggle:",
|
||||
"toggleContinuousSpellChecking:",
|
||||
"toggleRuler:",
|
||||
"toggleToolbarShown:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transpose:",
|
||||
"transposeWords:",
|
||||
"turnOffKerning:",
|
||||
"turnOffLigatures:",
|
||||
"underline:",
|
||||
"undo:",
|
||||
"unhide:",
|
||||
"unhideAllApplications:",
|
||||
"unscript:",
|
||||
"uppercaseWord:",
|
||||
"useAllLigatures:",
|
||||
"useStandardKerning:",
|
||||
"useStandardLigatures:",
|
||||
"yank:",
|
||||
"zoom:",
|
||||
"setCurrentLanguage:"
|
||||
);
|
||||
Super = NSObject;
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,144 +1,8 @@
|
|||
{
|
||||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"activateContextHelpMode:",
|
||||
"alignCenter:",
|
||||
"alignJustified:",
|
||||
"alignLeft:",
|
||||
"alignRight:",
|
||||
"arrangeInFront:",
|
||||
"cancel:",
|
||||
"capitalizeWord:",
|
||||
"changeColor:",
|
||||
"changeFont:",
|
||||
"checkSpelling:",
|
||||
"close:",
|
||||
"complete:",
|
||||
"copy:",
|
||||
"copyFont:",
|
||||
"copyRuler:",
|
||||
"cut:",
|
||||
"delete:",
|
||||
"deleteBackward:",
|
||||
"deleteForward:",
|
||||
"deleteToBeginningOfLine:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteToEndOfLine:",
|
||||
"deleteToEndOfParagraph:",
|
||||
"deleteToMark:",
|
||||
"deleteWordBackward:",
|
||||
"deleteWordForward:",
|
||||
"deminiaturize:",
|
||||
"deselectAll:",
|
||||
"fax:",
|
||||
"hide:",
|
||||
"hideOtherApplications:",
|
||||
"indent:",
|
||||
"loosenKerning:",
|
||||
"lowerBaseline:",
|
||||
"lowercaseWord:",
|
||||
"makeKeyAndOrderFront:",
|
||||
"miniaturize:",
|
||||
"miniaturizeAll:",
|
||||
"moveBackward:",
|
||||
"moveBackwardAndModifySelection:",
|
||||
"moveDown:",
|
||||
"moveDownAndModifySelection:",
|
||||
"moveForward:",
|
||||
"moveForwardAndModifySelection:",
|
||||
"moveLeft:",
|
||||
"moveRight:",
|
||||
"moveToBeginningOfDocument:",
|
||||
"moveToBeginningOfLine:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveToEndOfDocument:",
|
||||
"moveToEndOfLine:",
|
||||
"moveToEndOfParagraph:",
|
||||
"moveUp:",
|
||||
"moveUpAndModifySelection:",
|
||||
"moveWordBackward:",
|
||||
"moveWordBackwardAndModifySelection:",
|
||||
"moveWordForward:",
|
||||
"moveWordForwardAndModifySelection:",
|
||||
"newDocument:",
|
||||
"ok:",
|
||||
"open:",
|
||||
"openDocument:",
|
||||
"orderBack:",
|
||||
"orderFront:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontDataLinkPanel:",
|
||||
"orderFrontFontPanel:",
|
||||
"orderFrontHelpPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderFrontStandardInfoPanel:",
|
||||
"orderOut:",
|
||||
"pageDown:",
|
||||
"pageUp:",
|
||||
"paste:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteAsRichText:",
|
||||
"pasteFont:",
|
||||
"pasteRuler:",
|
||||
"performClose:",
|
||||
"performMiniaturize:",
|
||||
"performZoom:",
|
||||
"print:",
|
||||
"raiseBaseline:",
|
||||
"revertDocumentToSaved:",
|
||||
"runPageLayout:",
|
||||
"runToolbarCustomizationPalette:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocument:",
|
||||
"saveDocumentAs:",
|
||||
"saveDocumentTo:",
|
||||
"scrollLineDown:",
|
||||
"scrollLineUp:",
|
||||
"scrollPageDown:",
|
||||
"scrollPageUp:",
|
||||
"scrollViaScroller:",
|
||||
"selectAll:",
|
||||
"selectLine:",
|
||||
"selectNextKeyView:",
|
||||
"selectParagraph:",
|
||||
"selectPreviousKeyView:",
|
||||
"selectText:",
|
||||
"selectToMark:",
|
||||
"selectWord:",
|
||||
"showContextHelp:",
|
||||
"showGuessPanel:",
|
||||
"showHelp:",
|
||||
"showWindow:",
|
||||
"stop:",
|
||||
"subscript:",
|
||||
"superscript:",
|
||||
"swapWithMark:",
|
||||
"takeDoubleValueFrom:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeIntValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"takeStringValueFrom:",
|
||||
"terminate:",
|
||||
"tightenKerning:",
|
||||
"toggle:",
|
||||
"toggleContinuousSpellChecking:",
|
||||
"toggleRuler:",
|
||||
"toggleToolbarShown:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transpose:",
|
||||
"transposeWords:",
|
||||
"turnOffKerning:",
|
||||
"turnOffLigatures:",
|
||||
"underline:",
|
||||
"unhide:",
|
||||
"unhideAllApplications:",
|
||||
"unscript:",
|
||||
"uppercaseWord:",
|
||||
"useAllLigatures:",
|
||||
"useStandardKerning:",
|
||||
"useStandardLigatures:",
|
||||
"yank:",
|
||||
"zoom:",
|
||||
"addAuthor:",
|
||||
"removeAuthor:",
|
||||
"upAuthor:",
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -2,75 +2,7 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"alignCenter:",
|
||||
"alignLeft:",
|
||||
"arrangeInFront:",
|
||||
"capitalizeWord:",
|
||||
"changeFont:",
|
||||
"close:",
|
||||
"copy:",
|
||||
"copyRuler:",
|
||||
"delete:",
|
||||
"deleteForward:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteToEndOfParagraph:",
|
||||
"deleteWordBackward:",
|
||||
"deminiaturize:",
|
||||
"fax:",
|
||||
"hideOtherApplications:",
|
||||
"loosenKerning:",
|
||||
"lowercaseWord:",
|
||||
"miniaturize:",
|
||||
"moveBackward:",
|
||||
"moveDown:",
|
||||
"moveForward:",
|
||||
"moveLeft:",
|
||||
"moveToBeginningOfDocument:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveToEndOfLine:",
|
||||
"moveUp:",
|
||||
"moveWordBackward:",
|
||||
"moveWordForward:",
|
||||
"newDocument:",
|
||||
"open:",
|
||||
"orderBack:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontFontPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderOut:",
|
||||
"pageUp:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteFont:",
|
||||
"performClose:",
|
||||
"performZoom:",
|
||||
"raiseBaseline:",
|
||||
"runPageLayout:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocumentAs:",
|
||||
"scrollLineDown:",
|
||||
"scrollPageDown:",
|
||||
"scrollViaScroller:",
|
||||
"selectLine:",
|
||||
"selectParagraph:",
|
||||
"selectText:",
|
||||
"selectWord:",
|
||||
"showGuessPanel:",
|
||||
"showWindow:",
|
||||
"subscript:",
|
||||
"swapWithMark:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"terminate:",
|
||||
"toggle:",
|
||||
"toggleRuler:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transposeWords:",
|
||||
"turnOffLigatures:",
|
||||
"unhide:",
|
||||
"unscript:",
|
||||
"useAllLigatures:",
|
||||
"useStandardLigatures:",
|
||||
"zoom:",
|
||||
"inspectorPopupDidChange:"
|
||||
);
|
||||
Super = NSObject;
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2000-2002 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -2,75 +2,7 @@
|
|||
"## Comment" = "Do NOT change this file, Gorm maintains it";
|
||||
FirstResponder = {
|
||||
Actions = (
|
||||
"alignCenter:",
|
||||
"alignLeft:",
|
||||
"arrangeInFront:",
|
||||
"capitalizeWord:",
|
||||
"changeFont:",
|
||||
"close:",
|
||||
"copy:",
|
||||
"copyRuler:",
|
||||
"delete:",
|
||||
"deleteForward:",
|
||||
"deleteToBeginningOfParagraph:",
|
||||
"deleteToEndOfParagraph:",
|
||||
"deleteWordBackward:",
|
||||
"deminiaturize:",
|
||||
"fax:",
|
||||
"hideOtherApplications:",
|
||||
"loosenKerning:",
|
||||
"lowercaseWord:",
|
||||
"miniaturize:",
|
||||
"moveBackward:",
|
||||
"moveDown:",
|
||||
"moveForward:",
|
||||
"moveLeft:",
|
||||
"moveToBeginningOfDocument:",
|
||||
"moveToBeginningOfParagraph:",
|
||||
"moveToEndOfLine:",
|
||||
"moveUp:",
|
||||
"moveWordBackward:",
|
||||
"moveWordForward:",
|
||||
"newDocument:",
|
||||
"open:",
|
||||
"orderBack:",
|
||||
"orderFrontColorPanel:",
|
||||
"orderFrontFontPanel:",
|
||||
"orderFrontStandardAboutPanel:",
|
||||
"orderOut:",
|
||||
"pageUp:",
|
||||
"pasteAsPlainText:",
|
||||
"pasteFont:",
|
||||
"performClose:",
|
||||
"performZoom:",
|
||||
"raiseBaseline:",
|
||||
"runPageLayout:",
|
||||
"saveAllDocuments:",
|
||||
"saveDocumentAs:",
|
||||
"scrollLineDown:",
|
||||
"scrollPageDown:",
|
||||
"scrollViaScroller:",
|
||||
"selectLine:",
|
||||
"selectParagraph:",
|
||||
"selectText:",
|
||||
"selectWord:",
|
||||
"showGuessPanel:",
|
||||
"showWindow:",
|
||||
"subscript:",
|
||||
"swapWithMark:",
|
||||
"takeFloatValueFrom:",
|
||||
"takeObjectValueFrom:",
|
||||
"terminate:",
|
||||
"toggle:",
|
||||
"toggleRuler:",
|
||||
"toggleTraditionalCharacterShape:",
|
||||
"transposeWords:",
|
||||
"turnOffLigatures:",
|
||||
"unhide:",
|
||||
"unscript:",
|
||||
"useAllLigatures:",
|
||||
"useStandardLigatures:",
|
||||
"zoom:"
|
||||
"orderFrontFontPanel:"
|
||||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001-2004 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001 Free Software Foundation
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
GNUstep ProjectCenter - http://www.gnustep.org
|
||||
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
|
||||
|
||||
Copyright (C) 2001-2004 Free Software Foundation
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue