IDE: configure build laz: page showing inherited options

git-svn-id: trunk@36452 -
This commit is contained in:
mattias 2012-03-30 10:12:05 +00:00
parent 19d833609e
commit f7cda8bea9
6 changed files with 564 additions and 432 deletions

View File

@ -17,418 +17,6 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg
OnShow = FormShow
Position = poScreenCenter
LCLVersion = '0.9.31'
object DetailsPanel: TPanel
Left = 0
Height = 434
Top = 0
Width = 700
Align = alClient
AutoSize = True
ClientHeight = 434
ClientWidth = 700
TabOrder = 0
object BuildProfileLabel: TLabel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrCenter
Left = 7
Height = 15
Top = 13
Width = 92
BorderSpacing.Top = 5
BorderSpacing.Around = 6
Caption = 'Profile to Build'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object BuildProfileComboBox: TComboBox
AnchorSideLeft.Control = BuildProfileLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = BuildProfileButton
Left = 105
Height = 28
Hint = 'Name of the active profile.'
Top = 6
Width = 561
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
ItemHeight = 0
OnSelect = BuildProfileComboBoxSelect
ParentShowHint = False
ShowHint = True
Style = csDropDownList
TabOrder = 0
end
object BuildProfileButton: TButton
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 672
Height = 26
Hint = 'Manage profiles'
Top = 7
Width = 21
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = '...'
OnClick = BuildProfileButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object OptionsLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = LCLWidgetTypeComboBox
AnchorSideTop.Side = asrBottom
Left = 7
Height = 15
Top = 89
Width = 44
Alignment = taRightJustify
BorderSpacing.Top = 6
Caption = 'Options'
Layout = tlBottom
ParentColor = False
end
object OptionsMemo: TMemo
AnchorSideLeft.Control = OptionsLabel
AnchorSideTop.Control = OptionsLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BuildProfileButton
AnchorSideRight.Side = asrBottom
Left = 7
Height = 56
Hint = 'Options passed to compiler'
Top = 104
Width = 686
Anchors = [akTop, akLeft, akRight]
Lines.Strings = (
''
)
PopupMenu = OptionsPopupMenu
ParentShowHint = False
ScrollBars = ssAutoBoth
ShowHint = True
TabOrder = 4
end
object DefinesLabel: TLabel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrBottom
Left = 7
Height = 15
Top = 214
Width = 43
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Defines'
ParentColor = False
end
object DefinesListBox: TCheckListBox
AnchorSideLeft.Control = OptionsMemo
AnchorSideTop.Control = DefinesLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CleanUpGroupBox
AnchorSideBottom.Side = asrBottom
Left = 7
Height = 126
Hint = 'Defines without -d'
Top = 229
Width = 489
Anchors = [akTop, akLeft, akRight, akBottom]
ItemHeight = 0
ParentShowHint = False
PopupMenu = OptionsPopupMenu
ShowHint = True
TabOrder = 2
TopIndex = -1
end
object LCLWidgetTypeLabel: TLabel
AnchorSideLeft.Control = BuildProfileLabel
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 7
Height = 15
Top = 40
Width = 91
BorderSpacing.Top = 6
Caption = 'LCL Widget Type'
ParentColor = False
end
object LCLWidgetTypeComboBox: TComboBox
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = LCLWidgetTypeLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 7
Height = 28
Top = 55
Width = 209
ItemHeight = 0
Style = csDropDownList
TabOrder = 3
end
object TargetDirectoryLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = OptionsMemo
AnchorSideTop.Side = asrBottom
Left = 7
Height = 15
Top = 166
Width = 87
Alignment = taRightJustify
BorderSpacing.Top = 6
Caption = 'Target Directory'
ParentColor = False
end
object TargetDirectoryComboBox: TComboBox
AnchorSideLeft.Control = TargetDirectoryLabel
AnchorSideTop.Control = TargetDirectoryLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TargetDirectoryButton
Left = 7
Height = 27
Top = 181
Width = 659
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
ItemHeight = 0
TabOrder = 5
end
object TargetOSLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 222
Height = 15
Top = 40
Width = 54
Alignment = taRightJustify
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Target OS'
ParentColor = False
end
object TargetCPULabel: TLabel
AnchorSideLeft.Control = TargetOSComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 452
Height = 15
Top = 40
Width = 61
Alignment = taRightJustify
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Target CPU'
ParentColor = False
end
object UpdateRevisionIncCheckBox: TCheckBox
AnchorSideLeft.Control = CleanUpGroupBox
AnchorSideTop.Control = CleanUpGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 502
Height = 22
Hint = 'Increment revision? (ToDo: get a better hint)'
Top = 342
Width = 181
BorderSpacing.Top = 6
Caption = 'UpdateRevisionIncCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 9
end
object TargetCPUComboBox: TComboBox
AnchorSideLeft.Control = TargetCPULabel
AnchorSideTop.Control = TargetCPULabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = OptionsMemo
AnchorSideRight.Side = asrBottom
Left = 452
Height = 27
Top = 55
Width = 241
Anchors = [akTop, akLeft, akRight]
ItemHeight = 0
TabOrder = 8
end
object CommonsDividerBevel: TDividerBevel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
Left = 7
Height = 14
Top = 370
Width = 686
Caption = 'CommonsDividerBevel'
Autosize = True
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
Font.Style = [fsBold]
ParentFont = False
end
object RestartAfterBuildCheckBox: TCheckBox
AnchorSideLeft.Control = CommonsDividerBevel
AnchorSideTop.Control = CommonsDividerBevel
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 7
Height = 22
Hint = 'Restart Lazarus automatically after building the IDE. Has no effect when building other parts'
Top = 391
Width = 171
BorderSpacing.Top = 7
Caption = 'RestartAfterBuildCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 10
end
object ConfirmBuildCheckBox: TCheckBox
AnchorSideLeft.Control = RestartAfterBuildCheckBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RestartAfterBuildCheckBox
Left = 190
Height = 22
Hint = 'Show confirmation dialog when building directly from Tools menu'
Top = 391
Width = 149
BorderSpacing.Left = 12
Caption = 'ConfirmBuildCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 11
end
object DefinesButton: TButton
AnchorSideTop.Control = RestartAfterBuildCheckBox
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 615
Height = 26
Hint = 'Edit list of defines which can be used by any profile'
Top = 391
Width = 78
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 6
Caption = 'Edit Defines'
OnClick = DefinesButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 12
end
object TargetDirectoryButton: TButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 672
Height = 26
Top = 181
Width = 21
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = '...'
OnClick = TargetDirectoryButtonClick
TabOrder = 6
end
object TargetOSComboBox: TComboBox
AnchorSideLeft.Control = TargetOSLabel
AnchorSideTop.Control = TargetOSLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = LCLWidgetTypeComboBox
AnchorSideRight.Side = asrBottom
Left = 222
Height = 27
Top = 55
Width = 224
ItemHeight = 0
TabOrder = 7
end
object CleanUpGroupBox: TGroupBox
AnchorSideLeft.Control = DefinesListBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
Left = 502
Height = 122
Top = 214
Width = 191
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'Clean up'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 106
ClientWidth = 187
ParentShowHint = False
ShowHint = True
TabOrder = 13
object CleanAutoRadioButton: TRadioButton
Left = 6
Height = 22
Top = 6
Width = 175
Caption = 'CleanAutoRadioButton'
Checked = True
TabOrder = 0
TabStop = True
end
object CleanCommonRadioButton: TRadioButton
Left = 6
Height = 22
Top = 28
Width = 175
Caption = 'CleanCommonRadioButton'
TabOrder = 1
end
object CleanAllRadioButton: TRadioButton
Left = 6
Height = 22
Top = 50
Width = 175
Caption = 'CleanAllRadioButton'
TabOrder = 2
end
object CleanOnceCheckBox: TCheckBox
Left = 6
Height = 22
Top = 78
Width = 175
BorderSpacing.Top = 6
Caption = 'CleanOnceCheckBox'
TabOrder = 3
end
end
end
object CBLDBtnPanel: TPanel
AnchorSideTop.Side = asrBottom
Left = 0
@ -440,7 +28,7 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg
BevelOuter = bvNone
ClientHeight = 46
ClientWidth = 700
TabOrder = 1
TabOrder = 0
object CancelButton: TBitBtn
Left = 619
Height = 34
@ -510,6 +98,461 @@ object ConfigureBuildLazarusDlg: TConfigureBuildLazarusDlg
TabOrder = 2
end
end
object PageControl1: TPageControl
Left = 0
Height = 434
Top = 0
Width = 700
ActivePage = InfoTabSheet
Align = alClient
TabIndex = 1
TabOrder = 1
object BuildTabSheet: TTabSheet
Caption = 'BuildTabSheet'
ClientHeight = 402
ClientWidth = 694
object DetailsPanel: TPanel
Left = 0
Height = 402
Top = 0
Width = 694
Align = alClient
AutoSize = True
BevelOuter = bvNone
ClientHeight = 402
ClientWidth = 694
TabOrder = 0
object BuildProfileLabel: TLabel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrCenter
Left = 6
Height = 15
Top = 13
Width = 92
BorderSpacing.Top = 5
BorderSpacing.Around = 6
Caption = 'Profile to Build'
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
object BuildProfileComboBox: TComboBox
AnchorSideLeft.Control = BuildProfileLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = BuildProfileButton
Left = 104
Height = 28
Hint = 'Name of the active profile.'
Top = 6
Width = 557
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
ItemHeight = 0
OnSelect = BuildProfileComboBoxSelect
ParentShowHint = False
ShowHint = True
Style = csDropDownList
TabOrder = 0
end
object BuildProfileButton: TButton
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 667
Height = 26
Hint = 'Manage profiles'
Top = 7
Width = 21
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = '...'
OnClick = BuildProfileButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 1
end
object OptionsLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = LCLWidgetTypeComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 89
Width = 44
Alignment = taRightJustify
BorderSpacing.Top = 6
Caption = 'Options'
Layout = tlBottom
ParentColor = False
end
object OptionsMemo: TMemo
AnchorSideLeft.Control = OptionsLabel
AnchorSideTop.Control = OptionsLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BuildProfileButton
AnchorSideRight.Side = asrBottom
Left = 6
Height = 56
Hint = 'Options passed to compiler'
Top = 104
Width = 682
Anchors = [akTop, akLeft, akRight]
Lines.Strings = (
''
)
PopupMenu = OptionsPopupMenu
ParentShowHint = False
ScrollBars = ssAutoBoth
ShowHint = True
TabOrder = 4
end
object DefinesLabel: TLabel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 214
Width = 43
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Defines'
ParentColor = False
end
object DefinesListBox: TCheckListBox
AnchorSideLeft.Control = OptionsMemo
AnchorSideTop.Control = DefinesLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CleanUpGroupBox
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 94
Hint = 'Defines without -d'
Top = 229
Width = 485
Anchors = [akTop, akLeft, akRight, akBottom]
ItemHeight = 0
ParentShowHint = False
PopupMenu = OptionsPopupMenu
ShowHint = True
TabOrder = 2
TopIndex = -1
end
object LCLWidgetTypeLabel: TLabel
AnchorSideLeft.Control = BuildProfileLabel
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 40
Width = 91
BorderSpacing.Top = 6
Caption = 'LCL Widget Type'
ParentColor = False
end
object LCLWidgetTypeComboBox: TComboBox
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = LCLWidgetTypeLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 6
Height = 28
Top = 55
Width = 209
ItemHeight = 0
Style = csDropDownList
TabOrder = 3
end
object TargetDirectoryLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeLabel
AnchorSideTop.Control = OptionsMemo
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 166
Width = 87
Alignment = taRightJustify
BorderSpacing.Top = 6
Caption = 'Target Directory'
ParentColor = False
end
object TargetDirectoryComboBox: TComboBox
AnchorSideLeft.Control = TargetDirectoryLabel
AnchorSideTop.Control = TargetDirectoryLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TargetDirectoryButton
Left = 6
Height = 27
Top = 181
Width = 655
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Right = 6
ItemHeight = 0
TabOrder = 5
end
object TargetOSLabel: TLabel
AnchorSideLeft.Control = LCLWidgetTypeComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 221
Height = 15
Top = 40
Width = 54
Alignment = taRightJustify
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Target OS'
ParentColor = False
end
object TargetCPULabel: TLabel
AnchorSideLeft.Control = TargetOSComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = BuildProfileComboBox
AnchorSideTop.Side = asrBottom
Left = 451
Height = 15
Top = 40
Width = 61
Alignment = taRightJustify
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Target CPU'
ParentColor = False
end
object UpdateRevisionIncCheckBox: TCheckBox
AnchorSideLeft.Control = CleanUpGroupBox
AnchorSideTop.Control = CleanUpGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 497
Height = 22
Hint = 'Increment revision? (ToDo: get a better hint)'
Top = 342
Width = 181
BorderSpacing.Top = 6
Caption = 'UpdateRevisionIncCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 9
end
object TargetCPUComboBox: TComboBox
AnchorSideLeft.Control = TargetCPULabel
AnchorSideTop.Control = TargetCPULabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = OptionsMemo
AnchorSideRight.Side = asrBottom
Left = 451
Height = 27
Top = 55
Width = 237
Anchors = [akTop, akLeft, akRight]
ItemHeight = 0
TabOrder = 8
end
object CommonsDividerBevel: TDividerBevel
AnchorSideLeft.Control = DetailsPanel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
Left = 6
Height = 14
Top = 338
Width = 682
Caption = 'CommonsDividerBevel'
Autosize = True
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
BorderSpacing.Bottom = 6
Font.Style = [fsBold]
ParentFont = False
end
object RestartAfterBuildCheckBox: TCheckBox
AnchorSideLeft.Control = CommonsDividerBevel
AnchorSideTop.Control = CommonsDividerBevel
AnchorSideTop.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 6
Height = 22
Hint = 'Restart Lazarus automatically after building the IDE. Has no effect when building other parts'
Top = 359
Width = 171
BorderSpacing.Top = 7
Caption = 'RestartAfterBuildCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 10
end
object ConfirmBuildCheckBox: TCheckBox
AnchorSideLeft.Control = RestartAfterBuildCheckBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RestartAfterBuildCheckBox
Left = 189
Height = 22
Hint = 'Show confirmation dialog when building directly from Tools menu'
Top = 359
Width = 149
BorderSpacing.Left = 12
Caption = 'ConfirmBuildCheckBox'
ParentShowHint = False
ShowHint = True
TabOrder = 11
end
object DefinesButton: TButton
AnchorSideTop.Control = RestartAfterBuildCheckBox
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 610
Height = 26
Hint = 'Edit list of defines which can be used by any profile'
Top = 359
Width = 78
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Right = 6
Caption = 'Edit Defines'
OnClick = DefinesButtonClick
ParentShowHint = False
ShowHint = True
TabOrder = 12
end
object TargetDirectoryButton: TButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 667
Height = 26
Top = 181
Width = 21
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = '...'
OnClick = TargetDirectoryButtonClick
TabOrder = 6
end
object TargetOSComboBox: TComboBox
AnchorSideLeft.Control = TargetOSLabel
AnchorSideTop.Control = TargetOSLabel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = LCLWidgetTypeComboBox
AnchorSideRight.Side = asrBottom
Left = 221
Height = 27
Top = 55
Width = 224
ItemHeight = 0
TabOrder = 7
end
object CleanUpGroupBox: TGroupBox
AnchorSideLeft.Control = DefinesListBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TargetDirectoryComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = DetailsPanel
AnchorSideRight.Side = asrBottom
Left = 497
Height = 122
Top = 214
Width = 191
Anchors = [akTop, akRight]
AutoSize = True
BorderSpacing.Left = 6
BorderSpacing.Top = 6
BorderSpacing.Right = 6
Caption = 'Clean up'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 106
ClientWidth = 187
ParentShowHint = False
ShowHint = True
TabOrder = 13
object CleanAutoRadioButton: TRadioButton
Left = 6
Height = 22
Top = 6
Width = 175
Caption = 'CleanAutoRadioButton'
Checked = True
TabOrder = 0
TabStop = True
end
object CleanCommonRadioButton: TRadioButton
Left = 6
Height = 22
Top = 28
Width = 175
Caption = 'CleanCommonRadioButton'
TabOrder = 1
end
object CleanAllRadioButton: TRadioButton
Left = 6
Height = 22
Top = 50
Width = 175
Caption = 'CleanAllRadioButton'
TabOrder = 2
end
object CleanOnceCheckBox: TCheckBox
Left = 6
Height = 22
Top = 78
Width = 175
BorderSpacing.Top = 6
Caption = 'CleanOnceCheckBox'
TabOrder = 3
end
end
end
end
object InfoTabSheet: TTabSheet
Caption = 'InfoTabSheet'
ClientHeight = 402
ClientWidth = 694
object InhTreeView: TTreeView
Left = 0
Height = 375
Top = 27
Width = 694
Align = alClient
DefaultItemHeight = 16
ReadOnly = True
TabOrder = 0
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
end
object InhNoteLabel: TLabel
Left = 6
Height = 15
Top = 6
Width = 682
Align = alTop
BorderSpacing.Around = 6
Caption = 'InhNoteLabel'
ParentColor = False
WordWrap = True
end
end
end
object OptionsPopupMenu: TPopupMenu
left = 320
top = 592

