IDE: build modes: started selecting active mode

git-svn-id: trunk@23236 -
This commit is contained in:
mattias 2009-12-22 17:56:03 +00:00
parent 7312388f96
commit 565b703706
4 changed files with 142 additions and 69 deletions

View File

@ -1,51 +1,101 @@
object BuildModesEditorFrame: TBuildModesEditorFrame object BuildModesEditorFrame: TBuildModesEditorFrame
Left = 0 Left = 0
Height = 300 Height = 306
Top = 0 Top = 0
Width = 400 Width = 419
ClientHeight = 300 ClientHeight = 306
ClientWidth = 400 ClientWidth = 419
OnClick = FrameClick
TabOrder = 0 TabOrder = 0
DesignLeft = 460 DesignLeft = 460
DesignTop = 269 DesignTop = 269
object BuildModesToolBar: TToolBar object BuildModeBtnPanel: TPanel
Left = 0 Left = 0
Height = 26 Height = 31
Top = 0 Top = 0
Width = 400 Width = 419
Caption = 'BuildModesToolBar' Align = alTop
AutoSize = True
ClientHeight = 31
ClientWidth = 419
TabOrder = 0 TabOrder = 0
object NewBuildModeToolButton: TToolButton object NewBuildModeSpeedButton: TSpeedButton
Left = 1 Left = 1
Top = 2 Height = 29
Caption = 'New' Top = 1
ParentShowHint = False Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = NewBuildModeButtonClick
ShowHint = True ShowHint = True
OnClick = NewBuildModeToolButtonClick ParentShowHint = False
end end
object NewBuildFlagToolButton: TToolButton object NewBuildFlagSpeedButton: TSpeedButton
Left = 24 Left = 24
Top = 2 Height = 29
Caption = 'NewBuildFlagToolButton' Top = 1
ParentShowHint = False Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = NewBuildFlagButtonClick
ShowHint = True ShowHint = True
OnClick = NewBuildFlagToolButtonClick ParentShowHint = False
end end
object DeleteBMRowToolButton: TToolButton object DeleteBMRowSpeedButton: TSpeedButton
Left = 47 Left = 47
Top = 2 Height = 29
Caption = 'DeleteBMRowToolButton' Top = 1
ParentShowHint = False Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = DeleteBMRowButtonClick
ShowHint = True ShowHint = True
OnClick = DeleteBMRowToolButtonClick ParentShowHint = False
end end
object NewBuildModeGroupToolButton: TToolButton object NewBuildGroupSpeedButton: TSpeedButton
Left = 70 Left = 70
Top = 2 Height = 29
Caption = 'NewBuildModeGroupToolButton' Top = 1
Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = NewBuildGroupButtonClick
ShowHint = True
ParentShowHint = False
end
object CurBuildModeLabel: TLabel
AnchorSideLeft.Control = NewBuildGroupSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CurBuildModeComboBox
AnchorSideTop.Side = asrCenter
Left = 108
Height = 18
Top = 6
Width = 123
BorderSpacing.Left = 15
Caption = 'CurBuildModeLabel'
ParentColor = False
end
object CurBuildModeComboBox: TComboBox
AnchorSideLeft.Control = CurBuildModeLabel
AnchorSideLeft.Side = asrBottom
Left = 231
Height = 29
Top = 1
Width = 176
ItemHeight = 0
ParentShowHint = False ParentShowHint = False
ShowHint = True ShowHint = True
OnClick = NewBuildModeGroupToolButtonClick TabOrder = 0
Text = 'CurBuildModeComboBox'
end end
end end
object BuildModesPopupMenu: TPopupMenu object BuildModesPopupMenu: TPopupMenu

View File

