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
Left = 0
Height = 300
Height = 306
Top = 0
Width = 400
ClientHeight = 300
ClientWidth = 400
Width = 419
ClientHeight = 306
ClientWidth = 419
OnClick = FrameClick
TabOrder = 0
DesignLeft = 460
DesignTop = 269
object BuildModesToolBar: TToolBar
object BuildModeBtnPanel: TPanel
Left = 0
Height = 26
Height = 31
Top = 0
Width = 400
Caption = 'BuildModesToolBar'
Width = 419
Align = alTop
AutoSize = True
ClientHeight = 31
ClientWidth = 419
TabOrder = 0
object NewBuildModeToolButton: TToolButton
object NewBuildModeSpeedButton: TSpeedButton
Left = 1
Top = 2
Caption = 'New'
ParentShowHint = False
Height = 29
Top = 1
Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = NewBuildModeButtonClick
ShowHint = True
OnClick = NewBuildModeToolButtonClick
ParentShowHint = False
end
object NewBuildFlagToolButton: TToolButton
object NewBuildFlagSpeedButton: TSpeedButton
Left = 24
Top = 2
Caption = 'NewBuildFlagToolButton'
ParentShowHint = False
Height = 29
Top = 1
Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = NewBuildFlagButtonClick
ShowHint = True
OnClick = NewBuildFlagToolButtonClick
ParentShowHint = False
end
object DeleteBMRowToolButton: TToolButton
object DeleteBMRowSpeedButton: TSpeedButton
Left = 47
Top = 2
Caption = 'DeleteBMRowToolButton'
ParentShowHint = False
Height = 29
Top = 1
Width = 23
Align = alLeft
AutoSize = True
Color = clBtnFace
NumGlyphs = 0
OnClick = DeleteBMRowButtonClick
ShowHint = True
OnClick = DeleteBMRowToolButtonClick
ParentShowHint = False
end
object NewBuildModeGroupToolButton: TToolButton
object NewBuildGroupSpeedButton: TSpeedButton
Left = 70
Top = 2
Caption = 'NewBuildModeGroupToolButton'
Height = 29
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
ShowHint = True
OnClick = NewBuildModeGroupToolButtonClick
TabOrder = 0
Text = 'CurBuildModeComboBox'
end
end
object BuildModesPopupMenu: TPopupMenu

View File