View File

@ -45,11 +45,12 @@ interface
uses
Classes, SysUtils, LCLProc, LConvEncoding, Forms, Controls, LCLType, LCLIntf,
Graphics, GraphType, StdCtrls, ExtCtrls, Buttons, FileUtil, Dialogs,
InterfaceBase, Themes, CheckLst, Menus, DividerBevel,
Graphics, GraphType, StdCtrls, ExtCtrls, Buttons, FileUtil, LazUTF8, Dialogs,
InterfaceBase, Themes, CheckLst, Menus, ComCtrls, DividerBevel,
DefineTemplates,
// IDEIntf
LazIDEIntf, IDEMsgIntf, IDEHelpIntf, IDEImagesIntf, IDEWindowIntf,
CompOptsIntf,
// IDE
LazarusIDEStrConsts, TransferMacros, LazConf, IDEProcs, DialogProcs, MainBar,
InputHistory, ExtToolDialog, ExtToolEditDlg, EnvironmentOpts,
@ -57,7 +58,7 @@ uses
CodeToolManager, // added for windres workaround
{$ENDIF}
ApplicationBundle, CompilerOptions, BuildProfileManager,
GenericListEditor, GenericCheckList;
GenericListEditor, GenericCheckList, PackageSystem, PackageDefs;
type
@ -87,11 +88,14 @@ type
BuildProfileComboBox: TComboBox;
CompileButton: TBitBtn;
CompileAdvancedButton: TBitBtn;
InhTreeView: TTreeView;
InhNoteLabel: TLabel;
LCLWidgetTypeLabel: TLabel;
LCLWidgetTypeComboBox: TComboBox;
OptionsLabel: TLabel;
OptionsMemo: TMemo;
CleanUpGroupBox: TGroupBox;
PageControl1: TPageControl;
RestartAfterBuildCheckBox: TCheckBox;
ShowOptsMenuItem: TMenuItem;
DetailsPanel: TPanel;
@ -101,6 +105,8 @@ type
Panel2: TPanel;
SaveSettingsButton: TBitBtn;
BuildProfileButton: TButton;
BuildTabSheet: TTabSheet;
InfoTabSheet: TTabSheet;
TargetCPUComboBox: TComboBox;
TargetCPULabel: TLabel;
TargetDirectoryButton: TButton;
@ -127,7 +133,12 @@ type
// Data is copied by caller before and after opening this dialog.
fProfiles: TBuildLazarusProfiles;
fUpdatingProfileCombo: Boolean;
fImageIndexPackage: Integer;
fImageIndexRequired: Integer;
fImageIndexInherited: Integer;
procedure PrepareClose;
procedure SetupInfoPage;
procedure UpdateInheritedTree;
public
constructor Create(TheOwner: TComponent); overload; reintroduce;
destructor Destroy; override;
@ -713,6 +724,7 @@ begin
IDEDialogLayoutList.ApplyLayout(Self,700,480);
Caption := Format(lisConfigureBuildLazarus, ['"', '"']);
BuildTabSheet.Caption:='Build';
// Show Build target names in combobox.
LCLWidgetTypeLabel.Caption := lisLCLWidgetType;
@ -809,11 +821,13 @@ begin
end;
ItemIndex:=0;
end;
SetupInfoPage;
end;
procedure TConfigureBuildLazarusDlg.FormDestroy(Sender: TObject);
begin
;
end;
procedure TConfigureBuildLazarusDlg.FormResize(Sender: TObject);
@ -923,6 +937,81 @@ begin
ConfirmBuildCheckBox.Checked :=fProfiles.ConfirmBuild;
end;
procedure TConfigureBuildLazarusDlg.SetupInfoPage;
begin
InfoTabSheet.Caption:='Information';
fImageIndexPackage := IDEImages.LoadImage(16, 'item_package');
fImageIndexRequired := IDEImages.LoadImage(16, 'pkg_required');
fImageIndexInherited := IDEImages.LoadImage(16, 'pkg_inherited');
InhNoteLabel.Caption := lisAdditionalCompilerOptionsInheritedFromPackages;
InhTreeView.Images := IDEImages.Images_16;
UpdateInheritedTree;
end;
procedure TConfigureBuildLazarusDlg.UpdateInheritedTree;
var
AncestorNode: TTreeNode;
procedure AddChildNode(const NewNodeName, Value: string);
var
VisibleValue: string;
ChildNode: TTreeNode;
begin
VisibleValue := UTF8Trim(Value);
if VisibleValue = '' then
exit;
ChildNode := InhTreeView.Items.AddChild(AncestorNode,
NewNodeName + ' = "' + VisibleValue + '"');
ChildNode.ImageIndex := fImageIndexRequired;
ChildNode.SelectedIndex := ChildNode.ImageIndex;
end;
var
PkgList: TFPList;
i: Integer;
Pkg: TLazPackage;
AncestorOptions: TPkgAdditionalCompilerOptions;
LazDir: String;
begin
PkgList:=nil;
InhTreeView.BeginUpdate;
LazDir:=EnvironmentOptions.GetParsedLazarusDirectory;
try
PackageGraph.GetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList);
// add detail nodes
if PkgList<>nil then
for i := 0 to PkgList.Count - 1 do
begin
Pkg:=TLazPackage(PkgList[i]);
AncestorOptions := Pkg.UsageOptions;
AncestorNode := InhTreeView.Items.Add(nil, '');
AncestorNode.Text := AncestorOptions.GetOwnerName;
AncestorNode.ImageIndex := fImageIndexPackage;
AncestorNode.SelectedIndex := AncestorNode.ImageIndex;
with AncestorOptions.ParsedOpts do
begin
AddChildNode(lisunitPath,
CreateRelativeSearchPath(GetParsedValue(pcosUnitPath),LazDir));
AddChildNode(lisincludePath,
CreateRelativeSearchPath(GetParsedValue(pcosIncludePath),LazDir));
AddChildNode(lisobjectPath,
CreateRelativeSearchPath(GetParsedValue(pcosObjectPath),LazDir));
AddChildNode(lislibraryPath,
CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath),LazDir));
AddChildNode(lislinkerOptions, GetParsedValue(pcosLinkerOptions));
AddChildNode(liscustomOptions, GetParsedValue(pcosCustomOptions));
end;
AncestorNode.Expanded := True;
end;
finally
InhTreeView.EndUpdate;
PkgList.Free;
end;
end;
procedure TConfigureBuildLazarusDlg.PrepareClose;
begin
CopyUIToProfile(Profiles.Current);

