From 565b7037067ff828b9314bba99915c26304d7291 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 22 Dec 2009 17:56:03 +0000 Subject: [PATCH] IDE: build modes: started selecting active mode git-svn-id: trunk@23236 - --- ide/frames/buildmodeseditor.lfm | 104 +++++++++++++++++++++++--------- ide/frames/buildmodeseditor.lrs | 43 ++++++++----- ide/frames/buildmodeseditor.pas | 63 ++++++++++--------- ide/lazarusidestrconsts.pas | 1 + 4 files changed, 142 insertions(+), 69 deletions(-) diff --git a/ide/frames/buildmodeseditor.lfm b/ide/frames/buildmodeseditor.lfm index 290c02b572..da908434aa 100644 --- a/ide/frames/buildmodeseditor.lfm +++ b/ide/frames/buildmodeseditor.lfm @@ -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 diff --git a/ide/frames/buildmodeseditor.lrs b/ide/frames/buildmodeseditor.lrs index db82fdc952..8dd24e326d 100644 --- a/ide/frames/buildmodeseditor.lrs +++ b/ide/frames/buildmodeseditor.lrs @@ -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 ]); diff --git a/ide/frames/buildmodeseditor.pas b/ide/frames/buildmodeseditor.pas index 6d0417cdb9..15ebe2f558 100644 --- a/ide/frames/buildmodeseditor.pas +++ b/ide/frames/buildmodeseditor.pas @@ -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; diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index fece780eb5..9cee499e46 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -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