@ -2,19 +2,32 @@
LazarusResources.Add('TBuildModesEditorFrame','FORMDATA',[ LazarusResources.Add('TBuildModesEditorFrame','FORMDATA',[
'TPF0'#22'TBuildModesEditorFrame'#21'BuildModesEditorFrame'#4'Left'#2#0#6'Hei' 'TPF0'#22'TBuildModesEditorFrame'#21'BuildModesEditorFrame'#4'Left'#2#0#6'Hei'
+'ght'#3','#1#3'Top'#2#0#5'Width'#3#144#1#12'ClientHeight'#3','#1#11'ClientWi' +'ght'#3'2'#1#3'Top'#2#0#5'Width'#3#163#1#12'ClientHeight'#3'2'#1#11'ClientWi'
+'dth'#3#144#1#8'TabOrder'#2#0#10'DesignLeft'#3#204#1#9'DesignTop'#3#13#1#0#8 +'dth'#3#163#1#7'OnClick'#7#10'FrameClick'#8'TabOrder'#2#0#10'DesignLeft'#3
+'TToolBar'#17'BuildModesToolBar'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Wid' +#204#1#9'DesignTop'#3#13#1#0#6'TPanel'#17'BuildModeBtnPanel'#4'Left'#2#0#6'H'
+'th'#3#144#1#7'Caption'#6#17'BuildModesToolBar'#8'TabOrder'#2#0#0#11'TToolBu' +'eight'#2#31#3'Top'#2#0#5'Width'#3#163#1#5'Align'#7#5'alTop'#8'AutoSize'#9#12
+'tton'#22'NewBuildModeToolButton'#4'Left'#2#1#3'Top'#2#2#7'Caption'#6#3'New' +'ClientHeight'#2#31#11'ClientWidth'#3#163#1#8'TabOrder'#2#0#0#12'TSpeedButto'
+#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#27'NewBuildModeToolButtonCl' +'n'#23'NewBuildModeSpeedButton'#4'Left'#2#1#6'Height'#2#29#3'Top'#2#1#5'Widt'
+'ick'#0#0#11'TToolButton'#22'NewBuildFlagToolButton'#4'Left'#2#24#3'Top'#2#2 +'h'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGly'
+#7'Caption'#6#22'NewBuildFlagToolButton'#14'ParentShowHint'#8#8'ShowHint'#9#7 +'phs'#2#0#7'OnClick'#7#23'NewBuildModeButtonClick'#8'ShowHint'#9#14'ParentSh'
+'OnClick'#7#27'NewBuildFlagToolButtonClick'#0#0#11'TToolButton'#21'DeleteBMR' +'owHint'#8#0#0#12'TSpeedButton'#23'NewBuildFlagSpeedButton'#4'Left'#2#24#6'H'
+'owToolButton'#4'Left'#2'/'#3'Top'#2#2#7'Caption'#6#21'DeleteBMRowToolButton' +'eight'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'C'
+#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#26'DeleteBMRowToolButtonCli' +'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#23'NewBuildFlagButtonCli'
+'ck'#0#0#11'TToolButton'#27'NewBuildModeGroupToolButton'#4'Left'#2'F'#3'Top' +'ck'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#22'DeleteBMRowS'
+#2#2#7'Caption'#6#27'NewBuildModeGroupToolButton'#14'ParentShowHint'#8#8'Sho' +'peedButton'#4'Left'#2'/'#6'Height'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7
+'wHint'#9#7'OnClick'#7' NewBuildModeGroupToolButtonClick'#0#0#0#10'TPopupMen' +#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'
+'u'#19'BuildModesPopupMenu'#4'left'#2'S'#3'top'#2's'#0#0#0 +#7#22'DeleteBMRowButtonClick'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpe'
+'edButton'#24'NewBuildGroupSpeedButton'#4'Left'#2'F'#6'Height'#2#29#3'Top'#2
+#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9
+'NumGlyphs'#2#0#7'OnClick'#7#24'NewBuildGroupButtonClick'#8'ShowHint'#9#14'P'
+'arentShowHint'#8#0#0#6'TLabel'#17'CurBuildModeLabel'#22'AnchorSideLeft.Cont'
+'rol'#7#24'NewBuildGroupSpeedButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#20'CurBuildModeComboBox'#18'AnchorSideTop.Side'
+#7#9'asrCenter'#4'Left'#2'l'#6'Height'#2#18#3'Top'#2#6#5'Width'#2'{'#18'Bord'
+'erSpacing.Left'#2#15#7'Caption'#6#17'CurBuildModeLabel'#11'ParentColor'#8#0
+#0#9'TComboBox'#20'CurBuildModeComboBox'#22'AnchorSideLeft.Control'#7#17'Cur'
+'BuildModeLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#231#0#6'He'
+'ight'#2#29#3'Top'#2#1#5'Width'#3#176#0#10'ItemHeight'#2#0#14'ParentShowHint'
+#8#8'ShowHint'#9#8'TabOrder'#2#0#4'Text'#6#20'CurBuildModeComboBox'#0#0#0#10
+'TPopupMenu'#19'BuildModesPopupMenu'#4'left'#2'S'#3'top'#2's'#0#0#0
]); ]);