View File

@ -140,8 +140,8 @@ var
InheritedChildDatas := TList.Create;
InheritedChildDatas.Add(ChildData);
if length(Value) > 100 then
VisibleValue := copy(Value, 1, 100) + '[...]'
if UTF8Length(Value) > 100 then
VisibleValue := UTF8Copy(Value, 1, 100) + '[...]'
else
VisibleValue := Value;
ChildNode := InhTreeView.Items.AddChildObject(AncestorNode,
@ -209,20 +209,16 @@ begin
with AncestorOptions.ParsedOpts do
begin
AddChildNode(lisunitPath,
CreateRelativeSearchPath(GetParsedValue(pcosUnitPath),
CompilerOpts.BaseDirectory),
CreateRelativeSearchPath(GetParsedValue(pcosUnitPath),CompilerOpts.BaseDirectory),
icoUnitPath);
AddChildNode(lisincludePath,
CreateRelativeSearchPath(GetParsedValue(pcosIncludePath),
CompilerOpts.BaseDirectory),
CreateRelativeSearchPath(GetParsedValue(pcosIncludePath),CompilerOpts.BaseDirectory),
icoIncludePath);
AddChildNode(lisobjectPath,
CreateRelativeSearchPath(GetParsedValue(pcosObjectPath),
CompilerOpts.BaseDirectory),
CreateRelativeSearchPath(GetParsedValue(pcosObjectPath),CompilerOpts.BaseDirectory),
icoObjectPath);
AddChildNode(lislibraryPath,
CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath),
CompilerOpts.BaseDirectory),
CreateRelativeSearchPath(GetParsedValue(pcosLibraryPath),CompilerOpts.BaseDirectory),
icoLibraryPath);
AddChildNode(lislinkerOptions, GetParsedValue(pcosLinkerOptions),
icoLinkerOptions);

