* ChangeLog; Update.

* Modules/Preferences/Misc/PCMiscPrefs.h,
* Modules/Preferences/Misc/PCMiscPrefs.m,
* Modules/Preferences/Misc/Resources/MiscPrefs.gorm/data.classes,
* Modules/Preferences/Misc/Resources/MiscPrefs.gorm/objects.gorm:
Add new setting UseTearOffWindows.
* Framework/PCProjectWindow.m: Use new setting.
* Modules/Editors/ProjectCenter/PCEditor.m:
(dealloc): Add releasing _window.
* Documentation/TODO: Update


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@28042 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Sergii Stoian 2009-03-05 00:42:59 +00:00
parent 51459e04f9
commit ec139b282b
9 changed files with 110 additions and 25 deletions

View file

@ -1,4 +1,17 @@
2009-03-03 00:08 Sergii Stoian <stoyan255@gmail.com>
2009-03-05 02:43 Sergii Stoian <stoyan255@gmail.com>
* ChangeLog: Update.
* Modules/Preferences/Misc/PCMiscPrefs.h,
* Modules/Preferences/Misc/PCMiscPrefs.m,
* Modules/Preferences/Misc/Resources/MiscPrefs.gorm/data.classes,
* Modules/Preferences/Misc/Resources/MiscPrefs.gorm/objects.gorm:
Add new setting UseTearOffWindows.
* Framework/PCProjectWindow.m: Use new setting.
* Modules/Editors/ProjectCenter/PCEditor.m:
(dealloc): Add releasing _window.
* Documentation/TODO: Update.
2009-03-05 01:01 Sergii Stoian <stoyan255@gmail.com>
* Framework/PCProjectManager.m:
(convertLegacyProject:atPath:): Correctly convert legacy application
@ -8,7 +21,7 @@
is not text file. Situation when editor for non text files called to
be opened must be reviewd.
2009-03-03 00:08 Sergii Stoian <stoyan255@gmail.com>
2009-03-05 00:08 Sergii Stoian <stoyan255@gmail.com>
* Framework/PCProjectBrowser.m: Stop using 'SeparateEditor'
prefernce. Remove use of preferences code.

View file

@ -55,10 +55,11 @@ ProjectCenter 0.6
- Finish parsing gcc output (make errors, etc.) stoyan
- Implement interaction with Editor (errors, warnings) stoyan
--- Project Editor ---------------------------------------------
- go to line stoyan
- review situations when editor is opened stoyan
- implement go to line stoyan
- Implement interaction with Builder (errors, warnings) stoyan
- Implement indentation stoyan
- undo inside editor stoyan
- implement undo inside editor stoyan
- Think about imlementing pending adding/removal of files ???
- Split "Application" to "Application GORM" and
"Application Renaissance" project types ???
@ -74,6 +75,7 @@ ProjectCenter 0.7
- Add support for non-project files ???
- Implement symbols indexing. This feature touches Browser
(class and method list) and Editor (autocompletion) ???
- Editor: implement autocompletion ???
- Implement Plist editor for editing project files ???
- An initial project wide find feature ???
- Better integration with other tools (GORM) ???

View file

@ -95,8 +95,8 @@
[contentBox display];
}
/* PCLogInfo(self, @"orderFront: %@ -> %@",
builderView, [builderView superview]);*/
/* NSLog(self, @"orderFront: %@ -> %@",
builderView, [builderView superview]);*/
[panel orderFront:self];
}

View file

