LCL: fixed DoAutoSize endless loop, h2pas: small improvements, fixed range check errors

git-svn-id: trunk@11717 -
This commit is contained in:
mattias 2007-08-02 18:51:03 +00:00
parent d603505cf7
commit 0f906599f6
8 changed files with 159 additions and 141 deletions

View File

@ -150,6 +150,16 @@ type
class function ClassDescription: string; override; class function ClassDescription: string; override;
function Execute(aText: TIDETextConverter): TModalResult; override; function Execute(aText: TIDETextConverter): TModalResult; override;
end; end;
{ Proposal:
- A tool to collect the content of several units into one
- A tool to remove redefinitions
- A tool to fix "constant A=B;" to type A=B; or functions
- A tool to reorder a unit to fix forward definitions
Difficulties:
- keep comments together
- keep IFDEFs
}
TH2PasFile = class; TH2PasFile = class;
@ -1626,6 +1636,15 @@ begin
end; end;
function TH2PasConverter.ConvertFile(AFile: TH2PasFile): TModalResult; function TH2PasConverter.ConvertFile(AFile: TH2PasFile): TModalResult;
procedure CloseOrRevertEditorFile(const Filename: string);
begin
if FileExists(Filename) then
LazarusIDE.DoRevertEditorFile(Filename)
else
LazarusIDE.DoCloseEditorFile(Filename,[cfQuiet]);
end;
var var
OutputFilename: String; OutputFilename: String;
TempCHeaderFilename: String; TempCHeaderFilename: String;
@ -1715,8 +1734,8 @@ begin
TextConverter.Free; TextConverter.Free;
if (LazarusIDE<>nil) then begin if (LazarusIDE<>nil) then begin
// reload changed files, so that IDE does not report changed files // reload changed files, so that IDE does not report changed files
LazarusIDE.DoRevertEditorFile(TempCHeaderFilename); CloseOrRevertEditorFile(TempCHeaderFilename);
LazarusIDE.DoRevertEditorFile(OutputFilename); CloseOrRevertEditorFile(OutputFilename);
end; end;
end; end;
@ -2693,7 +2712,7 @@ end;
function TReplaceImplicitTypes.FindExplicitTypesAndConstants( function TReplaceImplicitTypes.FindExplicitTypesAndConstants(
var ModalResult: TModalResult): boolean; var ModalResult: TModalResult): boolean;
{ every implicit type can contian references to explicit types and constants { every implicit type can contain references to explicit types and constants
For example: array[0..3] of bogus For example: array[0..3] of bogus
If 'bogus' is defined in this source, then the new type must be defined If 'bogus' is defined in this source, then the new type must be defined
after 'bogus'. after 'bogus'.

View File

@ -1,26 +1,30 @@
object IDETextConvListAddDlg: TIDETextConvListAddDlg object IDETextConvListAddDlg: TIDETextConvListAddDlg
Caption = 'IDETextConvListAddDlg'
ClientHeight = 109
ClientWidth = 275
OnCreate = FormCreate
PixelsPerInch = 75
HorzScrollBar.Page = 274
VertScrollBar.Page = 108
Left = 290 Left = 290
Height = 109 Height = 122
Top = 202 Top = 202
Width = 275 Width = 301
HorzScrollBar.Page = 300
VertScrollBar.Page = 121
ActiveControl = AddButton
Caption = 'IDETextConvListAddDlg'
ClientHeight = 122
ClientWidth = 301
OnCreate = FormCreate
object ClassLabel: TLabel object ClassLabel: TLabel
Left = 8
Height = 20
Top = 8
Width = 69
Caption = 'ClassLabel' Caption = 'ClassLabel'
Color = clNone
FocusControl = ClassComboBox FocusControl = ClassComboBox
ParentColor = False ParentColor = False
Left = 8
Height = 13
Top = 8
Width = 63
end end
object AddButton: TButton object AddButton: TButton
AnchorSideRight.Control = CancelButton
Left = 76
Height = 37
Top = 74
Width = 88
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.Right = 10 BorderSpacing.Right = 10
@ -29,13 +33,12 @@ object IDETextConvListAddDlg: TIDETextConvListAddDlg
Default = True Default = True
OnClick = AddButtonClick OnClick = AddButtonClick
TabOrder = 0 TabOrder = 0
AnchorSideRight.Control = CancelButton
Left = 90
Height = 26
Top = 72
Width = 65
end end
object CancelButton: TButton object CancelButton: TButton
Left = 174
Height = 37
Top = 74
Width = 106
Anchors = [akRight, akBottom] Anchors = [akRight, akBottom]
AutoSize = True AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
@ -43,21 +46,17 @@ object IDETextConvListAddDlg: TIDETextConvListAddDlg
Caption = 'CancelButton' Caption = 'CancelButton'
ModalResult = 2 ModalResult = 2
TabOrder = 1 TabOrder = 1
Left = 165
Height = 26
Top = 72
Width = 89
end end
object ClassComboBox: TComboBox object ClassComboBox: TComboBox
Left = 8
Height = 25
Top = 32
Width = 282
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
MaxLength = 0 MaxLength = 0
OnEditingDone = ClassComboBoxEditingDone OnEditingDone = ClassComboBoxEditingDone
TabOrder = 2 TabOrder = 2
Text = 'ClassComboBox' Text = 'ClassComboBox'
Left = 8
Height = 25
Top = 32
Width = 256
end end
end end

View File

@ -1,23 +1,23 @@
{ Dies ist eine automatisch erzeugte Lazarus-Ressourcendatei } { Dies ist eine automatisch erzeugte Lazarus-Ressourcendatei }
LazarusResources.Add('TIDETextConvListAddDlg','FORMDATA',[ LazarusResources.Add('TIDETextConvListAddDlg','FORMDATA',[
'TPF0'#22'TIDETextConvListAddDlg'#21'IDETextConvListAddDlg'#7'Caption'#6#21'I' 'TPF0'#22'TIDETextConvListAddDlg'#21'IDETextConvListAddDlg'#4'Left'#3'"'#1#6
+'DETextConvListAddDlg'#12'ClientHeight'#2'm'#11'ClientWidth'#3#19#1#8'OnCrea' +'Height'#2'z'#3'Top'#3#202#0#5'Width'#3'-'#1#18'HorzScrollBar.Page'#3','#1#18
+'te'#7#10'FormCreate'#13'PixelsPerInch'#2'K'#18'HorzScrollBar.Page'#3#18#1#18 +'VertScrollBar.Page'#2'y'#13'ActiveControl'#7#9'AddButton'#7'Caption'#6#21'I'
+'VertScrollBar.Page'#2'l'#4'Left'#3'"'#1#6'Height'#2'm'#3'Top'#3#202#0#5'Wid' +'DETextConvListAddDlg'#12'ClientHeight'#2'z'#11'ClientWidth'#3'-'#1#8'OnCrea'
+'th'#3#19#1#0#6'TLabel'#10'ClassLabel'#7'Caption'#6#10'ClassLabel'#5'Color'#7 +'te'#7#10'FormCreate'#0#6'TLabel'#10'ClassLabel'#4'Left'#2#8#6'Height'#2#20#3
+#6'clNone'#12'FocusControl'#7#13'ClassComboBox'#11'ParentColor'#8#4'Left'#2#8 +'Top'#2#8#5'Width'#2'E'#7'Caption'#6#10'ClassLabel'#12'FocusControl'#7#13'Cl'
+#6'Height'#2#13#3'Top'#2#8#5'Width'#2'?'#0#0#7'TButton'#9'AddButton'#7'Ancho' +'assComboBox'#11'ParentColor'#8#0#0#7'TButton'#9'AddButton'#23'AnchorSideRig'
+'rs'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpacing.Right'#2#10 +'ht.Control'#7#12'CancelButton'#4'Left'#2'L'#6'Height'#2'%'#3'Top'#2'J'#5'Wi'
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#9'AddButton'#7'Default'#9#7 +'dth'#2'X'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#19'BorderSpa'
+'OnClick'#7#14'AddButtonClick'#8'TabOrder'#2#0#23'AnchorSideRight.Control'#7 +'cing.Right'#2#10#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#9'AddButton'
+#12'CancelButton'#4'Left'#2'Z'#6'Height'#2#26#3'Top'#2'H'#5'Width'#2'A'#0#0#7 +#7'Default'#9#7'OnClick'#7#14'AddButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'
+'TButton'#12'CancelButton'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize' +#12'CancelButton'#4'Left'#3#174#0#6'Height'#2'%'#3'Top'#2'J'#5'Width'#2'j'#7
+#9#25'BorderSpacing.InnerBorder'#2#4#6'Cancel'#9#7'Caption'#6#12'CancelButto' +'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#25'BorderSpacing.InnerBo'
+'n'#11'ModalResult'#2#2#8'TabOrder'#2#1#4'Left'#3#165#0#6'Height'#2#26#3'Top' +'rder'#2#4#6'Cancel'#9#7'Caption'#6#12'CancelButton'#11'ModalResult'#2#2#8'T'
+#2'H'#5'Width'#2'Y'#0#0#9'TComboBox'#13'ClassComboBox'#7'Anchors'#11#5'akTop' +'abOrder'#2#1#0#0#9'TComboBox'#13'ClassComboBox'#4'Left'#2#8#6'Height'#2#25#3
+#6'akLeft'#7'akRight'#0#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20 +'Top'#2' '#5'Width'#3#26#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#16
+'cbactSearchAscending'#0#9'MaxLength'#2#0#13'OnEditingDone'#7#24'ClassComboB' +'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9
+'oxEditingDone'#8'TabOrder'#2#2#4'Text'#6#13'ClassComboBox'#4'Left'#2#8#6'He' +'MaxLength'#2#0#13'OnEditingDone'#7#24'ClassComboBoxEditingDone'#8'TabOrder'
+'ight'#2#25#3'Top'#2' '#5'Width'#3#0#1#0#0#0 +#2#2#4'Text'#6#13'ClassComboBox'#0#0#0
]); ]);

View File

@ -1,24 +1,23 @@
object TextConvListEditor: TTextConvListEditor object TextConvListEditor: TTextConvListEditor
Left = 290 Left = 290
Height = 227 Height = 296
Top = 202 Top = 202
Width = 519 Width = 656
HorzScrollBar.Page = 518 HorzScrollBar.Page = 655
VertScrollBar.Page = 226 VertScrollBar.Page = 295
ActiveControl = ToolsListBox ActiveControl = ToolsListBox
Caption = 'TextConvListEditor' Caption = 'TextConvListEditor'
ClientHeight = 227 ClientHeight = 296
ClientWidth = 519 ClientWidth = 656
Constraints.MinHeight = 200 Constraints.MinHeight = 200
Constraints.MinWidth = 400 Constraints.MinWidth = 400
OnCreate = FormCreate OnCreate = FormCreate
object ToolsLabel: TLabel object ToolsLabel: TLabel
Left = 12 Left = 12
Height = 13 Height = 20
Top = 9 Top = 9
Width = 62 Width = 66
Caption = 'ToolsLabel' Caption = 'ToolsLabel'
Color = clNone
ParentColor = False ParentColor = False
end end
object ToolsListBox: TListBox object ToolsListBox: TListBox
@ -26,8 +25,8 @@ object TextConvListEditor: TTextConvListEditor
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ToolsSplitter AnchorSideRight.Control = ToolsSplitter
AnchorSideBottom.Control = UpDownSplitter AnchorSideBottom.Control = UpDownSplitter
Height = 120 Height = 164
Top = 24 Top = 31
Width = 232 Width = 232
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Top = 2 BorderSpacing.Top = 2
@ -40,8 +39,8 @@ object TextConvListEditor: TTextConvListEditor
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Cursor = crVSplit Cursor = crVSplit
Height = 5 Height = 5
Top = 144 Top = 195
Width = 519 Width = 656
Align = alNone Align = alNone
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
Beveled = True Beveled = True
@ -54,8 +53,8 @@ object TextConvListEditor: TTextConvListEditor
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = UpDownSplitter AnchorSideBottom.Control = UpDownSplitter
Left = 236 Left = 236
Height = 144 Height = 195
Width = 283 Width = 420
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
BevelOuter = bvNone BevelOuter = bvNone
ChildSizing.LeftRightSpacing = 6 ChildSizing.LeftRightSpacing = 6
@ -64,24 +63,24 @@ object TextConvListEditor: TTextConvListEditor
ChildSizing.VerticalSpacing = 6 ChildSizing.VerticalSpacing = 6
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2 ChildSizing.ControlsPerLine = 2
ClientHeight = 144 ClientHeight = 195
ClientWidth = 283 ClientWidth = 420
TabOrder = 1 TabOrder = 1
object AddToolButton: TButton object AddToolButton: TButton
Left = 6 Left = 6
Height = 26 Height = 37
Top = 6 Top = 6
Width = 120 Width = 139
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'AddToolButton' Caption = 'AddToolButton'
OnClick = AddToolButtonClick OnClick = AddToolButtonClick
TabOrder = 0 TabOrder = 0
end end
object DeleteToolButton: TButton object DeleteToolButton: TButton
Left = 132 Left = 151
Height = 26 Height = 37
Top = 6 Top = 6
Width = 137 Width = 156
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'DeleteToolButton' Caption = 'DeleteToolButton'
OnClick = DeleteToolButtonClick OnClick = DeleteToolButtonClick
@ -89,19 +88,19 @@ object TextConvListEditor: TTextConvListEditor
end end
object MoveToolUpButton: TButton object MoveToolUpButton: TButton
Left = 6 Left = 6
Height = 26 Height = 37
Top = 38 Top = 49
Width = 120 Width = 139
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'MoveToolUpButton' Caption = 'MoveToolUpButton'
OnClick = MoveToolUpButtonClick OnClick = MoveToolUpButtonClick
TabOrder = 2 TabOrder = 2
end end
object MoveToolDownButton: TButton object MoveToolDownButton: TButton
Left = 132 Left = 151
Height = 26 Height = 37
Top = 38 Top = 49
Width = 137 Width = 156
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'MoveToolDownButton' Caption = 'MoveToolDownButton'
OnClick = MoveToolDownButtonClick OnClick = MoveToolDownButtonClick
@ -109,19 +108,19 @@ object TextConvListEditor: TTextConvListEditor
end end
object CopyToolButton: TButton object CopyToolButton: TButton
Left = 6 Left = 6
Height = 26 Height = 37
Top = 70 Top = 92
Width = 120 Width = 139
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'CopyToolButton' Caption = 'CopyToolButton'
OnClick = CopyToolButtonClick OnClick = CopyToolButtonClick
TabOrder = 4 TabOrder = 4
end end
object PasteButton: TButton object PasteButton: TButton
Left = 132 Left = 151
Height = 26 Height = 37
Top = 70 Top = 92
Width = 137 Width = 156
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'PasteButton' Caption = 'PasteButton'
OnClick = PasteButtonClick OnClick = PasteButtonClick
@ -129,9 +128,9 @@ object TextConvListEditor: TTextConvListEditor
end end
object CloneButton: TButton object CloneButton: TButton
Left = 6 Left = 6
Height = 26 Height = 37
Top = 102 Top = 135
Width = 120 Width = 139
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = 'CloneButton' Caption = 'CloneButton'
OnClick = CloneButtonClick OnClick = CloneButtonClick
@ -144,7 +143,7 @@ object TextConvListEditor: TTextConvListEditor
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = UpDownSplitter AnchorSideBottom.Control = UpDownSplitter
Left = 232 Left = 232
Height = 144 Height = 195
Width = 4 Width = 4
Align = alNone Align = alNone
Anchors = [akTop, akLeft, akBottom] Anchors = [akTop, akLeft, akBottom]

View File

@ -2,53 +2,53 @@
LazarusResources.Add('TTextConvListEditor','FORMDATA',[ LazarusResources.Add('TTextConvListEditor','FORMDATA',[
'TPF0'#19'TTextConvListEditor'#18'TextConvListEditor'#4'Left'#3'"'#1#6'Height' 'TPF0'#19'TTextConvListEditor'#18'TextConvListEditor'#4'Left'#3'"'#1#6'Height'
+#3#227#0#3'Top'#3#202#0#5'Width'#3#7#2#18'HorzScrollBar.Page'#3#6#2#18'VertS' +#3'('#1#3'Top'#3#202#0#5'Width'#3#144#2#18'HorzScrollBar.Page'#3#143#2#18'Ve'
+'crollBar.Page'#3#226#0#13'ActiveControl'#7#12'ToolsListBox'#7'Caption'#6#18 +'rtScrollBar.Page'#3''''#1#13'ActiveControl'#7#12'ToolsListBox'#7'Caption'#6
+'TextConvListEditor'#12'ClientHeight'#3#227#0#11'ClientWidth'#3#7#2#21'Const' +#18'TextConvListEditor'#12'ClientHeight'#3'('#1#11'ClientWidth'#3#144#2#21'C'
+'raints.MinHeight'#3#200#0#20'Constraints.MinWidth'#3#144#1#8'OnCreate'#7#10 +'onstraints.MinHeight'#3#200#0#20'Constraints.MinWidth'#3#144#1#8'OnCreate'#7
+'FormCreate'#0#6'TLabel'#10'ToolsLabel'#4'Left'#2#12#6'Height'#2#13#3'Top'#2 +#10'FormCreate'#0#6'TLabel'#10'ToolsLabel'#4'Left'#2#12#6'Height'#2#20#3'Top'
+#9#5'Width'#2'>'#7'Caption'#6#10'ToolsLabel'#5'Color'#7#6'clNone'#11'ParentC' +#2#9#5'Width'#2'B'#7'Caption'#6#10'ToolsLabel'#11'ParentColor'#8#0#0#8'TList'
+'olor'#8#0#0#8'TListBox'#12'ToolsListBox'#21'AnchorSideTop.Control'#7#10'Too' +'Box'#12'ToolsListBox'#21'AnchorSideTop.Control'#7#10'ToolsLabel'#18'AnchorS'
+'lsLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7 +'ideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#13'ToolsSplitter'
+#13'ToolsSplitter'#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#6'Heigh' +#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#6'Height'#3#164#0#3'Top'#2
+'t'#2'x'#3'Top'#2#24#5'Width'#3#232#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akR' +#31#5'Width'#3#232#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+'ight'#8'akBottom'#0#17'BorderSpacing.Top'#2#2#17'OnSelectionChange'#7#27'To' +#0#17'BorderSpacing.Top'#2#2#17'OnSelectionChange'#7#27'ToolsListBoxSelectio'
+'olsListBoxSelectionChange'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#9'TSplitte' +'nChange'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0#9'TSplitter'#14'UpDownSplitt'
+'r'#14'UpDownSplitter'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideR' +'er'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asr'
+'ight.Side'#7#9'asrBottom'#6'Cursor'#7#8'crVSplit'#6'Height'#2#5#3'Top'#3#144 +'Bottom'#6'Cursor'#7#8'crVSplit'#6'Height'#2#5#3'Top'#3#195#0#5'Width'#3#144
+#0#5'Width'#3#7#2#5'Align'#7#6'alNone'#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak' +#2#5'Align'#7#6'alNone'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Beve'
+'Right'#0#7'Beveled'#9#12'ResizeAnchor'#7#8'akBottom'#0#0#6'TPanel'#10'Tools' +'led'#9#12'ResizeAnchor'#7#8'akBottom'#0#0#6'TPanel'#10'ToolsPanel'#22'Ancho'
+'Panel'#22'AnchorSideLeft.Control'#7#13'ToolsSplitter'#19'AnchorSideLeft.Sid' +'rSideLeft.Control'#7#13'ToolsSplitter'#19'AnchorSideLeft.Side'#7#9'asrBotto'
+'e'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight' +'m'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrB'
+'.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#4'L' +'ottom'#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#4'Left'#3#236#0#6
+'eft'#3#236#0#6'Height'#3#144#0#5'Width'#3#27#1#7'Anchors'#11#5'akTop'#6'akL' +'Height'#3#195#0#5'Width'#3#164#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+'eft'#7'akRight'#8'akBottom'#0#10'BevelOuter'#7#6'bvNone'#28'ChildSizing.Lef' +#8'akBottom'#0#10'BevelOuter'#7#6'bvNone'#28'ChildSizing.LeftRightSpacing'#2
+'tRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Hori' +#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.HorizontalSpacing'#2#6
+'zontalSpacing'#2#6#27'ChildSizing.VerticalSpacing'#2#6#18'ChildSizing.Layou' +#27'ChildSizing.VerticalSpacing'#2#6#18'ChildSizing.Layout'#7#29'cclLeftToRi'
+'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2 +'ghtThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2#12'ClientHeight'#3
+#12'ClientHeight'#3#144#0#11'ClientWidth'#3#27#1#8'TabOrder'#2#1#0#7'TButton' +#195#0#11'ClientWidth'#3#164#1#8'TabOrder'#2#1#0#7'TButton'#13'AddToolButton'
+#13'AddToolButton'#4'Left'#2#6#6'Height'#2#26#3'Top'#2#6#5'Width'#2'x'#25'Bo' +#4'Left'#2#6#6'Height'#2'%'#3'Top'#2#6#5'Width'#3#139#0#25'BorderSpacing.Inn'
+'rderSpacing.InnerBorder'#2#4#7'Caption'#6#13'AddToolButton'#7'OnClick'#7#18 +'erBorder'#2#4#7'Caption'#6#13'AddToolButton'#7'OnClick'#7#18'AddToolButtonC'
+'AddToolButtonClick'#8'TabOrder'#2#0#0#0#7'TButton'#16'DeleteToolButton'#4'L' +'lick'#8'TabOrder'#2#0#0#0#7'TButton'#16'DeleteToolButton'#4'Left'#3#151#0#6
+'eft'#3#132#0#6'Height'#2#26#3'Top'#2#6#5'Width'#3#137#0#25'BorderSpacing.In' +'Height'#2'%'#3'Top'#2#6#5'Width'#3#156#0#25'BorderSpacing.InnerBorder'#2#4#7
+'nerBorder'#2#4#7'Caption'#6#16'DeleteToolButton'#7'OnClick'#7#21'DeleteTool' +'Caption'#6#16'DeleteToolButton'#7'OnClick'#7#21'DeleteToolButtonClick'#8'Ta'
+'ButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#16'MoveToolUpButton'#4'Left'#2#6 +'bOrder'#2#1#0#0#7'TButton'#16'MoveToolUpButton'#4'Left'#2#6#6'Height'#2'%'#3
+#6'Height'#2#26#3'Top'#2'&'#5'Width'#2'x'#25'BorderSpacing.InnerBorder'#2#4#7 +'Top'#2'1'#5'Width'#3#139#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#16
+'Caption'#6#16'MoveToolUpButton'#7'OnClick'#7#21'MoveToolUpButtonClick'#8'Ta' +'MoveToolUpButton'#7'OnClick'#7#21'MoveToolUpButtonClick'#8'TabOrder'#2#2#0#0
+'bOrder'#2#2#0#0#7'TButton'#18'MoveToolDownButton'#4'Left'#3#132#0#6'Height' +#7'TButton'#18'MoveToolDownButton'#4'Left'#3#151#0#6'Height'#2'%'#3'Top'#2'1'
+#2#26#3'Top'#2'&'#5'Width'#3#137#0#25'BorderSpacing.InnerBorder'#2#4#7'Capti' +#5'Width'#3#156#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#18'MoveTool'
+'on'#6#18'MoveToolDownButton'#7'OnClick'#7#23'MoveToolDownButtonClick'#8'Tab' +'DownButton'#7'OnClick'#7#23'MoveToolDownButtonClick'#8'TabOrder'#2#3#0#0#7
+'Order'#2#3#0#0#7'TButton'#14'CopyToolButton'#4'Left'#2#6#6'Height'#2#26#3'T' +'TButton'#14'CopyToolButton'#4'Left'#2#6#6'Height'#2'%'#3'Top'#2'\'#5'Width'
+'op'#2'F'#5'Width'#2'x'#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#14'Co' +#3#139#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#14'CopyToolButton'#7
+'pyToolButton'#7'OnClick'#7#19'CopyToolButtonClick'#8'TabOrder'#2#4#0#0#7'TB' +'OnClick'#7#19'CopyToolButtonClick'#8'TabOrder'#2#4#0#0#7'TButton'#11'PasteB'
+'utton'#11'PasteButton'#4'Left'#3#132#0#6'Height'#2#26#3'Top'#2'F'#5'Width'#3 +'utton'#4'Left'#3#151#0#6'Height'#2'%'#3'Top'#2'\'#5'Width'#3#156#0#25'Borde'
+#137#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#11'PasteButton'#7'OnCl' +'rSpacing.InnerBorder'#2#4#7'Caption'#6#11'PasteButton'#7'OnClick'#7#16'Past'
+'ick'#7#16'PasteButtonClick'#8'TabOrder'#2#5#0#0#7'TButton'#11'CloneButton'#4 +'eButtonClick'#8'TabOrder'#2#5#0#0#7'TButton'#11'CloneButton'#4'Left'#2#6#6
+'Left'#2#6#6'Height'#2#26#3'Top'#2'f'#5'Width'#2'x'#25'BorderSpacing.InnerBo' +'Height'#2'%'#3'Top'#3#135#0#5'Width'#3#139#0#25'BorderSpacing.InnerBorder'#2
+'rder'#2#4#7'Caption'#6#11'CloneButton'#7'OnClick'#7#16'CloneButtonClick'#8 +#4#7'Caption'#6#11'CloneButton'#7'OnClick'#7#16'CloneButtonClick'#8'TabOrder'
+'TabOrder'#2#6#0#0#0#9'TSplitter'#13'ToolsSplitter'#21'AnchorSideTop.Control' +#2#6#0#0#0#9'TSplitter'#13'ToolsSplitter'#21'AnchorSideTop.Control'#7#5'Owne'
+#7#5'Owner'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7 +'r'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrB'
+#9'asrBottom'#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#4'Left'#3#232 +'ottom'#24'AnchorSideBottom.Control'#7#14'UpDownSplitter'#4'Left'#3#232#0#6
+#0#6'Height'#3#144#0#5'Width'#2#4#5'Align'#7#6'alNone'#7'Anchors'#11#5'akTop' +'Height'#3#195#0#5'Width'#2#4#5'Align'#7#6'alNone'#7'Anchors'#11#5'akTop'#6
+#6'akLeft'#8'akBottom'#0#7'Beveled'#9#0#0#0 +'akLeft'#8'akBottom'#0#7'Beveled'#9#0#0#0
]); ]);

View File

@ -2823,7 +2823,7 @@ begin
with FontDialog do with FontDialog do
begin begin
Font.Name := EditorFontComboBox.Text; Font.Name := EditorFontComboBox.Text;
Font.Height := StrToIntDef(EditorFontHeightComboBox.Text, PreviewEdits[0].Font.Height); Font.Height := StrToIntDef(EditorFontHeightComboBox.Text, PreviewEdits[1].Font.Height);
Options := Options + [fdApplyButton]; Options := Options + [fdApplyButton];
OnApplyClicked := @FontDialogApplyClicked; OnApplyClicked := @FontDialogApplyClicked;
if Execute then if Execute then

View File

@ -1957,10 +1957,10 @@ begin
SetBoundsKeepBase(NewLeft,NewTop,PreferredWidth,PreferredHeight,true); SetBoundsKeepBase(NewLeft,NewTop,PreferredWidth,PreferredHeight,true);
end; end;
finally finally
Exclude(FControlFlags,cfAutoSizeNeeded);
EnableAlign; EnableAlign;
EnableAutoSizing; EnableAutoSizing;
end; end;
Exclude(FControlFlags,cfAutoSizeNeeded);
end; end;
{------------------------------------------------------------------------------} {------------------------------------------------------------------------------}

View File

@ -8756,7 +8756,8 @@ begin
end; end;
{$ENDIF} {$ENDIF}
procedure StyleFillRectangle(drawable : PGDKDrawable; GC : PGDKGC; Color : TColorRef; x, y, width, height : gint); procedure StyleFillRectangle(drawable : PGDKDrawable; GC : PGDKGC;
Color : TColorRef; x, y, width, height : gint);
var var
style : PGTKStyle; style : PGTKStyle;
widget : PGTKWidget; widget : PGTKWidget;