ce proj inspector, build from ctxt menu

This commit is contained in:
Basile Burg 2016-02-06 16:31:00 +01:00
parent 2ad52c2a79
commit 241732d8b5
1 changed files with 19 additions and 1 deletions

View File

@ -36,6 +36,7 @@ type
private private
fActOpenFile: TAction; fActOpenFile: TAction;
fActSelConf: TAction; fActSelConf: TAction;
fActBuildConf: TAction;
fProject: TCENativeProject; fProject: TCENativeProject;
fFileNode, fConfNode: TTreeNode; fFileNode, fConfNode: TTreeNode;
fImpsNode, fInclNode: TTreeNode; fImpsNode, fInclNode: TTreeNode;
@ -44,6 +45,7 @@ type
procedure actUpdate(sender: TObject); procedure actUpdate(sender: TObject);
procedure TreeDblClick(sender: TObject); procedure TreeDblClick(sender: TObject);
procedure actOpenFileExecute(sender: TObject); procedure actOpenFileExecute(sender: TObject);
procedure actBuildExecute(sender: TObject);
// //
procedure projNew(aProject: ICECommonProject); procedure projNew(aProject: ICECommonProject);
procedure projClosing(aProject: ICECommonProject); procedure projClosing(aProject: ICECommonProject);
@ -76,6 +78,10 @@ begin
fActSelConf.Caption := 'Select configuration'; fActSelConf.Caption := 'Select configuration';
fActSelConf.OnExecute := @actOpenFileExecute; fActSelConf.OnExecute := @actOpenFileExecute;
fActSelConf.OnUpdate := @actUpdate; fActSelConf.OnUpdate := @actUpdate;
fActBuildConf:= TAction.Create(self);
fActBuildConf.Caption := 'Build configuration';
fActBuildConf.OnExecute := @actBuildExecute;
fActBuildConf.OnUpdate := @actUpdate;
// //
inherited; inherited;
// //
@ -117,7 +123,7 @@ end;
function TCEProjectInspectWidget.contextActionCount: integer; function TCEProjectInspectWidget.contextActionCount: integer;
begin begin
exit(2); exit(3);
end; end;
function TCEProjectInspectWidget.contextAction(index: integer): TAction; function TCEProjectInspectWidget.contextAction(index: integer): TAction;
@ -125,6 +131,7 @@ begin
case index of case index of
0: exit(fActOpenFile); 0: exit(fActOpenFile);
1: exit(fActSelConf); 1: exit(fActSelConf);
2: exit(fActBuildConf);
else exit(nil); else exit(nil);
end; end;
end; end;
@ -133,6 +140,15 @@ procedure TCEProjectInspectWidget.actOpenFileExecute(sender: TObject);
begin begin
TreeDblClick(sender); TreeDblClick(sender);
end; end;
procedure TCEProjectInspectWidget.actBuildExecute(sender: TObject);
begin
if fProject.isNotNil then
begin
actOpenFileExecute(sender);
fProject.compile;
end;
end;
{$ENDREGION} {$ENDREGION}
{$REGION ICEProjectMonitor -----------------------------------------------------} {$REGION ICEProjectMonitor -----------------------------------------------------}
@ -237,8 +253,10 @@ procedure TCEProjectInspectWidget.actUpdate(sender: TObject);
begin begin
fActSelConf.Enabled := false; fActSelConf.Enabled := false;
fActOpenFile.Enabled := false; fActOpenFile.Enabled := false;
fActBuildConf.Enabled:= false;
if Tree.Selected.isNil then exit; if Tree.Selected.isNil then exit;
fActSelConf.Enabled := Tree.Selected.Parent = fConfNode; fActSelConf.Enabled := Tree.Selected.Parent = fConfNode;
fActBuildConf.Enabled := Tree.Selected.Parent = fConfNode;
fActOpenFile.Enabled := Tree.Selected.Parent = fFileNode; fActOpenFile.Enabled := Tree.Selected.Parent = fFileNode;
end; end;