@ -338,11 +338,11 @@
- (void)showProjectBuild:(id)sender
{
NSView *view = [[project projectBuilder] componentView];
NSPanel *buildPanel = [[project projectManager] buildPanel];
id <PCPreferences> prefs = [[project projectManager] prefController];
NSView *view = [[project projectBuilder] componentView];
NSPanel *buildPanel = [[project projectManager] buildPanel];
if ([[[[project projectManager] prefController] objectForKey:SeparateBuilder]
isEqualToString: @"YES"])
if ([[prefs objectForKey:UseTearOffWindows] isEqualToString:@"YES"])
{
if ([customView contentView] == view)
{
@ -369,13 +369,13 @@
view = [[project projectLauncher] componentView];
launchPanel = [[project projectManager] launchPanel];
if ([[prefs objectForKey:SeparateLauncher] isEqualToString: @"YES"])
if ([[prefs objectForKey:UseTearOffWindows] isEqualToString:@"YES"])
{
if ([customView contentView] == view)
{
[self showProjectEditor:self];
}
[launchPanel orderFront: nil];
[launchPanel orderFront:nil];
}
else
{
@ -389,14 +389,22 @@
- (void)showProjectLoadedFiles:(id)sender
{
NSPanel *panel = [[project projectManager] loadedFilesPanel];
NSScrollView *componentView;
id <PCPreferences> prefs = [[project projectManager] prefController];
NSPanel *panel = [[project projectManager] loadedFilesPanel];
NSScrollView *componentView;
componentView = (NSScrollView *)[[project projectLoadedFiles] componentView];
// PCLogInfo(self, @"showProjectLoadedFiles");
if ([self hasLoadedFilesView])
// if ([self hasLoadedFilesView])
if ([[prefs objectForKey:UseTearOffWindows] isEqualToString:@"YES"])
{
[componentView setBorderType:NSNoBorder];
[panel orderFront:nil];
[v_split adjustSubviews];
}
else
{
if (panel && [panel isVisible])
{
@ -408,12 +416,6 @@
[v_split addSubview:[[project projectLoadedFiles] componentView]];
[v_split adjustSubviews];
}
else
{
[componentView setBorderType:NSNoBorder];
[panel orderFront:nil];
[v_split adjustSubviews];
}
}
- (void)showProjectInspector:(id)sender
@ -582,6 +584,48 @@
customView = nil;
}*/
if ([[prefs objectForKey:UseTearOffWindows] isEqualToString:@"YES"])
{
// Project Build
if ([[[project projectBuilder] componentView] window] == projectWindow)
{
[self showProjectBuild:self];
}
// Project Launch
if ([[[project projectLauncher] componentView] window] == projectWindow)
{
[self showProjectLaunch:self];
}
// Loaded Files
if ([[v_split subviews] count] == 2)
{
[self showProjectLoadedFiles:self];
}
[loadedFilesButton setEnabled:YES];
}
else
{
NSPanel *buildPanel = [[project projectManager] buildPanel];
NSPanel *launchPanel = [[project projectManager] launchPanel];
// Project Build
if ([buildPanel isVisible] == YES)
{
[self showProjectBuild:self];
}
// Project Launch
if ([launchPanel isVisible] == YES)
{
[self showProjectLaunch:self];
}
// Loaded Files
if ([[v_split subviews] count] == 1)
{
[self showProjectLoadedFiles:self];
}
[loadedFilesButton setEnabled:NO];
}
/*
// Project Builder
if ([[prefs objectForKey:@"SeparateBuilder"] isEqualToString:@"YES"])
{
@ -635,7 +679,7 @@
[self showProjectLoadedFiles:self];
}
[loadedFilesButton setEnabled:YES];
}
}*/
}
- (void)browserDidSetPath:(NSNotification *)aNotif

View file

@ -212,6 +212,7 @@
RELEASE(_categoryPath);
RELEASE(_intScrollView);
RELEASE(_storage);
RELEASE(_window);
// RELEASE(parserClasses);
RELEASE(parserMethods);

View file

@ -34,6 +34,7 @@
#define FullPathInFilePanels @"FullPathInFilePanels"
#define RememberWindows @"RememberWindows"
#define DisplayLog @"DisplayLog"
#define UseTearOffWindows @"UseTearOffWindows"
#define Debugger @"Debugger"
#define Editor @"Editor"
@ -47,6 +48,7 @@
IBOutlet NSButton *fullPathInFilePanels;
IBOutlet NSButton *rememberWindows;
IBOutlet NSButton *displayLog;
IBOutlet NSButton *useTearOffWindows;
IBOutlet NSTextField *debuggerField;
IBOutlet NSButton *debuggerButton;

View file

@ -56,6 +56,7 @@
[fullPathInFilePanels setRefusesFirstResponder:YES];
[rememberWindows setRefusesFirstResponder:YES];
[displayLog setRefusesFirstResponder:YES];
[useTearOffWindows setRefusesFirstResponder:YES];
[debuggerButton setRefusesFirstResponder:YES];
[editorButton setRefusesFirstResponder:YES];
@ -81,6 +82,7 @@
[prefs setObject:@"YES" forKey:FullPathInFilePanels notify:NO];
[prefs setObject:@"YES" forKey:RememberWindows notify:NO];
[prefs setObject:@"NO" forKey:DisplayLog notify:NO];
[prefs setObject:@"YES" forKey:UseTearOffWindows notify:NO];
[prefs setObject:@"/usr/bin/gdb" forKey:Debugger notify:NO];
[prefs setObject:@"ProjectCenter" forKey:Editor notify:NO];
@ -107,6 +109,10 @@
state = [val isEqualToString:@"YES"] ? NSOnState : NSOffState;
[displayLog setState:state];
val = [prefs objectForKey:UseTearOffWindows];
state = [val isEqualToString:@"YES"] ? NSOnState : NSOffState;
[useTearOffWindows setState:state];
if (!(val = [prefs objectForKey:Debugger]))
val = PCDefaultDebugger;
[debuggerField setStringValue:val];
@ -178,6 +184,20 @@
[prefs setObject:state forKey:DisplayLog notify:YES];
}
- (void)setUseTearOffWindows:(id)sender
{
NSString *state;
if (useTearOffWindows == nil)
{
useTearOffWindows = sender;
return;
}
state = ([sender state] == NSOffState) ? @"NO" : @"YES";
[prefs setObject:state forKey:UseTearOffWindows notify:YES];
}
- (void)setDebugger:(id)sender
{
NSArray *files;

View file

@ -2,8 +2,9 @@
"## Comment" = "Do NOT change this file, Gorm maintains it";
FirstResponder = {
Actions = (
"setDisplayLog:",
"setUseTearOffWindows:",
"setDebugger:",
"setDisplayLog:",
"setEditor:",
"setFullPathInFilePanels:",
"setPromptWhenQuit:",
@ -18,7 +19,8 @@
"setFullPathInFilePanels:",
"setPromptWhenQuit:",
"setDisplayLog:",
"setRememberWindows:"
"setRememberWindows:",
"setUseTearOffWindows:"
);
Outlets = (
debuggerButton,
@ -29,7 +31,8 @@
miscView,
promptWhenQuit,
displayLog,
rememberWindows
rememberWindows,
useTearOffWindows
);
Super = NSObject;
};