implemented TControl.BorderSpacing.CellAlignHorizontal/Vertical, replaced TRadioGroup recreatewnd calls with UpdateItems, changed TRadioGroup.AutoFill to true as default

git-svn-id: trunk@8633 -
This commit is contained in:
mattias 2006-01-27 15:21:08 +00:00
parent 752cb66d8c
commit 90de7d2a9a
7 changed files with 417 additions and 380 deletions

View File

@ -61,8 +61,8 @@ object EditorOptionsForm: TEditorOptionsForm
AutoFill = True AutoFill = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'EditorOptionsGroupBox' Caption = 'EditorOptionsGroupBox'
ChildSizing.EnlargeHorizontal = crsHomogenousSpaceResize ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousSpaceResize ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclTopToBottomThenLeftToRight ChildSizing.Layout = cclTopToBottomThenLeftToRight
@ -392,6 +392,8 @@ object EditorOptionsForm: TEditorOptionsForm
ParentColor = False ParentColor = False
TabOrder = 2 TabOrder = 2
Width = 461 Width = 461
BookMarkOptions.OnChange = nil
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14 Gutter.CodeFoldingWidth = 14
Keystrokes = < Keystrokes = <
item item
@ -718,6 +720,7 @@ object EditorOptionsForm: TEditorOptionsForm
'DisplayPreview' 'DisplayPreview'
) )
ReadOnly = True ReadOnly = True
SelectedColor.OnChange = nil
OnSpecialLineColors = OnSpecialLineColors OnSpecialLineColors = OnSpecialLineColors
Cursor = crIBeam Cursor = crIBeam
Left = 6 Left = 6
@ -890,6 +893,8 @@ object EditorOptionsForm: TEditorOptionsForm
TabOrder = 3 TabOrder = 3
Width = 465 Width = 465
OnMouseDown = ColorPreviewMouseUp OnMouseDown = ColorPreviewMouseUp
BookMarkOptions.OnChange = nil
Gutter.OnChange = nil
Gutter.CodeFoldingWidth = 14 Gutter.CodeFoldingWidth = 14
Keystrokes = < Keystrokes = <
item item
@ -1216,6 +1221,7 @@ object EditorOptionsForm: TEditorOptionsForm
'ColorPreview' 'ColorPreview'
) )
ReadOnly = True ReadOnly = True
SelectedColor.OnChange = nil
OnSpecialLineColors = OnSpecialLineColors OnSpecialLineColors = OnSpecialLineColors
Cursor = crIBeam Cursor = crIBeam
Left = 4 Left = 4

View File