View File

@ -27,7 +27,7 @@ interface
uses uses
Math, Classes, SysUtils, LCLProc, Controls, FileUtil, LResources, Forms, Math, Classes, SysUtils, LCLProc, Controls, FileUtil, LResources, Forms,
Grids, Graphics, Menus, ComCtrls, Dialogs, AvgLvlTree, DefineTemplates, Grids, Graphics, Menus, ComCtrls, Dialogs, AvgLvlTree, DefineTemplates,
StdCtrls, GraphMath, StdCtrls, GraphMath, ExtCtrls, Buttons,
ProjectIntf, IDEImagesIntf, ProjectIntf, IDEImagesIntf,
PathEditorDlg, Project, PackageSystem, LazarusIDEStrConsts, CompilerOptions, PathEditorDlg, Project, PackageSystem, LazarusIDEStrConsts, CompilerOptions,
IDEProcs; IDEProcs;
@ -106,16 +106,19 @@ type
TBuildModesEditorFrame = class(TFrame) TBuildModesEditorFrame = class(TFrame)
BuildModesPopupMenu: TPopupMenu; BuildModesPopupMenu: TPopupMenu;
BuildModesToolBar: TToolBar; CurBuildModeComboBox: TComboBox;
NewBuildModeToolButton: TToolButton; CurBuildModeLabel: TLabel;
NewBuildFlagToolButton: TToolButton; BuildModeBtnPanel: TPanel;
DeleteBMRowToolButton: TToolButton; NewBuildModeSpeedButton: TSpeedButton;
NewBuildModeGroupToolButton: TToolButton; NewBuildFlagSpeedButton: TSpeedButton;
procedure DeleteBMRowToolButtonClick(Sender: TObject); DeleteBMRowSpeedButton: TSpeedButton;
NewBuildGroupSpeedButton: TSpeedButton;
procedure DeleteBMRowButtonClick(Sender: TObject);
procedure FrameClick(Sender: TObject);
procedure GridSelection(Sender: TObject; aCol, aRow: Integer); procedure GridSelection(Sender: TObject; aCol, aRow: Integer);
procedure NewBuildFlagToolButtonClick(Sender: TObject); procedure NewBuildFlagButtonClick(Sender: TObject);
procedure NewBuildModeGroupToolButtonClick(Sender: TObject); procedure NewBuildGroupButtonClick(Sender: TObject);
procedure NewBuildModeToolButtonClick(Sender: TObject); procedure NewBuildModeButtonClick(Sender: TObject);
private private
FGrid: TBuildModesGrid; FGrid: TBuildModesGrid;
procedure UpdateButtons; procedure UpdateButtons;
@ -936,7 +939,7 @@ end;
{ TBuildModesEditorFrame } { TBuildModesEditorFrame }
procedure TBuildModesEditorFrame.NewBuildModeToolButtonClick(Sender: TObject); procedure TBuildModesEditorFrame.NewBuildModeButtonClick(Sender: TObject);
begin begin
Grid.AddNewBuildMode(false); Grid.AddNewBuildMode(false);
end; end;
@ -946,31 +949,36 @@ var
Mode: TBuildModeGridRow; Mode: TBuildModeGridRow;
begin begin
Mode:=Grid.SelectedModeRow; Mode:=Grid.SelectedModeRow;
NewBuildFlagToolButton.Enabled:=(Mode<>nil) and (not Mode.Mode.ShowIncludes); NewBuildFlagSpeedButton.Enabled:=(Mode<>nil) and (not Mode.Mode.ShowIncludes);
DeleteBMRowToolButton.Enabled:=(Mode<>nil); DeleteBMRowSpeedButton.Enabled:=(Mode<>nil);
if (Mode<>nil) and (not Mode.Mode.ShowIncludes) and (Mode.Mode.FlagCount>1) if (Mode<>nil) and (not Mode.Mode.ShowIncludes) and (Mode.Mode.FlagCount>1)
then then
DeleteBMRowToolButton.Hint:=lisDeleteSetting DeleteBMRowSpeedButton.Hint:=lisDeleteSetting
else else
DeleteBMRowToolButton.Hint:=lisDeleteBuildMode; DeleteBMRowSpeedButton.Hint:=lisDeleteBuildMode;
end; end;
procedure TBuildModesEditorFrame.NewBuildFlagToolButtonClick(Sender: TObject); procedure TBuildModesEditorFrame.NewBuildFlagButtonClick(Sender: TObject);
begin begin
Grid.InsertNewBuildFlagBehind; Grid.InsertNewBuildFlagBehind;
end; end;
procedure TBuildModesEditorFrame.NewBuildModeGroupToolButtonClick( procedure TBuildModesEditorFrame.NewBuildGroupButtonClick(
Sender: TObject); Sender: TObject);
begin begin
Grid.AddNewBuildMode(true); Grid.AddNewBuildMode(true);
end; end;
procedure TBuildModesEditorFrame.DeleteBMRowToolButtonClick(Sender: TObject); procedure TBuildModesEditorFrame.DeleteBMRowButtonClick(Sender: TObject);
begin begin
Grid.DeleteSelectedModeRow; Grid.DeleteSelectedModeRow;
end; end;
procedure TBuildModesEditorFrame.FrameClick(Sender: TObject);
begin
end;
procedure TBuildModesEditorFrame.GridSelection(Sender: TObject; aCol, procedure TBuildModesEditorFrame.GridSelection(Sender: TObject; aCol,
aRow: Integer); aRow: Integer);
begin begin
@ -989,15 +997,16 @@ begin
OnSelection:=@GridSelection; OnSelection:=@GridSelection;
end; end;
BuildModesToolBar.Images := IDEImages.Images_16; NewBuildModeSpeedButton.Hint:=lisNewBuildMode;
NewBuildModeToolButton.Hint:=lisNewBuildMode; NewBuildModeSpeedButton.LoadGlyphFromLazarusResource('laz_add');
NewBuildModeToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_add'); NewBuildFlagSpeedButton.Hint:=lisNewSetting;
NewBuildFlagToolButton.Hint:=lisNewSetting; NewBuildFlagSpeedButton.LoadGlyphFromLazarusResource('laz_edit');
NewBuildFlagToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_edit'); DeleteBMRowSpeedButton.Hint:=lisDeleteRow;
DeleteBMRowToolButton.Hint:=lisDeleteRow; DeleteBMRowSpeedButton.LoadGlyphFromLazarusResource('laz_delete');
DeleteBMRowToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_delete'); NewBuildGroupSpeedButton.Hint:=lisNewGroupASetOfModes;
NewBuildModeGroupToolButton.Hint:=lisNewGroupASetOfModes; NewBuildGroupSpeedButton.LoadGlyphFromLazarusResource('laz_add');
NewBuildModeGroupToolButton.ImageIndex:=IDEImages.LoadImage(16, 'laz_add'); CurBuildModeLabel.Caption:=lisCurrent;
CurBuildModeComboBox.Hint:=lisSelectTheActiveBuildMode;
// laz_edit, arrow_up, arrow_down // laz_edit, arrow_up, arrow_down
UpdateButtons; UpdateButtons;

View File

@ -4606,6 +4606,7 @@ resourcestring
lisDeleteBuildMode2 = 'Delete build mode?'; lisDeleteBuildMode2 = 'Delete build mode?';
lisDeleteBuildMode3 = 'Delete build mode %s%s%s?'; lisDeleteBuildMode3 = 'Delete build mode %s%s%s?';
lisNewGroupASetOfModes = 'New group - a set of modes'; lisNewGroupASetOfModes = 'New group - a set of modes';
lisSelectTheActiveBuildMode = 'Select the active build mode';
implementation implementation