View File

@ -4759,7 +4759,13 @@ var
LazSrcDirTemplate: TDefineTemplate;
DlgResult: TModalResult;
begin
DlgResult:=ShowConfigureBuildLazarusDlg(MiscellaneousOptions.BuildLazProfiles);
MainBuildBoss.SetBuildTargetIDE;
try
DlgResult:=ShowConfigureBuildLazarusDlg(MiscellaneousOptions.BuildLazProfiles);
finally
MainBuildBoss.SetBuildTargetProject1(true);
end;
if DlgResult in [mrOk,mrYes,mrAll] then begin
MiscellaneousOptions.Save;
IncreaseCompilerParseStamp;

View File

@ -1719,11 +1719,9 @@ var
ConfigDir: String;
begin
Result:='';
if not Assigned(OnGetAllRequiredPackages) then exit;
// get all required packages
PkgList:=nil;
OnGetAllRequiredPackages(FirstDependency,PkgList);
GetAllRequiredPackages(FirstDependency,PkgList);
if PkgList=nil then exit;
// get all usage options
AddOptionsList:=GetUsageOptionsList(PkgList);

View File

@ -1730,7 +1730,7 @@ var
i: Integer;
begin
PkgList:=nil;
OnGetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList);
PackageGraph.GetAllRequiredPackages(PackageGraph.FirstAutoInstallDependency,PkgList);
if PkgList=nil then exit;
for i:=0 to PkgList.Count-1 do
if TObject(PkgList[i]) is TLazPackage then