@ -21,8 +21,8 @@ LazarusResources.Add('TEditorOptionsForm','FORMDATA',[
+#0#11'TCheckGroup'#21'EditorOptionsGroupBox'#5'Align'#7#5'alTop'#7'Anchors' +#0#11'TCheckGroup'#21'EditorOptionsGroupBox'#5'Align'#7#5'alTop'#7'Anchors'
+#11#5'akTop'#6'akLeft'#8'akBottom'#0#8'AutoFill'#9#20'BorderSpacing.Around'#2 +#11#5'akTop'#6'akLeft'#8'akBottom'#0#8'AutoFill'#9#20'BorderSpacing.Around'#2
+#6#7'Caption'#6#21'EditorOptionsGroupBox'#29'ChildSizing.EnlargeHorizontal'#7 +#6#7'Caption'#6#21'EditorOptionsGroupBox'#29'ChildSizing.EnlargeHorizontal'#7
+#24'crsHomogenousSpaceResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge' +#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge'
+'nousSpaceResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C' +'nousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C'
+'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29 +'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29
+'cclTopToBottomThenLeftToRight'#27'ChildSizing.ControlsPerLine'#2#1#12'Colum' +'cclTopToBottomThenLeftToRight'#27'ChildSizing.ControlsPerLine'#2#1#12'Colum'
+'nLayout'#7#24'clVerticalThenHorizontal'#7'Columns'#2#2#11'OnItemClick'#7#22 +'nLayout'#7#24'clVerticalThenHorizontal'#7'Columns'#2#2#11'OnItemClick'#7#22
@ -115,214 +115,216 @@ LazarusResources.Add('TEditorOptionsForm','FORMDATA',[
+#0#8'TSynEdit'#14'DisplayPreview'#5'Align'#7#8'alBottom'#20'BorderSpacing.Ar' +#0#8'TSynEdit'#14'DisplayPreview'#5'Align'#7#8'alBottom'#20'BorderSpacing.Ar'
+'ound'#2#6#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Font' +'ound'#2#6#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Font'
+'.Height'#2#240#9'Font.Name'#6#7'courier'#6'Height'#3#173#0#4'Name'#6#14'Dis' +'.Height'#2#240#9'Font.Name'#6#7'courier'#6'Height'#3#173#0#4'Name'#6#14'Dis'
+'playPreview'#11'ParentColor'#8#8'TabOrder'#2#2#5'Width'#3#205#1#23'Gutter.C' +'playPreview'#11'ParentColor'#8#8'TabOrder'#2#2#5'Width'#3#205#1#24'BookMark'
+'odeFoldingWidth'#2#14#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0 +'Options.OnChange'#13#15'Gutter.OnChange'#13#23'Gutter.CodeFoldingWidth'#2#14
+#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@' +#10'Keystrokes'#14#1#7'Command'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'S'
+#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0 +'hortCut'#3'& '#0#1#7'Command'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8
+#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0 +'ShortCut'#2'('#0#1#7'Command'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0
+#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1 +#8'ShortCut'#3'(@'#0#1#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8
+#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7 +'ShortCut'#3'% '#0#1#7'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8
+'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7 +'ShortCut'#3'%`'#0#1#7'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8
+'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7 +'ShortCut'#3''' '#0#1#7'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8
+'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7 +'ShortCut'#3'''`'#0#1#7'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8
+'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'C' +'ShortCut'#3'" '#0#1#7'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8
+'ommand'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7 +'ShortCut'#3'"`'#0#1#7'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'S'
+'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'C' +'hortCut'#3'! '#0#1#7'Command'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8
+'ommand'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7 +'ShortCut'#3'!`'#0#1#7'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'S'
,'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'C' ,'hortCut'#3'$ '#0#1#7'Command'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8
+'ommand'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7 +'ShortCut'#3'$`'#0#1#7'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'S'
+'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1 +'hortCut'#3'# '#0#1#7'Command'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8
+#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- ' +'ShortCut'#3'#`'#0#1#7'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201
+#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3 +#0#8'ShortCut'#3'-@'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3
+'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCu' +#246#1#8'ShortCut'#2'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Comman'
+'t'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8 +'d'#3#245#1#8'ShortCut'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7
+'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'C' +'Command'#3#248#1#8'ShortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8
+'ommand'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0 +#128#0#0#0#1#7'Command'#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1
+#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3 +#8'ShortCut'#2#13#0#1#7'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3
+'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'Short' +#201#0#8'ShortCut'#3'C@'#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Comma'
+'Cut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8 +'nd'#3#253#1#8'ShortCut'#3'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7
+'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'[' +'Command'#3#247#1#8'ShortCut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0
+#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command' +#1#7'Command'#3'\'#2#8'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X'
+#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Com' +'@'#0#1#7'Command'#3#251#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortC'
+'mand'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7 +'ut'#3'Y`'#0#1#7'Command'#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'S'
+'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0 +'hortCut'#3'Z`'#0#1#7'Command'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1
+#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4' +#8'ShortCut'#3'1@'#0#1#7'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3
+'@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut' +'0'#1#8'ShortCut'#3'3@'#0#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Comman'
+#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'Short' +'d'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'C'
+'Cut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8 +'ommand'#3'4'#1#8'ShortCut'#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1
+'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a' +#7'Command'#3'6'#1#8'ShortCut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'
+#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3 +#0#1#7'Command'#3'`'#1#8'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3
+'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Comman' +'2`'#0#1#7'Command'#3'b'#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCu'
+'d'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'C' +'t'#3'4`'#0#1#7'Command'#3'd'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'Sh'
+'ommand'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1 +'ortCut'#3'6`'#0#1#7'Command'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1
+#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C' +#8'ShortCut'#3'8`'#0#1#7'Command'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3
+'`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCu' +#231#0#8'ShortCut'#3'N`'#0#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Comm'
+'t'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'Sh' +'and'#3#233#0#8'ShortCut'#3'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7
+'ortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#14'DisplayPreview'#0#8'ReadOnly'#9 +'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'
+#19'OnSpecialLineColors'#7#19'OnSpecialLineColors'#6'Cursor'#7#7'crIBeam'#4 +#0#0#13'Lines.Strings'#1#6#14'DisplayPreview'#0#8'ReadOnly'#9#22'SelectedCol'
+'Left'#2#6#6'Height'#3#173#0#3'Top'#3#26#1#5'Width'#3#205#1#0#0#0#5'TPage'#14 +'or.OnChange'#13#19'OnSpecialLineColors'#7#19'OnSpecialLineColors'#6'Cursor'
+'KeymappingPage'#7'Caption'#6#14'KeymappingPage'#11'ClientWidth'#3#217#1#12 +#7#7'crIBeam'#4'Left'#2#6#6'Height'#3#173#0#3'Top'#3#26#1#5'Width'#3#205#1#0
+'ClientHeight'#3#205#1#4'Left'#2#2#6'Height'#3#205#1#3'Top'#2#28#5'Width'#3 +#0#0#5'TPage'#14'KeymappingPage'#7'Caption'#6#14'KeymappingPage'#11'ClientWi'
+#217#1#0#6'TLabel'#19'KeyMappingHelpLabel'#5'Align'#7#5'alTop'#18'BorderSpac' +'dth'#3#217#1#12'ClientHeight'#3#205#1#4'Left'#2#2#6'Height'#3#205#1#3'Top'#2
+'ing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#7'Capti' +#28#5'Width'#3#217#1#0#6'TLabel'#19'KeyMappingHelpLabel'#5'Align'#7#5'alTop'
+'on'#6#19'KeyMappingHelpLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left' +#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'
+#2#6#6'Height'#2#13#3'Top'#2'D'#5'Width'#3#205#1#0#0#7'TButton'#28'KeyMappin' +#2#6#7'Caption'#6#19'KeyMappingHelpLabel'#5'Color'#7#6'clNone'#11'ParentColo'
+'gChooseSchemeButton'#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'Bord' +'r'#8#4'Left'#2#6#6'Height'#2#13#3'Top'#2'D'#5'Width'#3#205#1#0#0#7'TButton'
+'erSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#25'BorderSpacing.InnerBorder' +#28'KeyMappingChooseSchemeButton'#5'Align'#7#5'alTop'#18'BorderSpacing.Left'
+#2#2#7'Caption'#6#28'KeyMappingChooseSchemeButton'#7'OnClick'#7'!KeyMappingC' +#2#6#17'BorderSpacing.Top'#2#6#19'BorderSpacing.Right'#2#6#25'BorderSpacing.'
+'hooseSchemeButtonClick'#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#2#25#3'Top'#2 +'InnerBorder'#2#2#7'Caption'#6#28'KeyMappingChooseSchemeButton'#7'OnClick'#7
+#6#5'Width'#3#205#1#0#0#7'TButton KeyMappingConsistencyCheckButton'#5'Align' +'!KeyMappingChooseSchemeButtonClick'#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#2
+#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19'BorderSp' +#25#3'Top'#2#6#5'Width'#3#205#1#0#0#7'TButton KeyMappingConsistencyCheckButt'
+'acing.Right'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6' KeyMapping' +'on'#5'Align'#7#5'alTop'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6
+'ConsistencyCheckButton'#7'OnClick'#7'%KeyMappingConsistencyCheckButtonClick' +#19'BorderSpacing.Right'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6
+#8'TabOrder'#2#1#4'Left'#2#6#6'Height'#2#25#3'Top'#2'%'#5'Width'#3#205#1#0#0 +' KeyMappingConsistencyCheckButton'#7'OnClick'#7'%KeyMappingConsistencyCheck'
+#9'TTreeView'#18'KeyMappingTreeView'#5'Align'#7#8'alClient'#20'BorderSpacing' +'ButtonClick'#8'TabOrder'#2#1#4'Left'#2#6#6'Height'#2#25#3'Top'#2'%'#5'Width'
+'.Around'#2#6#17'DefaultItemHeight'#2#23#6'Images'#7#9'ImageList'#8'ReadOnly' +#3#205#1#0#0#9'TTreeView'#18'KeyMappingTreeView'#5'Align'#7#8'alClient'#20'B'
+#9#9'RowSelect'#9#8'TabOrder'#2#2#9'OnMouseUp'#7#25'KeyMappingTreeViewMouseU' +'orderSpacing.Around'#2#6#17'DefaultItemHeight'#2#23#6'Images'#7#9'ImageList'
+'p'#7'Options'#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepColla' +#8'ReadOnly'#9#9'RowSelect'#9#8'TabOrder'#2#2#9'OnMouseUp'#7#25'KeyMappingTr'
+'psedNodes'#11'tvoReadOnly'#12'tvoRowSelect'#14'tvoShowButtons'#12'tvoShowLi' +'eeViewMouseUp'#7'Options'#11#17'tvoAutoItemHeight'#16'tvoHideSelection'#21
+'nes'#11'tvoShowRoot'#17'tvoShowSeparators'#11'tvoToolTips'#0#4'Left'#2#6#6 +'tvoKeepCollapsedNodes'#11'tvoReadOnly'#12'tvoRowSelect'#14'tvoShowButtons'
+'Height'#3'p'#1#3'Top'#2'W'#5'Width'#3#205#1#0#0#0#5'TPage'#9'ColorPage'#7'C' +#12'tvoShowLines'#11'tvoShowRoot'#17'tvoShowSeparators'#11'tvoToolTips'#0#4
+'aption'#6#9'ColorPage'#11'ClientWidth'#3#217#1#12'ClientHeight'#3#205#1#4'L' +'Left'#2#6#6'Height'#3'p'#1#3'Top'#2'W'#5'Width'#3#205#1#0#0#0#5'TPage'#9'Co'
+'eft'#2#2#6'Height'#3#205#1#3'Top'#2#28#5'Width'#3#217#1#0#6'TLabel'#13'Lang' +'lorPage'#7'Caption'#6#9'ColorPage'#11'ClientWidth'#3#217#1#12'ClientHeight'
+'uageLabel'#7'Caption'#6#13'LanguageLabel'#5'Color'#7#6'clNone'#11'ParentCol' +#3#205#1#4'Left'#2#2#6'Height'#3#205#1#3'Top'#2#28#5'Width'#3#217#1#0#6'TLab'
+'or'#8#4'Left'#3#214#0#6'Height'#2#13#3'Top'#2#12#5'Width'#2'X'#0#0#6'TLabel' +'el'#13'LanguageLabel'#7'Caption'#6#13'LanguageLabel'#5'Color'#7#6'clNone'#11
+#16'ColorSchemeLabel'#7'Caption'#6#16'ColorSchemeLabel'#5'Color'#7#6'clNone' +'ParentColor'#8#4'Left'#3#214#0#6'Height'#2#13#3'Top'#2#12#5'Width'#2'X'#0#0
+#11'ParentColor'#8#4'Left'#3#214#0#6'Height'#2#13#3'Top'#2'$'#5'Width'#2'k'#0 +#6'TLabel'#16'ColorSchemeLabel'#7'Caption'#6#16'ColorSchemeLabel'#5'Color'#7
+#0#6'TLabel'#19'FileExtensionsLabel'#7'Caption'#6#19'FileExtensionsLabel'#5 +#6'clNone'#11'ParentColor'#8#4'Left'#3#214#0#6'Height'#2#13#3'Top'#2'$'#5'Wi'
+'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#3#214#0#6'Height'#2#13#3'Top'#2 +'dth'#2'k'#0#0#6'TLabel'#19'FileExtensionsLabel'#7'Caption'#6#19'FileExtensi'
+'<'#5'Width'#2'q'#0#0#6'TLabel'#17'ColorElementLabel'#7'Caption'#6#17'ColorE' +'onsLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#3#214#0#6'Height'#2
+'lementLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#4#6'Height'#2 +#13#3'Top'#2'<'#5'Width'#2'q'#0#0#6'TLabel'#17'ColorElementLabel'#7'Caption'
,#13#3'Top'#2'Z'#5'Width'#2'j'#0#0#9'TComboBox'#16'LanguageComboBox'#16'AutoC' ,#6#17'ColorElementLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#4#6
+'ompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'Max' +'Height'#2#13#3'Top'#2'Z'#5'Width'#2'j'#0#0#9'TComboBox'#16'LanguageComboBox'
+'Length'#2#0#8'OnChange'#7#16'ComboBoxOnChange'#6'OnExit'#7#14'ComboBoxOnExi' +#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'
+'t'#9'OnKeyDown'#7#17'ComboBoxOnKeyDown'#8'TabOrder'#2#0#4'Text'#6#16'Langua' +#0#9'MaxLength'#2#0#8'OnChange'#7#16'ComboBoxOnChange'#6'OnExit'#7#14'ComboB'
+'geComboBox'#4'Left'#2#3#6'Height'#2#21#3'Top'#2#10#5'Width'#3#200#0#0#0#9'T' +'oxOnExit'#9'OnKeyDown'#7#17'ComboBoxOnKeyDown'#8'TabOrder'#2#0#4'Text'#6#16
+'ComboBox'#19'ColorSchemeComboBox'#16'AutoCompleteText'#11#22'cbactEndOfLine' +'LanguageComboBox'#4'Left'#2#3#6'Height'#2#21#3'Top'#2#10#5'Width'#3#200#0#0
+'Complete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'OnChange'#7#16'Comb' +#0#9'TComboBox'#19'ColorSchemeComboBox'#16'AutoCompleteText'#11#22'cbactEndO'
+'oBoxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboBoxOnKe' +'fLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2#0#8'OnChange'#7#16
+'yDown'#8'TabOrder'#2#1#4'Text'#6#19'ColorSchemeComboBox'#4'Left'#2#3#6'Heig' +'ComboBoxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboBox'
+'ht'#2#21#3'Top'#2'"'#5'Width'#3#200#0#0#0#9'TComboBox'#22'FileExtensionsCom' +'OnKeyDown'#8'TabOrder'#2#1#4'Text'#6#19'ColorSchemeComboBox'#4'Left'#2#3#6
+'boBox'#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAsc' +'Height'#2#21#3'Top'#2'"'#5'Width'#3#200#0#0#0#9'TComboBox'#22'FileExtension'
+'ending'#0#13'Items.Strings'#1#6#26'pp;pas;inc;lpr;lrs;dpr;dpk'#6#18'pp;pas;' +'sComboBox'#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearc'
+'inc;lpr;lrs'#6#10'pp;pas;inc'#0#9'MaxLength'#2#0#8'OnChange'#7#16'ComboBoxO' +'hAscending'#0#13'Items.Strings'#1#6#26'pp;pas;inc;lpr;lrs;dpr;dpk'#6#18'pp;'
+'nChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboBoxOnKeyDown' +'pas;inc;lpr;lrs'#6#10'pp;pas;inc'#0#9'MaxLength'#2#0#8'OnChange'#7#16'Combo'
+#8'TabOrder'#2#2#4'Left'#2#3#6'Height'#2#21#3'Top'#2':'#5'Width'#3#200#0#0#0 +'BoxOnChange'#6'OnExit'#7#14'ComboBoxOnExit'#9'OnKeyDown'#7#17'ComboBoxOnKey'
+#8'TSynEdit'#12'ColorPreview'#5'Align'#7#8'alBottom'#20'BorderSpacing.Around' +'Down'#8'TabOrder'#2#2#4'Left'#2#3#6'Height'#2#21#3'Top'#2':'#5'Width'#3#200
+#2#4#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Font.Heigh' +#0#0#0#8'TSynEdit'#12'ColorPreview'#5'Align'#7#8'alBottom'#20'BorderSpacing.'
+'t'#2#240#9'Font.Name'#6#7'courier'#6'Height'#2'b'#4'Name'#6#12'ColorPreview' +'Around'#2#4#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Fo'
+#11'ParentColor'#8#8'TabOrder'#2#3#5'Width'#3#209#1#11'OnMouseDown'#7#19'Col' +'nt.Height'#2#240#9'Font.Name'#6#7'courier'#6'Height'#2'b'#4'Name'#6#12'Colo'
+'orPreviewMouseUp'#23'Gutter.CodeFoldingWidth'#2#14#10'Keystrokes'#14#1#7'Co' +'rPreview'#11'ParentColor'#8#8'TabOrder'#2#3#5'Width'#3#209#1#11'OnMouseDown'
+'mmand'#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Com' +#7#19'ColorPreviewMouseUp'#24'BookMarkOptions.OnChange'#13#15'Gutter.OnChang'
+'mand'#3#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'C' +'e'#13#23'Gutter.CodeFoldingWidth'#2#14#10'Keystrokes'#14#1#7'Command'#2#3#8
+'ommand'#2'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1 +'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3#211#0
+#7'Command'#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7 +#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2'h'#8
+'Command'#2#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7 +'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'#2#1
+'Command'#2#2#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7 +#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2#5#8
+'Command'#2#6#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7 +'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2#8
+'Command'#2#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7 +'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6#8
+'Command'#2#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7 +'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2#10
+'Command'#2#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'C' +#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2#14#8
+'ommand'#2#13#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7 +'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2#9#8
+'Command'#2#7#8'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'C' +'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13#8
+'ommand'#2#15#8'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7 +'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
+'Command'#2#8#8'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'C' +'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
+'ommand'#2#16#8'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7 +'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
+'Command'#3#223#0#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0 +'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
+#1#7'Command'#3'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2 +'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
+'.'#0#1#7'Command'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCu' +#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
+'t'#2#8#0#1#7'Command'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'S' +'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
+'hortCut'#3#8'@'#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command' +'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
+#3'Z'#2#8'ShortCut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7 +'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
+'Command'#3#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@' +#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
+#0#1#7'Command'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3 +'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
+'M@'#0#1#7'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'Short' +#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
+'Cut'#3'T@'#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8 +'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
+'ShortCut'#3'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251 +'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
+#1#8'ShortCut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command' +#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
+#3'Y'#2#8'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Comm' +'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
+'and'#3'-'#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7 +'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
+'Command'#3'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0 +'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
+#1#7'Command'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5' +#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
+'@'#0#1#7'Command'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut' +'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
+#3'7@'#0#1#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'Short' +'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
+'Cut'#3'9@'#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8 +'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
+'ShortCut'#3'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b' +#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
+#1#8'ShortCut'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3 +#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
+'d'#1#8'ShortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Comman' +'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
+'d'#3'f'#1#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'C' +'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
+'ommand'#3'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0 +'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
+#1#7'Command'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3 +#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
+'L`'#0#1#7'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut' +'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
+#3#9' '#0#1#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#12 +'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
+'ColorPreview'#0#8'ReadOnly'#9#19'OnSpecialLineColors'#7#19'OnSpecialLineCol' +'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
+'ors'#6'Cursor'#7#7'crIBeam'#4'Left'#2#4#6'Height'#2'b'#3'Top'#3'g'#1#5'Widt' +#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#12'ColorPrev'
,'h'#3#209#1#0#0#8'TListBox'#19'ColorElementListBox'#17'OnSelectionChange'#7 ,'iew'#0#8'ReadOnly'#9#22'SelectedColor.OnChange'#13#19'OnSpecialLineColors'#7
+'"ColorElementListBoxSelectionChange'#8'TabOrder'#2#4#8'TopIndex'#2#255#4'Le' +#19'OnSpecialLineColors'#6'Cursor'#7#7'crIBeam'#4'Left'#2#4#6'Height'#2'b'#3
+'ft'#2#3#6'Height'#3#242#0#3'Top'#2'l'#5'Width'#3#200#0#0#0#7'TButton'#27'Se' +'Top'#3'g'#1#5'Width'#3#209#1#0#0#8'TListBox'#19'ColorElementListBox'#17'OnS'
+'tAttributeToDefaultButton'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#25 +'electionChange'#7'"ColorElementListBoxSelectionChange'#8'TabOrder'#2#4#8'To'
+'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#27'SetAttributeToDefaultButton' +'pIndex'#2#255#4'Left'#2#3#6'Height'#3#242#0#3'Top'#2'l'#5'Width'#3#200#0#0#0
+#7'OnClick'#7' SetAttributeToDefaultButtonClick'#8'TabOrder'#2#5#4'Left'#3 +#7'TButton'#27'SetAttributeToDefaultButton'#7'Anchors'#11#5'akTop'#6'akLeft'
+#212#0#6'Height'#2#25#3'Top'#2'Z'#5'Width'#3#255#0#0#0#7'TButton'#31'SetAllA' +#7'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#27'SetAttribute'
+'ttributesToDefaultButton'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#25 +'ToDefaultButton'#7'OnClick'#7' SetAttributeToDefaultButtonClick'#8'TabOrder'
+'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#31'SetAllAttributesToDefaultBut' +#2#5#4'Left'#3#212#0#6'Height'#2#25#3'Top'#2'Z'#5'Width'#3#255#0#0#0#7'TButt'
+'ton'#7'OnClick'#7'$SetAllAttributesToDefaultButtonClick'#8'TabOrder'#2#6#4 +'on'#31'SetAllAttributesToDefaultButton'#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'Left'#3#212#0#6'Height'#2#25#3'Top'#2'z'#5'Width'#3#255#0#0#0#9'TGroupBox' +'akRight'#0#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#31'SetAllAttribut'
+#22'TextAttributesGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#7 +'esToDefaultButton'#7'OnClick'#7'$SetAllAttributesToDefaultButtonClick'#8'Ta'
+'Caption'#6#10'Attributes'#12'ClientHeight'#3#179#0#11'ClientWidth'#3#251#0#8 +'bOrder'#2#6#4'Left'#3#212#0#6'Height'#2#25#3'Top'#2'z'#5'Width'#3#255#0#0#0
+'TabOrder'#2#7#4'Left'#3#212#0#6'Height'#3#196#0#3'Top'#3#154#0#5'Width'#3 +#9'TGroupBox'#22'TextAttributesGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7
+#255#0#0#6'TLabel'#15'ForeGroundLabel'#7'Caption'#6#15'ForeGroundLabel'#5'Co' +'akRight'#0#7'Caption'#6#10'Attributes'#12'ClientHeight'#3#179#0#11'ClientWi'
+'lor'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#8#6'Height'#2#13#5'Width'#2'c' +'dth'#3#251#0#8'TabOrder'#2#7#4'Left'#3#212#0#6'Height'#3#196#0#3'Top'#3#154
+#0#0#12'TColorButton'#21'ForegroundColorButton'#17'BorderSpacing.Top'#2#2#11 +#0#5'Width'#3#255#0#0#6'TLabel'#15'ForeGroundLabel'#7'Caption'#6#15'ForeGrou'
+'BorderWidth'#2#2#14'OnColorChanged'#7#23'ColorButtonColorChanged'#21'Anchor' +'ndLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#8#6'Height'#2#13#5
+'SideTop.Control'#7#15'ForeGroundLabel'#18'AnchorSideTop.Side'#7#9'asrBottom' +'Width'#2'c'#0#0#12'TColorButton'#21'ForegroundColorButton'#17'BorderSpacing'
+#4'Left'#2#8#6'Height'#2#21#3'Top'#2#15#5'Width'#2'K'#0#0#12'TColorButton'#21 +'.Top'#2#2#11'BorderWidth'#2#2#14'OnColorChanged'#7#23'ColorButtonColorChang'
+'BackGroundColorButton'#17'BorderSpacing.Top'#2#2#11'BorderWidth'#2#2#14'OnC' +'ed'#21'AnchorSideTop.Control'#7#15'ForeGroundLabel'#18'AnchorSideTop.Side'#7
+'olorChanged'#7#23'ColorButtonColorChanged'#21'AnchorSideTop.Control'#7#15'B' +#9'asrBottom'#4'Left'#2#8#6'Height'#2#21#3'Top'#2#15#5'Width'#2'K'#0#0#12'TC'
+'ackGroundLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#8#6'Height' +'olorButton'#21'BackGroundColorButton'#17'BorderSpacing.Top'#2#2#11'BorderWi'
+#2#21#3'Top'#2'8'#5'Width'#2'K'#0#0#6'TLabel'#15'BackGroundLabel'#17'BorderS' +'dth'#2#2#14'OnColorChanged'#7#23'ColorButtonColorChanged'#21'AnchorSideTop.'
+'pacing.Top'#2#28#7'Caption'#6#15'BackGroundLabel'#5'Color'#7#6'clNone'#11'P' +'Control'#7#15'BackGroundLabel'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
+'arentColor'#8#21'AnchorSideTop.Control'#7#15'ForeGroundLabel'#18'AnchorSide' +#2#8#6'Height'#2#21#3'Top'#2'8'#5'Width'#2'K'#0#0#6'TLabel'#15'BackGroundLab'
+'Top.Side'#7#9'asrBottom'#4'Left'#2#8#6'Height'#2#13#3'Top'#2')'#5'Width'#2 +'el'#17'BorderSpacing.Top'#2#28#7'Caption'#6#15'BackGroundLabel'#5'Color'#7#6
+'e'#0#0#9'TCheckBox'#28'ForeGroundUseDefaultCheckBox'#7'Anchors'#11#5'akTop' +'clNone'#11'ParentColor'#8#21'AnchorSideTop.Control'#7#15'ForeGroundLabel'#18
+#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#2#7'Caption'#6#28'ForeGround' +'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#8#6'Height'#2#13#3'Top'#2')'#5
+'UseDefaultCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOnClick'#8'TabOrder'#2#0 +'Width'#2'e'#0#0#9'TCheckBox'#28'ForeGroundUseDefaultCheckBox'#7'Anchors'#11
+#21'AnchorSideTop.Control'#7#15'ForeGroundLabel'#18'AnchorSideTop.Side'#7#9 +#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#2#7'Caption'#6#28'F'
+'asrBottom'#4'Left'#2'^'#6'Height'#2#24#3'Top'#2#15#5'Width'#3#144#0#0#0#9'T' +'oreGroundUseDefaultCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOnClick'#8'TabO'
+'CheckBox'#28'BackGroundUseDefaultCheckBox'#7'Anchors'#11#5'akTop'#6'akLeft' +'rder'#2#0#21'AnchorSideTop.Control'#7#15'ForeGroundLabel'#18'AnchorSideTop.'
+#7'akRight'#0#19'BorderSpacing.Right'#2#2#7'Caption'#6#28'BackGroundUseDefau' +'Side'#7#9'asrBottom'#4'Left'#2'^'#6'Height'#2#24#3'Top'#2#15#5'Width'#3#144
+'ltCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOnClick'#8'TabOrder'#2#1#21'Anch' +#0#0#0#9'TCheckBox'#28'BackGroundUseDefaultCheckBox'#7'Anchors'#11#5'akTop'#6
+'orSideTop.Control'#7#15'BackGroundLabel'#18'AnchorSideTop.Side'#7#9'asrBott' +'akLeft'#7'akRight'#0#19'BorderSpacing.Right'#2#2#7'Caption'#6#28'BackGround'
+'om'#4'Left'#2'^'#6'Height'#2#24#3'Top'#2'6'#5'Width'#3#144#0#0#0#9'TCheckBo' +'UseDefaultCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOnClick'#8'TabOrder'#2#1
+'x'#16'TextBoldCheckBox'#5'Align'#7#8'alBottom'#20'BorderSpacing.Around'#2#6 +#21'AnchorSideTop.Control'#7#15'BackGroundLabel'#18'AnchorSideTop.Side'#7#9
+#7'Caption'#6#16'TextBoldCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOnClick'#8 +'asrBottom'#4'Left'#2'^'#6'Height'#2#24#3'Top'#2'6'#5'Width'#3#144#0#0#0#9'T'
+'TabOrder'#2#2#4'Left'#2#6#6'Height'#2#24#3'Top'#2'Y'#5'Width'#3#239#0#0#0#9 +'CheckBox'#16'TextBoldCheckBox'#5'Align'#7#8'alBottom'#20'BorderSpacing.Arou'
+'TCheckBox'#18'TextItalicCheckBox'#5'Align'#7#8'alBottom'#20'BorderSpacing.A' +'nd'#2#6#7'Caption'#6#16'TextBoldCheckBox'#7'OnClick'#7#22'GeneralCheckBoxOn'
+'round'#2#6#7'Caption'#6#18'TextItalicCheckBox'#7'OnClick'#7#22'GeneralCheck' +'Click'#8'TabOrder'#2#2#4'Left'#2#6#6'Height'#2#24#3'Top'#2'Y'#5'Width'#3#239
+'BoxOnClick'#8'TabOrder'#2#3#4'Left'#2#6#6'Height'#2#24#3'Top'#2'w'#5'Width' +#0#0#0#9'TCheckBox'#18'TextItalicCheckBox'#5'Align'#7#8'alBottom'#20'BorderS'
+#3#239#0#0#0#9'TCheckBox'#21'TextUnderlineCheckBox'#5'Align'#7#8'alBottom'#20 +'pacing.Around'#2#6#7'Caption'#6#18'TextItalicCheckBox'#7'OnClick'#7#22'Gene'
+'BorderSpacing.Around'#2#6#7'Caption'#6#21'TextUnderlineCheckBox'#7'OnClick' +'ralCheckBoxOnClick'#8'TabOrder'#2#3#4'Left'#2#6#6'Height'#2#24#3'Top'#2'w'#5
+#7#22'GeneralCheckBoxOnClick'#8'TabOrder'#2#4#4'Left'#2#6#6'Height'#2#24#3'T' +'Width'#3#239#0#0#0#9'TCheckBox'#21'TextUnderlineCheckBox'#5'Align'#7#8'alBo'
+'op'#3#149#0#5'Width'#3#239#0#0#0#0#0#5'TPage'#13'CodetoolsPage'#7'Caption'#6 +'ttom'#20'BorderSpacing.Around'#2#6#7'Caption'#6#21'TextUnderlineCheckBox'#7
+#13'CodetoolsPage'#11'ClientWidth'#3#217#1#12'ClientHeight'#3#205#1#4'Left'#2 +'OnClick'#7#22'GeneralCheckBoxOnClick'#8'TabOrder'#2#4#4'Left'#2#6#6'Height'
+#2#6'Height'#3#205#1#3'Top'#2#28#5'Width'#3#217#1#0#9'TGroupBox'#25'Automati' +#2#24#3'Top'#3#149#0#5'Width'#3#239#0#0#0#0#0#5'TPage'#13'CodetoolsPage'#7'C'
+'cFeaturesGroupBox'#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2#6#7'Ca' +'aption'#6#13'CodetoolsPage'#11'ClientWidth'#3#217#1#12'ClientHeight'#3#205#1
+'ption'#6#25'AutomaticFeaturesGroupBox'#12'ClientHeight'#3#176#1#11'ClientWi' +#4'Left'#2#2#6'Height'#3#205#1#3'Top'#2#28#5'Width'#3#217#1#0#9'TGroupBox'#25
+'dth'#3#201#1#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#3#193#1#3'Top'#2#6#5'Wid' +'AutomaticFeaturesGroupBox'#5'Align'#7#8'alClient'#20'BorderSpacing.Around'#2
+'th'#3#205#1#0#6'TLabel'#14'AutoDelayLabel'#5'Align'#7#5'alTop'#17'BorderSpa' +#6#7'Caption'#6#25'AutomaticFeaturesGroupBox'#12'ClientHeight'#3#176#1#11'Cl'
+'cing.Top'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'AutoDelayLabel' +'ientWidth'#3#201#1#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#3#193#1#3'Top'#2#6
+#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#6#6'Height'#2#13#3'Top'#3 +#5'Width'#3#205#1#0#6'TLabel'#14'AutoDelayLabel'#5'Align'#7#5'alTop'#17'Bord'
+#179#0#5'Width'#3#189#1#0#0#6'TLabel'#17'AutoDelayMinLabel'#7'Caption'#6#17 +'erSpacing.Top'#2#24#20'BorderSpacing.Around'#2#6#7'Caption'#6#14'AutoDelayL'
+'AutoDelayMinLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#21'AnchorSideTop.' +'abel'#5'Color'#7#6'clNone'#11'ParentColor'#8#4'Left'#2#6#6'Height'#2#13#3'T'
+'Control'#7#17'AutoDelayTrackBar'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Le' +'op'#3#179#0#5'Width'#3#189#1#0#0#6'TLabel'#17'AutoDelayMinLabel'#7'Caption'
+'ft'#2#6#6'Height'#2#13#3'Top'#3#149#0#5'Width'#2'p'#0#0#6'TLabel'#17'AutoDe' +#6#17'AutoDelayMinLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#21'AnchorSid'
+'layMaxLabel'#9'Alignment'#7#14'taRightJustify'#7'Anchors'#11#5'akTop'#7'akR' +'eTop.Control'#7#17'AutoDelayTrackBar'#18'AnchorSideTop.Side'#7#9'asrBottom'
+'ight'#0#7'Caption'#6#17'AutoDelayMaxLabel'#5'Color'#7#6'clNone'#11'ParentCo' +#4'Left'#2#6#6'Height'#2#13#3'Top'#3#149#0#5'Width'#2'p'#0#0#6'TLabel'#17'Au'
+'lor'#8#21'AnchorSideTop.Control'#7#17'AutoDelayTrackBar'#18'AnchorSideTop.S' +'toDelayMaxLabel'#9'Alignment'#7#14'taRightJustify'#7'Anchors'#11#5'akTop'#7
+'ide'#7#9'asrBottom'#4'Left'#3'H'#1#6'Height'#2#13#3'Top'#3#149#0#5'Width'#2 +'akRight'#0#7'Caption'#6#17'AutoDelayMaxLabel'#5'Color'#7#6'clNone'#11'Paren'
+'s'#0#0#9'TCheckBox AutoIdentifierCompletionCheckBox'#5'Align'#7#5'alTop'#20 +'tColor'#8#21'AnchorSideTop.Control'#7#17'AutoDelayTrackBar'#18'AnchorSideTo'
,'BorderSpacing.Around'#2#6#7'Caption'#6' AutoIdentifierCompletionCheckBox'#8 ,'p.Side'#7#9'asrBottom'#4'Left'#3'H'#1#6'Height'#2#13#3'Top'#3#149#0#5'Width'
+'TabOrder'#2#0#4'Left'#2#6#6'Height'#2#24#3'Top'#2#6#5'Width'#3#189#1#0#0#9 +#2's'#0#0#9'TCheckBox AutoIdentifierCompletionCheckBox'#5'Align'#7#5'alTop'
+#20'BorderSpacing.Around'#2#6#7'Caption'#6' AutoIdentifierCompletionCheckBox'
+#8'TabOrder'#2#0#4'Left'#2#6#6'Height'#2#24#3'Top'#2#6#5'Width'#3#189#1#0#0#9
+'TCheckBox'#26'AutoCodeParametersCheckBox'#5'Align'#7#5'alTop'#20'BorderSpac' +'TCheckBox'#26'AutoCodeParametersCheckBox'#5'Align'#7#5'alTop'#20'BorderSpac'
+'ing.Around'#2#6#7'Caption'#6#26'AutoCodeParametersCheckBox'#7'Enabled'#8#8 +'ing.Around'#2#6#7'Caption'#6#26'AutoCodeParametersCheckBox'#7'Enabled'#8#8
+'TabOrder'#2#1#4'Left'#2#6#6'Height'#2#24#3'Top'#2'B'#5'Width'#3#189#1#0#0#9 +'TabOrder'#2#1#4'Left'#2#6#6'Height'#2#24#3'Top'#2'B'#5'Width'#3#189#1#0#0#9
@ -383,9 +385,9 @@ LazarusResources.Add('TEditorOptionsForm','FORMDATA',[
+'"/.'#9'c #74786E",'#10'"(.'#9'c #60645B",'#10'"_.'#9'c #4E5349",'#10'":.'#9 +'"/.'#9'c #74786E",'#10'"(.'#9'c #60645B",'#10'"_.'#9'c #4E5349",'#10'":.'#9
+'c #42463D",'#10'"<.'#9'c #7A7D7A",'#10'"[.'#9'c #D3D6D2",'#10'"}.'#9'c #AEB' +'c #42463D",'#10'"<.'#9'c #7A7D7A",'#10'"[.'#9'c #D3D6D2",'#10'"}.'#9'c #AEB'
+'2AB",'#10'"|.'#9'c #B3B8B0",'#10'"1.'#9'c #D0D3CE",'#10'"2.'#9'c #B8BCB8",' +'2AB",'#10'"|.'#9'c #B3B8B0",'#10'"1.'#9'c #D0D3CE",'#10'"2.'#9'c #B8BCB8",'
+#10'"3.'#9'c #E1E5E1",'#10'"4.'#9'c #A0A49F",'#10'"5.'#9'c #4E514B",'#10'"6.' ,#10'"3.'#9'c #E1E5E1",'#10'"4.'#9'c #A0A49F",'#10'"5.'#9'c #4E514B",'#10'"6.'
+#9'c #4D5149",'#10'"7.'#9'c #E4E6E4",'#10'"8.'#9'c #E7E8E7",'#10'"9.'#9'c #E' +#9'c #4D5149",'#10'"7.'#9'c #E4E6E4",'#10'"8.'#9'c #E7E8E7",'#10'"9.'#9'c #E'
,'2E5E2",'#10'"0.'#9'c #DEE3DE",'#10'"a.'#9'c #DDE2DD",'#10'"b.'#9'c #A6ABA4"' +'2E5E2",'#10'"0.'#9'c #DEE3DE",'#10'"a.'#9'c #DDE2DD",'#10'"b.'#9'c #A6ABA4"'
+','#10'"c.'#9'c #757A70",'#10'"d.'#9'c #64685E",'#10'"e.'#9'c #52574C",'#10 +','#10'"c.'#9'c #757A70",'#10'"d.'#9'c #64685E",'#10'"e.'#9'c #52574C",'#10
+'"f.'#9'c #4A4D45",'#10'"g.'#9'c #B3B7B3",'#10'"h.'#9'c #EFF2EF",'#10'"i.'#9 +'"f.'#9'c #4A4D45",'#10'"g.'#9'c #B3B7B3",'#10'"h.'#9'c #EFF2EF",'#10'"i.'#9
+'c #F1F2F1",'#10'"j.'#9'c #D4D7D4",'#10'"k.'#9'c #BBBEBB",'#10'"l.'#9'c #AEB' +'c #F1F2F1",'#10'"j.'#9'c #D4D7D4",'#10'"k.'#9'c #BBBEBB",'#10'"l.'#9'c #AEB'
@ -447,9 +449,9 @@ LazarusResources.Add('TEditorOptionsForm','FORMDATA',[
+'c #848484",'#10'"O '#9'c #606060",'#10'"P '#9'c #979797",'#10'"Q '#9'c #6E6' +'c #848484",'#10'"O '#9'c #606060",'#10'"P '#9'c #979797",'#10'"Q '#9'c #6E6'
+'E6E",'#10'"R '#9'c #969696",'#10'"S '#9'c #626262",'#10'"T '#9'c #D2D2D2",' +'E6E",'#10'"R '#9'c #969696",'#10'"S '#9'c #626262",'#10'"T '#9'c #D2D2D2",'
+#10'"U '#9'c #F8F8F8",'#10'"V '#9'c #7F7F7F",'#10'"W '#9'c #5D5D5D",'#10'"X ' +#10'"U '#9'c #F8F8F8",'#10'"V '#9'c #7F7F7F",'#10'"W '#9'c #5D5D5D",'#10'"X '
+#9'c #9F9F9F",'#10'"Y '#9'c #555555",'#10'"Z '#9'c #7B7B7B",'#10'"` '#9'c #5' ,#9'c #9F9F9F",'#10'"Y '#9'c #555555",'#10'"Z '#9'c #7B7B7B",'#10'"` '#9'c #5'
+'C5C5C",'#10'" .'#9'c #7C7C7C",'#10'"..'#9'c #8E8E8E",'#10'"+.'#9'c #909090"' +'C5C5C",'#10'" .'#9'c #7C7C7C",'#10'"..'#9'c #8E8E8E",'#10'"+.'#9'c #909090"'
,','#10'"@.'#9'c #FAFAFA",'#10'"#.'#9'c #B6B6B6",'#10'"$.'#9'c #787878",'#10 +','#10'"@.'#9'c #FAFAFA",'#10'"#.'#9'c #B6B6B6",'#10'"$.'#9'c #787878",'#10
+'"%.'#9'c #5A5A5A",'#10'"&.'#9'c #9C9C9C",'#10'"*.'#9'c #DFDFDF",'#10'"=.'#9 +'"%.'#9'c #5A5A5A",'#10'"&.'#9'c #9C9C9C",'#10'"*.'#9'c #DFDFDF",'#10'"=.'#9
+'c #FBFBFB",'#10'"-.'#9'c #AEAEAE",'#10'";.'#9'c #737373",'#10'">.'#9'c #565' +'c #FBFBFB",'#10'"-.'#9'c #AEAEAE",'#10'";.'#9'c #737373",'#10'">.'#9'c #565'
+'656",'#10'",.'#9'c #9A9A9A",'#10'"''.'#9'c #D5D5D5",'#10'").'#9'c #BBBBBB",' +'656",'#10'",.'#9'c #9A9A9A",'#10'"''.'#9'c #D5D5D5",'#10'").'#9'c #BBBBBB",'

View File

@ -542,9 +542,20 @@ type
For example: A buttons widget returns 75x25 on GetPreferredSize. For example: A buttons widget returns 75x25 on GetPreferredSize.
CalculatePreferredSize adds 2 times the InnerBorder to the width and CalculatePreferredSize adds 2 times the InnerBorder to the width and
height. height.
CellAlignHorizontal, CellAlignVertical: TControlCellAlign;
Used for example when the Parents.ChildSizing.Layout defines a table
layout.
} }
TSpacingSize = 0..MaxInt; TSpacingSize = 0..MaxInt;
TControlCellAlign = (
ccaFill,
ccaLeftTop,
ccaRightBottom,
ccaCenter
);
TControlCellAligns = set of TControlCellAlign;
{ TControlBorderSpacing } { TControlBorderSpacing }
@ -552,6 +563,8 @@ type
private private
FAround: TSpacingSize; FAround: TSpacingSize;
FBottom: TSpacingSize; FBottom: TSpacingSize;
FCellAlignHorizontal: TControlCellAlign;
FCellAlignVertical: TControlCellAlign;
FControl: TControl; FControl: TControl;
FInnerBorder: Integer; FInnerBorder: Integer;
FLeft: TSpacingSize; FLeft: TSpacingSize;
@ -560,6 +573,8 @@ type
FTop: TSpacingSize; FTop: TSpacingSize;
procedure SetAround(const AValue: TSpacingSize); procedure SetAround(const AValue: TSpacingSize);
procedure SetBottom(const AValue: TSpacingSize); procedure SetBottom(const AValue: TSpacingSize);
procedure SetCellAlignHorizontal(const AValue: TControlCellAlign);
procedure SetCellAlignVertical(const AValue: TControlCellAlign);
procedure SetInnerBorder(const AValue: Integer); procedure SetInnerBorder(const AValue: Integer);
procedure SetLeft(const AValue: TSpacingSize); procedure SetLeft(const AValue: TSpacingSize);
procedure SetRight(const AValue: TSpacingSize); procedure SetRight(const AValue: TSpacingSize);
@ -586,6 +601,8 @@ type
property Bottom: TSpacingSize read FBottom write SetBottom; property Bottom: TSpacingSize read FBottom write SetBottom;
property Around: TSpacingSize read FAround write SetAround; property Around: TSpacingSize read FAround write SetAround;
property InnerBorder: Integer read FInnerBorder write SetInnerBorder; property InnerBorder: Integer read FInnerBorder write SetInnerBorder;
property CellAlignHorizontal: TControlCellAlign read FCellAlignHorizontal write SetCellAlignHorizontal;
property CellAlignVertical: TControlCellAlign read FCellAlignVertical write SetCellAlignVertical;
end; end;
@ -2504,6 +2521,22 @@ begin
Change; Change;
end; end;
procedure TControlBorderSpacing.SetCellAlignHorizontal(
const AValue: TControlCellAlign);
begin
if FCellAlignHorizontal=AValue then exit;
FCellAlignHorizontal:=AValue;
Change;
end;
procedure TControlBorderSpacing.SetCellAlignVertical(
const AValue: TControlCellAlign);
begin
if FCellAlignVertical=AValue then exit;
FCellAlignVertical:=AValue;
Change;
end;
procedure TControlBorderSpacing.SetInnerBorder(const AValue: Integer); procedure TControlBorderSpacing.SetInnerBorder(const AValue: Integer);
begin begin
if FInnerBorder=AValue then exit; if FInnerBorder=AValue then exit;

View File

@ -630,32 +630,34 @@ type
FColumns: integer; FColumns: integer;
FCreatingWnd: boolean; FCreatingWnd: boolean;
FHiddenButton: TRadioButton; FHiddenButton: TRadioButton;
fIgnoreClicks: boolean;
FItemIndex: integer; FItemIndex: integer;
FItems: TStrings; FItems: TStrings;
FLastClickedItemIndex: integer; FLastClickedItemIndex: integer;
FOnClick: TNotifyEvent; FOnClick: TNotifyEvent;
FReading: boolean; FReading: boolean;
fIgnoreClicks: boolean; FUpdatingItems: Boolean;
procedure ItemsChanged(Sender: TObject);
procedure Clicked(Sender: TObject);
procedure Changed(Sender: TObject); procedure Changed(Sender: TObject);
procedure Clicked(Sender: TObject);
procedure ItemEnter(Sender: TObject); procedure ItemEnter(Sender: TObject);
procedure UpdateTabStops;
procedure SetAutoFill(const AValue: Boolean);
procedure SetColumnLayout(const AValue: TColumnLayout);
procedure ItemExit(Sender: TObject); procedure ItemExit(Sender: TObject);
procedure ItemKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure ItemKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure ItemResize(Sender: TObject); procedure ItemResize(Sender: TObject);
procedure ItemsChanged(Sender: TObject);
procedure SetAutoFill(const AValue: Boolean);
procedure SetColumnLayout(const AValue: TColumnLayout);
procedure UpdateControlsPerLine; procedure UpdateControlsPerLine;
procedure UpdateItems;
procedure UpdateTabStops;
protected protected
procedure Loaded; override;
procedure InitializeWnd; override; procedure InitializeWnd; override;
procedure UpdateRadioButtonStates; virtual; procedure UpdateRadioButtonStates; virtual;
procedure ReadState(Reader: TReader); override; procedure ReadState(Reader: TReader); override;
procedure SetItem(Value: TStrings); procedure SetItems(Value: TStrings);
procedure SetColumns(Value: integer); procedure SetColumns(Value: integer);
procedure SetItemIndex(Value: integer); procedure SetItemIndex(Value: integer);
function GetItemIndex: integer; function GetItemIndex: integer;
procedure Resize; override;
procedure CheckItemIndexChanged; virtual; procedure CheckItemIndexChanged; virtual;
public public
constructor Create(TheOwner: TComponent); override; constructor Create(TheOwner: TComponent); override;
@ -665,7 +667,7 @@ type
public public
property AutoFill: Boolean read FAutoFill write SetAutoFill; property AutoFill: Boolean read FAutoFill write SetAutoFill;
property ItemIndex: integer read GetItemIndex write SetItemIndex default -1; property ItemIndex: integer read GetItemIndex write SetItemIndex default -1;
property Items: TStrings read FItems write SetItem; property Items: TStrings read FItems write SetItems;
property Columns: integer read FColumns write SetColumns default 1; property Columns: integer read FColumns write SetColumns default 1;
property ColumnLayout: TColumnLayout read FColumnLayout write SetColumnLayout default clHorizontalThenVertical; property ColumnLayout: TColumnLayout read FColumnLayout write SetColumnLayout default clHorizontalThenVertical;
property OnClick: TNotifyEvent read FOnClick write FOnClick; property OnClick: TNotifyEvent read FOnClick write FOnClick;
@ -726,6 +728,7 @@ type
FItems: TStrings; FItems: TStrings;
FColumns: integer; FColumns: integer;
FOnItemClick: TCheckGroupClicked; FOnItemClick: TCheckGroupClicked;
FUpdatingItems: Boolean;
function GetChecked(Index: integer): boolean; function GetChecked(Index: integer): boolean;
function GetCheckEnabled(Index: integer): boolean; function GetCheckEnabled(Index: integer): boolean;
procedure Clicked(Sender: TObject); procedure Clicked(Sender: TObject);

View File

@ -32,10 +32,13 @@ begin
FButtonList := TList.Create; FButtonList := TList.Create;
FColumnLayout := clHorizontalThenVertical; FColumnLayout := clHorizontalThenVertical;
FColumns := 1; FColumns := 1;
FAutoFill := true;
ChildSizing.Layout:=cclLeftToRightThenTopToBottom; ChildSizing.Layout:=cclLeftToRightThenTopToBottom;
ChildSizing.ControlsPerLine:=FColumns; ChildSizing.ControlsPerLine:=FColumns;
ChildSizing.ShrinkHorizontal:=crsScaleChilds; ChildSizing.ShrinkHorizontal:=crsScaleChilds;
ChildSizing.ShrinkVertical:=crsScaleChilds; ChildSizing.ShrinkVertical:=crsScaleChilds;
ChildSizing.EnlargeHorizontal:=crsHomogenousChildResize;
ChildSizing.EnlargeVertical:=crsHomogenousChildResize;
SetInitialBounds(0,0,150,100); SetInitialBounds(0,0,150,100);
end; end;
@ -50,8 +53,6 @@ procedure TCustomCheckGroup.ItemsChanged(Sender: TObject);
begin begin
UpdateItems; UpdateItems;
UpdateControlsPerLine; UpdateControlsPerLine;
// TODO: Remove RecreateWnd
if HandleAllocated then RecreateWnd(Self);
OwnerFormDesignerModified(Self); OwnerFormDesignerModified(Self);
end; end;
@ -62,8 +63,8 @@ begin
DisableAlign; DisableAlign;
try try
if FAutoFill then begin if FAutoFill then begin
ChildSizing.EnlargeHorizontal:=crsHomogenousSpaceResize; ChildSizing.EnlargeHorizontal:=crsHomogenousChildResize;
ChildSizing.EnlargeVertical:=crsHomogenousSpaceResize; ChildSizing.EnlargeVertical:=crsHomogenousChildResize;
end else begin end else begin
ChildSizing.EnlargeHorizontal:=crsAnchorAligning; ChildSizing.EnlargeHorizontal:=crsAnchorAligning;
ChildSizing.EnlargeVertical:=crsAnchorAligning; ChildSizing.EnlargeVertical:=crsAnchorAligning;
@ -94,27 +95,35 @@ var
i : integer; i : integer;
CheckBox: TCheckBox; CheckBox: TCheckBox;
begin begin
// destroy checkboxes, if there are too many if FUpdatingItems then exit;
while FButtonList.Count>FItems.Count do begin FUpdatingItems:=true;
TCheckBox(FButtonList[FButtonList.Count-1]).Free; try
FButtonList.Delete(FButtonList.Count-1); // destroy checkboxes, if there are too many
end; while FButtonList.Count>FItems.Count do begin
TObject(FButtonList[FButtonList.Count-1]).Free;
// create as many TCheckBox as needed FButtonList.Delete(FButtonList.Count-1);
while (FButtonList.Count<FItems.Count) do begin
CheckBox := TCheckBox.Create (self);
with CheckBox do begin
Name:='CheckBox'+IntToStr(FButtonList.Count);
AutoSize := False;
Parent := Self;
OnClick :=@Clicked;
include(ControlStyle, csNoDesignSelectable);
end; end;
FButtonList.Add(CheckBox);
end; // create as many TCheckBox as needed
for i:=0 to FItems.Count-1 do begin while (FButtonList.Count<FItems.Count) do begin
CheckBox:=TCheckBox(FButtonList[i]); CheckBox := TCheckBox.Create(Self);
CheckBox.Caption:=FItems[i]; with CheckBox do begin
Name:='CheckBox'+IntToStr(FButtonList.Count);
AutoSize := False;
BorderSpacing.CellAlignHorizontal:=ccaLeftTop;
BorderSpacing.CellAlignVertical:=ccaCenter;
Parent := Self;
OnClick :=@Self.Clicked;
Include(ControlStyle, csNoDesignSelectable);
end;
FButtonList.Add(CheckBox);
end;
for i:=0 to FItems.Count-1 do begin
CheckBox:=TCheckBox(FButtonList[i]);
CheckBox.Caption:=FItems[i];
end;
finally
FUpdatingItems:=false;
end; end;
end; end;
@ -181,8 +190,7 @@ begin
begin begin
FItems.Assign(Value); FItems.Assign(Value);
UpdateItems; UpdateItems;
// TODO: Remove RecreateWnd UpdateControlsPerLine;
if HandleAllocated then RecreateWnd(Self);
end; end;
end; end;

View File

@ -19,35 +19,7 @@
Delphi compatibility: Delphi compatibility:
- the interface is almost like in delphi 5 - the interface is almost like in delphi 5
- with the GTK-bindings there must always one button active,
ItemIndex= -1 can't be handled
- FlipChildren procedure is missing - FlipChildren procedure is missing
TODO:
- faster CreateWnd
Possible improvements:
- The current implementation often recreates the group even
if it might not be neccessary. This could be solved if with
an approach like Marc Weustink suggested:
"Why not on SetColumn/SetItems/FItems.Onchange create the necessary
checkboxes and align them. This way the RadioGroup is just a control
with other controls in it. It doesn't matter if the the gtk control is
created or not.
If not created and you already have added checkboxes, they will be
created when the groupbox is created and will be destroyed when the
groupbox is destroyed. This way you internally allways deal with
TCheckboxes and you dont have to mess with creating/destroying them.
Besides that, you dont have to recreate the control on every change."
On the other side this might have the following disadvantages:
- requires some work to find out which buttons to add/delete
- the TButtonList and the group property of affected buttons
have to be updated according to the new order of buttons
- works only if the interface library supports reordering of
radiobuttons
} }
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -60,10 +32,10 @@
constructor TCustomRadioGroup.Create(TheOwner : TComponent); constructor TCustomRadioGroup.Create(TheOwner : TComponent);
begin begin
inherited Create (TheOwner); inherited Create (TheOwner);
FCreatingWnd := false;
ControlStyle := ControlStyle + [csCaptureMouse, csClickEvents, csSetCaption, ControlStyle := ControlStyle + [csCaptureMouse, csClickEvents, csSetCaption,
csDoubleClicks]; csDoubleClicks];
FItems := TStringList.Create; FItems := TStringList.Create;
FAutoFill := true;
//TStringList(FItems).OnChanging := @ItemsChanged; //TStringList(FItems).OnChanging := @ItemsChanged;
TStringList(FItems).OnChange := @ItemsChanged; TStringList(FItems).OnChange := @ItemsChanged;
FItemIndex := -1; FItemIndex := -1;
@ -75,6 +47,8 @@ begin
ChildSizing.ControlsPerLine:=FColumns; ChildSizing.ControlsPerLine:=FColumns;
ChildSizing.ShrinkHorizontal:=crsScaleChilds; ChildSizing.ShrinkHorizontal:=crsScaleChilds;
ChildSizing.ShrinkVertical:=crsScaleChilds; ChildSizing.ShrinkVertical:=crsScaleChilds;
ChildSizing.EnlargeHorizontal:=crsHomogenousChildResize;
ChildSizing.EnlargeVertical:=crsHomogenousChildResize;
SetInitialBounds(0,0,150,100); SetInitialBounds(0,0,150,100);
TabStop := True; TabStop := True;
end; end;
@ -103,9 +77,6 @@ end;
Create the visual component of the Radiogroup. Create the visual component of the Radiogroup.
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
procedure TCustomRadioGroup.InitializeWnd; procedure TCustomRadioGroup.InitializeWnd;
var
i : integer;
temp : TRadioButton;
begin begin
if FCreatingWnd then RaiseGDBException('TCustomRadioGroup.InitializeWnd'); if FCreatingWnd then RaiseGDBException('TCustomRadioGroup.InitializeWnd');
FCreatingWnd := true; FCreatingWnd := true;
@ -113,61 +84,6 @@ begin
inherited InitializeWnd; inherited InitializeWnd;
// destroy radiobuttons, if there are too many
while FButtonList.Count>FItems.Count do begin
TRadioButton(FButtonList[FButtonList.Count-1]).Free;
FButtonList.Delete(FButtonList.Count-1);
end;
//DebugLn('[TCustomRadioGroup.InitializeWnd] B ',Name,':',ClassName,' FItems.Count=',FItems.Count,' HandleAllocated=',HandleAllocated);
// create as many TRadioButton as needed
while (FButtonList.Count<FItems.Count) do begin
Temp := TRadioButton.Create(Self);
Temp.Name:='RadioButton'+IntToStr(FButtonList.Count);
Temp.AutoSize := True;
Temp.OnClick := @Clicked;
Temp.OnChange := @Changed;
Temp.OnEnter :=@ItemEnter;
Temp.OnExit :=@ItemExit;
Temp.OnKeyDown :=@ItemKeyDown;
Temp.OnResize := @ItemResize;
include(temp.ControlStyle, csNoDesignSelectable);
FButtonList.Add(Temp);
end;
if FHiddenButton=nil then begin
FHiddenButton:=TRadioButton.Create(nil);
with FHiddenButton do begin
Name:='HiddenRadioButton';
Visible:=false;
include(ControlStyle, csNoDesignSelectable);
end;
end;
//DebugLn('[TCustomRadioGroup.InitializeWnd] C ',Name,':',ClassName,' FItems.Count=',FItems.Count,' HandleAllocated=',HandleAllocated);
if (FItemIndex>=FItems.Count) then FItemIndex:=FItems.Count-1;
if FItems.Count>0 then begin
for i:=0 to FItems.Count-1 do begin
Temp := TRadioButton(FButtonList[i]);
Temp.Caption := FItems[i];
Temp.Parent:=Self;
end;
with FHiddenButton do begin
FHiddenButton.Visible:=false;
Parent:=Self;
FHiddenButton.HandleNeeded;
end;
for i:=0 to FItems.Count-1 do begin
Temp := TRadioButton(FButtonList[i]);
Temp.Checked := (i = FItemIndex);
Temp.Visible := true;
end;
FHiddenButton.Checked:=(fItemIndex=-1);
UpdateTabStops;
end;
//DebugLn('[TCustomRadioGroup.InitializeWnd] F ',Name,':',ClassName,' FItems.Count=',FItems.Count,' HandleAllocated=',HandleAllocated,' ItemIndex=',ItemIndex);
FCreatingWnd := false; FCreatingWnd := false;
end; end;
@ -194,6 +110,78 @@ begin
end; end;
procedure TCustomRadioGroup.UpdateItems;
var
i: integer;
ARadioButton: TRadioButton;
begin
if FUpdatingItems then exit;
FUpdatingItems:=true;
try
// destroy radiobuttons, if there are too many
while FButtonList.Count>FItems.Count do begin
TRadioButton(FButtonList[FButtonList.Count-1]).Free;
FButtonList.Delete(FButtonList.Count-1);
end;
// create as many TRadioButton as needed
while (FButtonList.Count<FItems.Count) do begin
ARadioButton := TRadioButton.Create(Self);
with ARadioButton do begin
Name:='RadioButton'+IntToStr(FButtonList.Count);
AutoSize := False;
OnClick := @Self.Clicked;
OnChange := @Self.Changed;
OnEnter :=@Self.ItemEnter;
OnExit :=@Self.ItemExit;
OnKeyDown :=@Self.ItemKeyDown;
OnResize := @Self.ItemResize;
BorderSpacing.CellAlignHorizontal:=ccaLeftTop;
BorderSpacing.CellAlignVertical:=ccaCenter;
Include(ControlStyle, csNoDesignSelectable);
end;
FButtonList.Add(ARadioButton);
end;
if FHiddenButton=nil then begin
FHiddenButton:=TRadioButton.Create(nil);
with FHiddenButton do begin
Name:='HiddenRadioButton';
Visible:=false;
Include(ControlStyle, csNoDesignSelectable);
end;
end;
if (FItemIndex>=FItems.Count) then FItemIndex:=FItems.Count-1;
if FItems.Count>0 then begin
// to reduce overhead do it in several steps
// assign Caption and then Parent
for i:=0 to FItems.Count-1 do begin
ARadioButton := TRadioButton(FButtonList[i]);
ARadioButton.Caption := FItems[i];
ARadioButton.Parent:=Self;
end;
with FHiddenButton do begin
FHiddenButton.Visible:=false;
Parent:=Self;
FHiddenButton.HandleNeeded;
end;
// the checked and unchecked states can be applied only after all other
for i:=0 to FItems.Count-1 do begin
ARadioButton := TRadioButton(FButtonList[i]);
ARadioButton.Checked := (i = FItemIndex);
ARadioButton.Visible := true;
end;
FHiddenButton.Checked:=(fItemIndex=-1);
UpdateTabStops;
end;
finally
FUpdatingItems:=false;
end;
end;
procedure TCustomRadioGroup.UpdateControlsPerLine; procedure TCustomRadioGroup.UpdateControlsPerLine;
var var
NewControlsPerLine: LongInt; NewControlsPerLine: LongInt;
@ -201,11 +189,17 @@ begin
if ChildSizing.Layout=cclLeftToRightThenTopToBottom then if ChildSizing.Layout=cclLeftToRightThenTopToBottom then
NewControlsPerLine:=Max(1,FColumns) NewControlsPerLine:=Max(1,FColumns)
else else
NewControlsPerLine:=((FItems.Count-1) div Max(1,FColumns))+1; NewControlsPerLine:=Max(1,Rows);
ChildSizing.ControlsPerLine:=NewControlsPerLine; ChildSizing.ControlsPerLine:=NewControlsPerLine;
//DebugLn('TCustomRadioGroup.UpdateControlsPerLine ',dbgs(ChildSizing.ControlsPerLine),' ',dbgs(NewControlsPerLine),' FColumns=',dbgs(FColumns),' FItems.Count=',dbgs(FItems.Count),' ',dbgs(ChildSizing.Layout=cclLeftToRightThenTopToBottom)); //DebugLn('TCustomRadioGroup.UpdateControlsPerLine ',dbgs(ChildSizing.ControlsPerLine),' ',dbgs(NewControlsPerLine),' FColumns=',dbgs(FColumns),' FItems.Count=',dbgs(FItems.Count),' ',dbgs(ChildSizing.Layout=cclLeftToRightThenTopToBottom));
end; end;
procedure TCustomRadioGroup.Loaded;
begin
inherited Loaded;
UpdateItems;
end;
procedure TCustomRadioGroup.ItemKeyDown(Sender: TObject; var Key: Word; procedure TCustomRadioGroup.ItemKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); Shift: TShiftState);
@ -241,6 +235,7 @@ procedure TCustomRadioGroup.ItemKeyDown(Sender: TObject; var Key: Word;
TRadioButton(FButtonList[ItemIndex]).SetFocus; TRadioButton(FButtonList[ItemIndex]).SetFocus;
Key := 0; Key := 0;
end; end;
begin begin
if Shift=[] then begin if Shift=[] then begin
case Key of case Key of
@ -260,10 +255,8 @@ end;
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
procedure TCustomRadioGroup.ItemsChanged (Sender : TObject); procedure TCustomRadioGroup.ItemsChanged (Sender : TObject);
begin begin
// TODO: Remove RecreateWnd UpdateItems;
UpdateControlsPerLine; UpdateControlsPerLine;
if HandleAllocated and (not (csLoading in ComponentState)) then
RecreateWnd(Self);
OwnerFormDesignerModified(Self); OwnerFormDesignerModified(Self);
end; end;
@ -287,21 +280,19 @@ begin
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
Method: TCustomRadioGroup.SetItem Method: TCustomRadioGroup.SetItems
Params: value - Stringlist containing items to be displayed as radiobuttons Params: value - Stringlist containing items to be displayed as radiobuttons
Returns: Nothing Returns: Nothing
Assign items from a stringlist. Assign items from a stringlist.
------------------------------------------------------------------------------} ------------------------------------------------------------------------------}
procedure TCustomRadioGroup.SetItem(Value: TStrings); procedure TCustomRadioGroup.SetItems(Value: TStrings);
begin begin
if (Value <> FItems) then if (Value <> FItems) then
begin begin
FItems.Assign(Value); FItems.Assign(Value);
UpdateItems;
UpdateControlsPerLine; UpdateControlsPerLine;
// TODO: Remove RecreateWnd
if HandleAllocated and (not (csLoading in ComponentState)) then
RecreateWnd(Self);
end; end;
end; end;
@ -372,19 +363,9 @@ begin
Result := FItemIndex; Result := FItemIndex;
end; end;
{------------------------------------------------------------------------------
Method: TCustomRadioGroup.Resize
Reposition buttons on resize
------------------------------------------------------------------------------}
procedure TCustomRadioGroup.Resize;
begin
inherited Resize;
end;
procedure TCustomRadioGroup.CheckItemIndexChanged; procedure TCustomRadioGroup.CheckItemIndexChanged;
begin begin
if FCreatingWnd then exit; if FCreatingWnd or FUpdatingItems then exit;
if [csLoading,csDestroying]*ComponentState<>[] then exit; if [csLoading,csDestroying]*ComponentState<>[] then exit;
UpdateRadioButtonStates; UpdateRadioButtonStates;
if [csDesigning]*ComponentState<>[] then exit; if [csDesigning]*ComponentState<>[] then exit;
@ -420,8 +401,6 @@ begin
inherited ReadState(Reader); inherited ReadState(Reader);
FReading := False; FReading := False;
if (fItemIndex<-1) or (fItemIndex>=FItems.Count) then fItemIndex:=-1; if (fItemIndex<-1) or (fItemIndex>=FItems.Count) then fItemIndex:=-1;
// TODO: Remove RecreateWnd
if HandleAllocated then RecreateWnd(Self);
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -468,8 +447,8 @@ begin
DisableAlign; DisableAlign;
try try
if FAutoFill then begin if FAutoFill then begin
ChildSizing.EnlargeHorizontal:=crsHomogenousSpaceResize; ChildSizing.EnlargeHorizontal:=crsHomogenousChildResize;
ChildSizing.EnlargeVertical:=crsHomogenousSpaceResize; ChildSizing.EnlargeVertical:=crsHomogenousChildResize;
end else begin end else begin
ChildSizing.EnlargeHorizontal:=crsAnchorAligning; ChildSizing.EnlargeHorizontal:=crsAnchorAligning;
ChildSizing.EnlargeVertical:=crsAnchorAligning; ChildSizing.EnlargeVertical:=crsAnchorAligning;

View File

@ -808,7 +808,7 @@ var
RowBox: TAutoSizeBox; RowBox: TAutoSizeBox;
x: Integer; x: Integer;
ColBox: TAutoSizeBox; ColBox: TAutoSizeBox;
CellBox: TAutoSizeBox; ControlBox: TAutoSizeBox;
CurControl: TControl; CurControl: TControl;
NewBounds: TRect; NewBounds: TRect;
CellBounds: TRect; CellBounds: TRect;
@ -821,9 +821,9 @@ begin
for y:=0 to ChildCount[asboVertical]-1 do begin for y:=0 to ChildCount[asboVertical]-1 do begin
RowBox:=Childs[asboVertical][y]; RowBox:=Childs[asboVertical][y];
for x:=0 to RowBox.ChildCount[asboHorizontal]-1 do begin for x:=0 to RowBox.ChildCount[asboHorizontal]-1 do begin
CellBox:=RowBox.Childs[asboHorizontal][x]; ControlBox:=RowBox.Childs[asboHorizontal][x];
ColBox:=CellBox.Parent[asboVertical]; ColBox:=ControlBox.Parent[asboVertical];
CurControl:=CellBox.Control; CurControl:=ControlBox.Control;
if CurControl=nil then continue; if CurControl=nil then continue;
CellBounds:=Bounds(ColBox.LeftTop[asboHorizontal], CellBounds:=Bounds(ColBox.LeftTop[asboHorizontal],
RowBox.LeftTop[asboVertical], RowBox.LeftTop[asboVertical],
@ -831,14 +831,18 @@ begin
RowBox.PreferredSize[asboVertical]); RowBox.PreferredSize[asboVertical]);
NewBounds.Left:=CellBounds.Left; NewBounds.Left:=CellBounds.Left;
NewBounds.Top:=CellBounds.Top; NewBounds.Top:=CellBounds.Top;
NewWidth:=CellBox.PreferredSize[asboHorizontal]; NewWidth:=ControlBox.PreferredSize[asboHorizontal];
NewHeight:=CellBox.PreferredSize[asboVertical]; NewHeight:=ControlBox.PreferredSize[asboVertical];
if (NewWidth<>ColBox.PreferredSize[asboHorizontal]) then begin if (NewWidth<ColBox.PreferredSize[asboHorizontal]) then begin
// column is bigger than preferred width of the control // column is bigger than preferred width of the control
if ChildSizing.EnlargeHorizontal //DebugLn('TAutoSizeBox.SetTableControlBounds ',DbgSName(CurControl),' ',dbgs(ord(CurControl.BorderSpacing.CellAlignHorizontal)));
in [crsScaleChilds,crsHomogenousChildResize] case CurControl.BorderSpacing.CellAlignHorizontal of
then ccaFill: NewWidth:=CellBounds.Right-CellBounds.Left;
NewWidth:=CellBounds.Right-CellBounds.Left; ccaLeftTop: ;
ccaRightBottom: NewBounds.Left:=CellBounds.Right-NewWidth;
ccaCenter: NewBounds.Left:=NewBounds.Left
+(CellBounds.Right-CellBounds.Left-NewWidth) div 2;
end;
end else if (NewWidth>ColBox.PreferredSize[asboHorizontal]) then begin end else if (NewWidth>ColBox.PreferredSize[asboHorizontal]) then begin
// column is smaller than preferred width of the control // column is smaller than preferred width of the control
if ChildSizing.ShrinkHorizontal if ChildSizing.ShrinkHorizontal
@ -846,12 +850,15 @@ begin
then then
NewWidth:=CellBounds.Right-CellBounds.Left; NewWidth:=CellBounds.Right-CellBounds.Left;
end; end;
if (NewHeight<>ColBox.PreferredSize[asboVertical]) then begin if (NewHeight<ColBox.PreferredSize[asboVertical]) then begin
// column is bigger than preferred height of the control // column is bigger than preferred height of the control
if ChildSizing.EnlargeVertical case CurControl.BorderSpacing.CellAlignVertical of
in [crsScaleChilds,crsHomogenousChildResize] ccaFill: NewHeight:=CellBounds.Bottom-CellBounds.Top;
then ccaLeftTop: ;
NewHeight:=CellBounds.Bottom-CellBounds.Top; ccaRightBottom: NewBounds.Top:=CellBounds.Bottom-NewHeight;
ccaCenter: NewBounds.Top:=NewBounds.Top
+(CellBounds.Bottom-CellBounds.Top-NewHeight) div 2;
end;
end else if (NewHeight>ColBox.PreferredSize[asboVertical]) then begin end else if (NewHeight>ColBox.PreferredSize[asboVertical]) then begin
// column is smaller than preferred height of the control // column is smaller than preferred height of the control
if ChildSizing.ShrinkVertical if ChildSizing.ShrinkVertical
@ -862,7 +869,6 @@ begin
NewBounds.Right:=NewBounds.Left+NewWidth; NewBounds.Right:=NewBounds.Left+NewWidth;
NewBounds.Bottom:=NewBounds.Top+NewHeight; NewBounds.Bottom:=NewBounds.Top+NewHeight;
// TODO: align
OldBounds:=CurControl.BoundsRect; OldBounds:=CurControl.BoundsRect;
if not CompareRect(@NewBounds,@OldBounds) then begin if not CompareRect(@NewBounds,@OldBounds) then begin
//DebugLn('TAutoSizeBox.SetTableControlBounds Control=',DbgSName(CurControl),' CellBounds=',dbgs(CellBounds),' NewBounds=',dbgs(NewBounds)); //DebugLn('TAutoSizeBox.SetTableControlBounds Control=',DbgSName(CurControl),' CellBounds=',dbgs(CellBounds),' NewBounds=',dbgs(NewBounds));
@ -4113,7 +4119,7 @@ begin
if (ChildSizing.Layout=cclNone) or (ListOfControls.Count=0) then if (ChildSizing.Layout=cclNone) or (ListOfControls.Count=0) then
exit; exit;
//debugln('TWinControl.AlignNonAlignedControls ',DbgSName(Self),' ListOfControls.Count=',dbgs(ListOfControls.Count)); //debugln('TWinControl.AlignNonAlignedControls ',DbgSName(Self),' ListOfControls.Count=',dbgs(ListOfControls.Count),' ',dbgs(ord(ChildSizing.EnlargeHorizontal)));
Box:=TAutoSizeBox.Create; Box:=TAutoSizeBox.Create;
try try