@ -2,19 +2,32 @@
LazarusResources.Add('TBuildModesEditorFrame','FORMDATA',[
'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'
+'dth'#3#144#1#8'TabOrder'#2#0#10'DesignLeft'#3#204#1#9'DesignTop'#3#13#1#0#8
+'TToolBar'#17'BuildModesToolBar'#4'Left'#2#0#6'Height'#2#26#3'Top'#2#0#5'Wid'
+'th'#3#144#1#7'Caption'#6#17'BuildModesToolBar'#8'TabOrder'#2#0#0#11'TToolBu'
+'tton'#22'NewBuildModeToolButton'#4'Left'#2#1#3'Top'#2#2#7'Caption'#6#3'New'
+#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#27'NewBuildModeToolButtonCl'
+'ick'#0#0#11'TToolButton'#22'NewBuildFlagToolButton'#4'Left'#2#24#3'Top'#2#2
+#7'Caption'#6#22'NewBuildFlagToolButton'#14'ParentShowHint'#8#8'ShowHint'#9#7
+'OnClick'#7#27'NewBuildFlagToolButtonClick'#0#0#11'TToolButton'#21'DeleteBMR'
+'owToolButton'#4'Left'#2'/'#3'Top'#2#2#7'Caption'#6#21'DeleteBMRowToolButton'
+#14'ParentShowHint'#8#8'ShowHint'#9#7'OnClick'#7#26'DeleteBMRowToolButtonCli'
+'ck'#0#0#11'TToolButton'#27'NewBuildModeGroupToolButton'#4'Left'#2'F'#3'Top'
+#2#2#7'Caption'#6#27'NewBuildModeGroupToolButton'#14'ParentShowHint'#8#8'Sho'
+'wHint'#9#7'OnClick'#7' NewBuildModeGroupToolButtonClick'#0#0#0#10'TPopupMen'
+'u'#19'BuildModesPopupMenu'#4'left'#2'S'#3'top'#2's'#0#0#0
+'ght'#3'2'#1#3'Top'#2#0#5'Width'#3#163#1#12'ClientHeight'#3'2'#1#11'ClientWi'
+'dth'#3#163#1#7'OnClick'#7#10'FrameClick'#8'TabOrder'#2#0#10'DesignLeft'#3
+#204#1#9'DesignTop'#3#13#1#0#6'TPanel'#17'BuildModeBtnPanel'#4'Left'#2#0#6'H'
+'eight'#2#31#3'Top'#2#0#5'Width'#3#163#1#5'Align'#7#5'alTop'#8'AutoSize'#9#12
+'ClientHeight'#2#31#11'ClientWidth'#3#163#1#8'TabOrder'#2#0#0#12'TSpeedButto'
+'n'#23'NewBuildModeSpeedButton'#4'Left'#2#1#6'Height'#2#29#3'Top'#2#1#5'Widt'
+'h'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'Color'#7#9'clBtnFace'#9'NumGly'
+'phs'#2#0#7'OnClick'#7#23'NewBuildModeButtonClick'#8'ShowHint'#9#14'ParentSh'
+'owHint'#8#0#0#12'TSpeedButton'#23'NewBuildFlagSpeedButton'#4'Left'#2#24#6'H'
+'eight'#2#29#3'Top'#2#1#5'Width'#2#23#5'Align'#7#6'alLeft'#8'AutoSize'#9#5'C'
+'olor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#23'NewBuildFlagButtonCli'
+'ck'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#22'DeleteBMRowS'
+'peedButton'#4'Left'#2'/'#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#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
Math, Classes, SysUtils, LCLProc, Controls, FileUtil, LResources, Forms,
Grids, Graphics, Menus, ComCtrls, Dialogs, AvgLvlTree, DefineTemplates,
StdCtrls, GraphMath,
StdCtrls, GraphMath, ExtCtrls, Buttons,
ProjectIntf, IDEImagesIntf,
PathEditorDlg, Project, PackageSystem, LazarusIDEStrConsts, CompilerOptions,
IDEProcs;
@ -106,16 +106,19 @@ type
TBuildModesEditorFrame = class(TFrame)
BuildModesPopupMenu: TPopupMenu;
BuildModesToolBar: TToolBar;
NewBuildModeToolButton: TToolButton;
NewBuildFlagToolButton: TToolButton;
DeleteBMRowToolButton: TToolButton;
NewBuildModeGroupToolButton: TToolButton;
procedure DeleteBMRowToolButtonClick(Sender: TObject);
CurBuildModeComboBox: TComboBox;
CurBuildModeLabel: TLabel;
BuildModeBtnPanel: TPanel;
NewBuildModeSpeedButton: TSpeedButton;
NewBuildFlagSpeedButton: TSpeedButton;
DeleteBMRowSpeedButton: TSpeedButton;
NewBuildGroupSpeedButton: TSpeedButton;
procedure DeleteBMRowButtonClick(Sender: TObject);
procedure FrameClick(Sender: TObject);
procedure GridSelection(Sender: TObject; aCol, aRow: Integer);
procedure NewBuildFlagToolButtonClick(Sender: TObject);
procedure NewBuildModeGroupToolButtonClick(Sender: TObject);
procedure NewBuildModeToolButtonClick(Sender: TObject);
procedure NewBuildFlagButtonClick(Sender: TObject);
procedure NewBuildGroupButtonClick(Sender: TObject);
procedure NewBuildModeButtonClick(Sender: TObject);
private
FGrid: TBuildModesGrid;
procedure UpdateButtons;
@ -936,7 +939,7 @@ end;
{ TBuildModesEditorFrame }
procedure TBuildModesEditorFrame.NewBuildModeToolButtonClick(Sender: TObject);
procedure TBuildModesEditorFrame.NewBuildModeButtonClick(Sender: TObject);
begin
Grid.AddNewBuildMode(false);
end;
@ -946,31 +949,36 @@ var
Mode: TBuildModeGridRow;
begin
Mode:=Grid.SelectedModeRow;
NewBuildFlagToolButton.Enabled:=(Mode<>nil) and (not Mode.Mode.ShowIncludes);
DeleteBMRowToolButton.Enabled:=(Mode<>nil);
NewBuildFlagSpeedButton.Enabled:=(Mode<>nil) and (not Mode.Mode.ShowIncludes);
DeleteBMRowSpeedButton.Enabled:=(Mode<>nil);
if (Mode<>nil) and (not Mode.Mode.ShowIncludes) and (Mode.Mode.FlagCount>1)
then
DeleteBMRowToolButton.Hint:=lisDeleteSetting
DeleteBMRowSpeedButton.Hint:=lisDeleteSetting
else
DeleteBMRowToolButton.Hint:=lisDeleteBuildMode;
DeleteBMRowSpeedButton.Hint:=lisDeleteBuildMode;
end;
procedure TBuildModesEditorFrame.NewBuildFlagToolButtonClick(Sender: TObject);
procedure TBuildModesEditorFrame.NewBuildFlagButtonClick(Sender: TObject);
begin
Grid.InsertNewBuildFlagBehind;
end;
procedure TBuildModesEditorFrame.NewBuildModeGroupToolButtonClick(
procedure TBuildModesEditorFrame.NewBuildGroupButtonClick(
Sender: TObject);
begin
Grid.AddNewBuildMode(true);
end;
procedure TBuildModesEditorFrame.DeleteBMRowToolButtonClick(Sender: TObject);
procedure TBuildModesEditorFrame.DeleteBMRowButtonClick(Sender: TObject);
begin
Grid.DeleteSelectedModeRow;
end;
procedure TBuildModesEditorFrame.FrameClick(Sender: TObject);
begin
end;
procedure TBuildModesEditorFrame.GridSelection(Sender: TObject; aCol,
aRow: Integer);
begin
@ -989,15 +997,16 @@ begin
OnSelection:=@GridSelection;
end;
BuildModesToolBar.Images := IDEImages.Images_16;
NewBuildModeToolButton.Hint:=lisNewBuildMode;
NewBuildModeToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_add');
NewBuildFlagToolButton.Hint:=lisNewSetting;
NewBuildFlagToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_edit');
DeleteBMRowToolButton.Hint:=lisDeleteRow;
DeleteBMRowToolButton.ImageIndex := IDEImages.LoadImage(16, 'laz_delete');
NewBuildModeGroupToolButton.Hint:=lisNewGroupASetOfModes;
NewBuildModeGroupToolButton.ImageIndex:=IDEImages.LoadImage(16, 'laz_add');
NewBuildModeSpeedButton.Hint:=lisNewBuildMode;
NewBuildModeSpeedButton.LoadGlyphFromLazarusResource('laz_add');
NewBuildFlagSpeedButton.Hint:=lisNewSetting;
NewBuildFlagSpeedButton.LoadGlyphFromLazarusResource('laz_edit');
DeleteBMRowSpeedButton.Hint:=lisDeleteRow;
DeleteBMRowSpeedButton.LoadGlyphFromLazarusResource('laz_delete');
NewBuildGroupSpeedButton.Hint:=lisNewGroupASetOfModes;
NewBuildGroupSpeedButton.LoadGlyphFromLazarusResource('laz_add');
CurBuildModeLabel.Caption:=lisCurrent;
CurBuildModeComboBox.Hint:=lisSelectTheActiveBuildMode;
// laz_edit, arrow_up, arrow_down
UpdateButtons;

View File

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