diff --git a/PCLib/PCProject+ComponentHandling.h b/PCLib/PCProject+ComponentHandling.h index e7ef0bd..1d8c9f2 100644 --- a/PCLib/PCProject+ComponentHandling.h +++ b/PCLib/PCProject+ComponentHandling.h @@ -20,6 +20,8 @@ - (void)showRunView:(id)sender; - (void)showEditorView:(id)sender; +- (void)runSelectedTarget:(id)sender; + - (void)showInspector:(id)sender; - (id)updatedAttributeView; diff --git a/PCLib/PCProject+ComponentHandling.m b/PCLib/PCProject+ComponentHandling.m index 37b06c2..992ac37 100644 --- a/PCLib/PCProject+ComponentHandling.m +++ b/PCLib/PCProject+ComponentHandling.m @@ -20,16 +20,16 @@ { switch ([[sender selectedCell] tag]) { - case 0: + case BUILD_TAG: [self showBuildView:self]; break; - case 1: + case SETTINGS_TAG: [self showInspector:self]; break; - case 2: + case PREFS_TAG: [self showBuildTargetPanel:self]; break; - case 3: + case LAUNCH_TAG: if ([self isExecutable]) { [self showRunView:self]; } @@ -39,7 +39,7 @@ @"OK",nil,nil); } break; - case 4: + case EDITOR_TAG: [self showEditorView:self]; break; default: @@ -107,6 +107,15 @@ [projectManager showInspectorForProject:self]; } +- (void)runSelectedTarget:(id)sender +{ + if (!projectDebugger) { + projectDebugger = [[PCProjectDebugger alloc] initWithProject:self]; + } + + [projectDebugger run:sender]; +} + - (id)updatedAttributeView { return projectAttributeInspectorView; diff --git a/PCLib/PCProject.h b/PCLib/PCProject.h index 83df4e5..f41bee0 100644 --- a/PCLib/PCProject.h +++ b/PCLib/PCProject.h @@ -49,6 +49,12 @@ #define TARGET_MAKE_CLEAN @"MakeClean" #define TARGET_MAKE_RPM @"MakeRPM" +#define BUILD_TAG 0 +#define SETTINGS_TAG 1 +#define PREFS_TAG 2 +#define LAUNCH_TAG 3 +#define EDITOR_TAG 4 + //============================================================================= // ==== Not used yet //============================================================================= diff --git a/PCLib/PCProject.m b/PCLib/PCProject.m index 69de334..8179189 100644 --- a/PCLib/PCProject.m +++ b/PCLib/PCProject.m @@ -32,10 +32,6 @@ #import "PCSplitView.h" #import "PCEditorController.h" -#if defined(GNUSTEP) -#import -#endif - @interface PCProject (CreateUI) - (void)_initUI; @@ -136,40 +132,40 @@ RELEASE(matrix); button = [matrix cellAtRow:0 column:0]; - [button setTag:0]; + [button setTag:BUILD_TAG]; [button setImagePosition:NSImageAbove]; [button setTitle:@"Build"]; [button setImage:IMAGE(@"ProjectCentre_build")]; [button setButtonType:NSMomentaryPushButton]; button = [matrix cellAtRow:0 column:1]; - [button setTag:1]; - [button setImagePosition:NSImageAbove]; - [button setTitle:@"Settings"]; - [button setImage:IMAGE(@"ProjectCentre_settings.tiff")]; - [button setButtonType:NSMomentaryPushButton]; - - button = [matrix cellAtRow:0 column:2]; - [button setTag:2]; - [button setImagePosition:NSImageAbove]; - [button setTitle:@"Options"]; - [button setImage:IMAGE(@"ProjectCentre_prefs.tiff")]; - [button setButtonType:NSMomentaryPushButton]; - - button = [matrix cellAtRow:0 column:3]; - [button setTag:3]; + [button setTag:LAUNCH_TAG]; [button setImagePosition:NSImageAbove]; [button setTitle:@"Run"]; [button setImage:IMAGE(@"ProjectCentre_run.tiff")]; [button setButtonType:NSMomentaryPushButton]; - button = [matrix cellAtRow:0 column:4]; - [button setTag:4]; + button = [matrix cellAtRow:0 column:2]; + [button setTag:SETTINGS_TAG]; + [button setImagePosition:NSImageAbove]; + [button setTitle:@"Settings"]; + [button setImage:IMAGE(@"ProjectCentre_settings.tiff")]; + [button setButtonType:NSMomentaryPushButton]; + + button = [matrix cellAtRow:0 column:3]; + [button setTag:EDITOR_TAG]; [button setImagePosition:NSImageAbove]; [button setTitle:@"Editor"]; [button setImage:IMAGE(@"ProjectCentre_files.tiff")]; [button setButtonType:NSMomentaryPushButton]; + button = [matrix cellAtRow:0 column:4]; + [button setTag:PREFS_TAG]; + [button setImagePosition:NSImageAbove]; + [button setTitle:@"Options"]; + [button setImage:IMAGE(@"ProjectCentre_prefs.tiff")]; + [button setButtonType:NSMomentaryPushButton]; + /* * Build Options Panel * diff --git a/ProjectCenter/PCAppController+MenuHandling.h b/ProjectCenter/PCAppController+MenuHandling.h index 0eada24..de15cab 100644 --- a/ProjectCenter/PCAppController+MenuHandling.h +++ b/ProjectCenter/PCAppController+MenuHandling.h @@ -33,7 +33,11 @@ - (void)showInfoPanel:(id)sender; - (void)showInspector:(id)sender; +- (void)showEditorPanel:(id)sender; +- (void)showRunPanel:(id)sender; - (void)showBuildPanel:(id)sender; +- (void)runTarget:(id)sender; + - (void)showFindPanel:(id)sender; - (void)findNext:(id)sender; - (void)findPrevious:(id)sender; diff --git a/ProjectCenter/PCAppController+MenuHandling.m b/ProjectCenter/PCAppController+MenuHandling.m index 6f9cf26..03c645f 100644 --- a/ProjectCenter/PCAppController+MenuHandling.m +++ b/ProjectCenter/PCAppController+MenuHandling.m @@ -50,11 +50,26 @@ [projectManager showInspectorForProject:[projectManager activeProject]]; } +- (void)showEditorPanel:(id)sender +{ + [[projectManager activeProject] showEditorView:self]; +} + +- (void)showRunPanel:(id)sender +{ + [[projectManager activeProject] showRunView:self]; +} + - (void)showBuildPanel:(id)sender { [[projectManager activeProject] showBuildView:self]; } +- (void)runTarget:(id)sender +{ + [[projectManager activeProject] runSelectedTarget:self]; +} + - (void)showFindPanel:(id)sender { [[PCTextFinder sharedFinder] showFindPanel:self]; diff --git a/ProjectCenter/PCMenuController.m b/ProjectCenter/PCMenuController.m index 8a4a55f..facc64b 100644 --- a/ProjectCenter/PCMenuController.m +++ b/ProjectCenter/PCMenuController.m @@ -322,6 +322,14 @@ if ([[menuItem title] isEqualToString:@"Close"]) return NO; if ([[menuItem title] isEqualToString:@"Save..."]) return NO; if ([[menuItem title] isEqualToString:@"Save As..."]) return NO; + + // Embedded Project Views + if ([[menuItem title] isEqualToString:@"Inspector Panel"]) return NO; + if ([[menuItem title] isEqualToString:@"Launch Panel"]) return NO; + if ([[menuItem title] isEqualToString:@"Build Panel"]) return NO; + if ([[menuItem title] isEqualToString:@"Editor Panel"]) return NO; + + if ([[menuItem title] isEqualToString:@"Run..."]) return NO; } // File related menu items diff --git a/ProjectCenter/ProjectCenter_main.m b/ProjectCenter/ProjectCenter_main.m index bece70c..e34035d 100644 --- a/ProjectCenter/ProjectCenter_main.m +++ b/ProjectCenter/ProjectCenter_main.m @@ -150,9 +150,12 @@ void createMenu() tools = [[[NSMenu alloc] init] autorelease]; [menu setSubmenu:tools forItem:[menu itemWithTitle:@"Tools"]]; - [tools addItemWithTitle:@"Build Panel" action:@selector(showBuildPanel:) keyEquivalent:@""]; + [tools addItemWithTitle:@"Launch Panel" action:@selector(showRunPanel:) keyEquivalent:@"L"]; + [tools addItemWithTitle:@"Build Panel" action:@selector(showBuildPanel:) keyEquivalent:@"B"]; + [tools addItemWithTitle:@"Editor Panel" action:@selector(showEditorPanel:) keyEquivalent:@"E"]; [tools addItemWithTitle:@"Inspector Panel" action:@selector(showInspector:) keyEquivalent:@""]; [tools addItemWithTitle:@"Find" action:action keyEquivalent:@""]; + [tools addItemWithTitle:@"Run..." action:@selector(runTarget:) keyEquivalent:@"r"]; /* * Find submenu