diff --git a/.gitattributes b/.gitattributes index b4e197fe55..e9d8cd422d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1044,6 +1044,14 @@ images/components/tupdown.xpm -text svneol=native#image/x-xpixmap images/components/txmlpropstorage.xpm -text svneol=native#image/x-xpixmap images/components/unregisteredcomponent.xpm -text svneol=native#image/x-xpixmap images/components_images.lrs svneol=native#text/pascal +images/designer/anchorbottombottom.xpm -text svneol=native#image/x-xpixmap +images/designer/anchorcenterhorizontal.xpm -text svneol=native#image/x-xpixmap +images/designer/anchorcentervertical.xpm -text svneol=native#image/x-xpixmap +images/designer/anchorleftleft.xpm -text svneol=native#image/x-xpixmap +images/designer/anchorleftright.xpm -text svneol=native#image/x-xpixmap +images/designer/anchorrightright.xpm -text svneol=native#image/x-xpixmap +images/designer/anchortopbottom.xpm -text svneol=native#image/x-xpixmap +images/designer/anchortoptop.xpm -text svneol=native#image/x-xpixmap images/downarrow.ico -text svneol=unset#image/x-icon images/downarrow.xpm -text svneol=native#image/x-xpixmap images/fonts.ico -text svneol=unset#image/x-icon diff --git a/designer/anchoreditor.lfm b/designer/anchoreditor.lfm index 8180f657fb..f2e4481cb3 100644 --- a/designer/anchoreditor.lfm +++ b/designer/anchoreditor.lfm @@ -15,7 +15,6 @@ object AnchorDesigner: TAnchorDesigner Width = 520 object BorderSpaceGroupBox: TGroupBox Anchors = [akTop, akLeft, akBottom] - BorderSpacing.OnChange = nil Caption = 'BorderSpaceGroupBox' ClientHeight = 87 ClientWidth = 168 @@ -26,9 +25,9 @@ object AnchorDesigner: TAnchorDesigner Top = 80 Width = 172 object LeftBorderSpaceSpinEdit: TSpinEdit - BorderSpacing.OnChange = nil Decimal_Places = 0 MaxValue = 100 + OnChange = BorderSpaceSpinEditChange ParentShowHint = False ShowHint = True TabStop = True @@ -38,9 +37,9 @@ object AnchorDesigner: TAnchorDesigner Width = 50 end object RightBorderSpaceSpinEdit: TSpinEdit - BorderSpacing.OnChange = nil Decimal_Places = 0 MaxValue = 100 + OnChange = BorderSpaceSpinEditChange ParentShowHint = False ShowHint = True TabStop = True @@ -51,9 +50,9 @@ object AnchorDesigner: TAnchorDesigner Width = 50 end object TopBorderSpaceSpinEdit: TSpinEdit - BorderSpacing.OnChange = nil Decimal_Places = 0 MaxValue = 100 + OnChange = BorderSpaceSpinEditChange ParentShowHint = False ShowHint = True TabStop = True @@ -63,9 +62,9 @@ object AnchorDesigner: TAnchorDesigner Width = 50 end object BottomBorderSpaceSpinEdit: TSpinEdit - BorderSpacing.OnChange = nil Decimal_Places = 0 MaxValue = 100 + OnChange = BorderSpaceSpinEditChange ParentShowHint = False ShowHint = True TabStop = True @@ -76,9 +75,9 @@ object AnchorDesigner: TAnchorDesigner Width = 50 end object AroundBorderSpaceSpinEdit: TSpinEdit - BorderSpacing.OnChange = nil Decimal_Places = 0 MaxValue = 100 + OnChange = BorderSpaceSpinEditChange ParentShowHint = False ShowHint = True TabStop = True @@ -91,7 +90,6 @@ object AnchorDesigner: TAnchorDesigner end object TopGroupBox: TGroupBox Anchors = [akTop, akLeft, akRight] - BorderSpacing.OnChange = nil Caption = 'TopGroupBox' ClientHeight = 33 ClientWidth = 404 @@ -102,9 +100,9 @@ object AnchorDesigner: TAnchorDesigner Width = 408 object TopRefTopSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 1 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 296 @@ -113,9 +111,9 @@ object AnchorDesigner: TAnchorDesigner end object TopRefBottomSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 1 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 331 @@ -124,9 +122,9 @@ object AnchorDesigner: TAnchorDesigner end object TopRefCenterSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 1 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 366 @@ -135,7 +133,6 @@ object AnchorDesigner: TAnchorDesigner end object TopSiblingLabel: TLabel AutoSize = True - BorderSpacing.OnChange = nil Caption = 'Sibling' ParentColor = True Left = 94 @@ -144,7 +141,6 @@ object AnchorDesigner: TAnchorDesigner Width = 38 end object TopAnchoredCheckBox: TCheckBox - BorderSpacing.OnChange = nil Caption = 'Enabled' OnChange = AnchorEnabledCheckBoxChange TabOrder = 0 @@ -155,8 +151,8 @@ object AnchorDesigner: TAnchorDesigner end object TopSiblingComboBox: TComboBox Anchors = [akTop, akLeft, akRight] - BorderSpacing.OnChange = nil MaxLength = 0 + OnChange = SiblingComboBoxChange ParentShowHint = False ShowHint = True TabOrder = 1 @@ -168,7 +164,6 @@ object AnchorDesigner: TAnchorDesigner end object BottomGroupBox: TGroupBox Anchors = [akLeft, akRight, akBottom] - BorderSpacing.OnChange = nil Caption = 'BottomGroupBox' ClientHeight = 33 ClientWidth = 404 @@ -180,9 +175,9 @@ object AnchorDesigner: TAnchorDesigner Width = 408 object BottomRefTopSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 3 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 296 @@ -191,9 +186,9 @@ object AnchorDesigner: TAnchorDesigner end object BottomRefBottomSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 3 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 331 @@ -202,9 +197,9 @@ object AnchorDesigner: TAnchorDesigner end object BottomRefCenterSpeedButton: TSpeedButton Anchors = [akTop, akRight] - BorderSpacing.OnChange = nil GroupIndex = 3 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 366 @@ -213,7 +208,6 @@ object AnchorDesigner: TAnchorDesigner end object BottomSiblingLabel: TLabel AutoSize = True - BorderSpacing.OnChange = nil Caption = 'Sibling' ParentColor = True Left = 94 @@ -222,7 +216,6 @@ object AnchorDesigner: TAnchorDesigner Width = 38 end object BottomAnchoredCheckBox: TCheckBox - BorderSpacing.OnChange = nil Caption = 'Enabled' OnChange = AnchorEnabledCheckBoxChange TabOrder = 0 @@ -233,8 +226,8 @@ object AnchorDesigner: TAnchorDesigner end object BottomSiblingComboBox: TComboBox Anchors = [akTop, akLeft, akRight] - BorderSpacing.OnChange = nil MaxLength = 0 + OnChange = SiblingComboBoxChange ParentShowHint = False ShowHint = True TabOrder = 1 @@ -246,7 +239,6 @@ object AnchorDesigner: TAnchorDesigner end object RightGroupBox: TGroupBox Anchors = [akTop, akLeft, akBottom] - BorderSpacing.OnChange = nil Caption = 'RightGroupBox' ClientHeight = 112 ClientWidth = 146 @@ -257,9 +249,9 @@ object AnchorDesigner: TAnchorDesigner Top = 64 Width = 150 object RightRefLeftSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 4 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 5 @@ -268,9 +260,9 @@ object AnchorDesigner: TAnchorDesigner Width = 30 end object RightRefRightSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 4 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 40 @@ -279,9 +271,9 @@ object AnchorDesigner: TAnchorDesigner Width = 30 end object RightRefCenterSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 4 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 75 @@ -291,7 +283,6 @@ object AnchorDesigner: TAnchorDesigner end object RightSiblingLabel: TLabel AutoSize = True - BorderSpacing.OnChange = nil Caption = 'Sibling' ParentColor = True Left = 2 @@ -300,7 +291,6 @@ object AnchorDesigner: TAnchorDesigner Width = 38 end object RightAnchoredCheckBox: TCheckBox - BorderSpacing.OnChange = nil Caption = 'Enabled' OnChange = AnchorEnabledCheckBoxChange TabOrder = 0 @@ -311,8 +301,8 @@ object AnchorDesigner: TAnchorDesigner end object RightSiblingComboBox: TComboBox Anchors = [akTop, akLeft, akRight] - BorderSpacing.OnChange = nil MaxLength = 0 + OnChange = SiblingComboBoxChange ParentShowHint = False ShowHint = True Text = 'RightSiblingComboBox' @@ -324,7 +314,6 @@ object AnchorDesigner: TAnchorDesigner end object LeftGroupBox: TGroupBox Anchors = [akTop, akLeft, akBottom] - BorderSpacing.OnChange = nil Caption = 'LeftGroupBox' ClientHeight = 112 ClientWidth = 146 @@ -335,9 +324,9 @@ object AnchorDesigner: TAnchorDesigner Top = 64 Width = 150 object LeftRefLeftSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 2 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 5 @@ -346,9 +335,9 @@ object AnchorDesigner: TAnchorDesigner Width = 30 end object LeftRefRightSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 2 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 40 @@ -357,9 +346,9 @@ object AnchorDesigner: TAnchorDesigner Width = 30 end object LeftRefCenterSpeedButton: TSpeedButton - BorderSpacing.OnChange = nil GroupIndex = 2 NumGlyphs = 0 + OnClick = ReferenceSideButtonClicked ShowHint = True ParentShowHint = False Left = 75 @@ -369,7 +358,6 @@ object AnchorDesigner: TAnchorDesigner end object LeftSiblingLabel: TLabel AutoSize = True - BorderSpacing.OnChange = nil Caption = 'Sibling' ParentColor = True Left = 2 @@ -378,7 +366,6 @@ object AnchorDesigner: TAnchorDesigner Width = 38 end object LeftAnchoredCheckBox: TCheckBox - BorderSpacing.OnChange = nil Caption = 'Enabled' OnChange = AnchorEnabledCheckBoxChange TabOrder = 0 @@ -389,8 +376,8 @@ object AnchorDesigner: TAnchorDesigner end object LeftSiblingComboBox: TComboBox Anchors = [akTop, akLeft, akRight] - BorderSpacing.OnChange = nil MaxLength = 0 + OnChange = SiblingComboBoxChange ParentShowHint = False ShowHint = True Text = 'LeftSiblingComboBox' diff --git a/designer/anchoreditor.lrs b/designer/anchoreditor.lrs index 4fcfa49d37..9d32a739a1 100644 --- a/designer/anchoreditor.lrs +++ b/designer/anchoreditor.lrs @@ -7,108 +7,107 @@ LazarusResources.Add('TAnchorDesigner','FORMDATA',[ +'nerDestroy'#6'OnShow'#7#18'AnchorDesignerShow'#13'PixelsPerInch'#2'Z'#18'Ho' +'rzScrollBar.Page'#3#7#2#18'VertScrollBar.Page'#3#2#1#4'Left'#3'"'#1#6'Heigh' +'t'#3#3#1#3'Top'#3#163#0#5'Width'#3#8#2#0#9'TGroupBox'#19'BorderSpaceGroupBo' - +'x'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#22'BorderSpacing.OnChange' - +#13#7'Caption'#6#19'BorderSpaceGroupBox'#12'ClientHeight'#2'W'#11'ClientWidt' - +'h'#3#168#0#11'ParentColor'#9#8'TabOrder'#2#0#4'Left'#3#172#0#6'Height'#2'h' - +#3'Top'#2'P'#5'Width'#3#172#0#0#9'TSpinEdit'#23'LeftBorderSpaceSpinEdit'#22 - +'BorderSpacing.OnChange'#13#14'Decimal_Places'#2#0#8'MaxValue'#5#0#0#0#0#0#0 - +#0#200#5'@'#14'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOrder'#2#0#6 - +'Height'#2#20#3'Top'#2#30#5'Width'#2'2'#0#0#9'TSpinEdit'#24'RightBorderSpace' - +'SpinEdit'#22'BorderSpacing.OnChange'#13#14'Decimal_Places'#2#0#8'MaxValue'#5 - +#0#0#0#0#0#0#0#200#5'@'#14'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'Ta' - +'bOrder'#2#1#4'Left'#2'v'#6'Height'#2#20#3'Top'#2#30#5'Width'#2'2'#0#0#9'TSp' - +'inEdit'#22'TopBorderSpaceSpinEdit'#22'BorderSpacing.OnChange'#13#14'Decimal' - +'_Places'#2#0#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#14'ParentShowHint'#8#8'Sh' - +'owHint'#9#7'TabStop'#9#8'TabOrder'#2#2#4'Left'#2':'#6'Height'#2#20#5'Width' - +#2'2'#0#0#9'TSpinEdit'#25'BottomBorderSpaceSpinEdit'#22'BorderSpacing.OnChan' - +'ge'#13#14'Decimal_Places'#2#0#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#14'Paren' - +'tShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOrder'#2#3#4'Left'#2':'#6'Heig' - +'ht'#2#20#3'Top'#2'9'#5'Width'#2'2'#0#0#9'TSpinEdit'#25'AroundBorderSpaceSpi' - +'nEdit'#22'BorderSpacing.OnChange'#13#14'Decimal_Places'#2#0#8'MaxValue'#5#0 - +#0#0#0#0#0#0#200#5'@'#14'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabO' - +'rder'#2#4#4'Left'#2':'#6'Height'#2#20#3'Top'#2#30#5'Width'#2'2'#0#0#0#9'TGr' - +'oupBox'#11'TopGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'Bo' - +'rderSpacing.OnChange'#13#7'Caption'#6#11'TopGroupBox'#12'ClientHeight'#2'!' - +#11'ClientWidth'#3#148#1#11'ParentColor'#9#8'TabOrder'#2#1#4'Left'#2'@'#6'He' - +'ight'#2'2'#5'Width'#3#152#1#0#12'TSpeedButton'#20'TopRefTopSpeedButton'#7'A' - +'nchors'#11#5'akTop'#7'akRight'#0#22'BorderSpacing.OnChange'#13#10'GroupInde' - +'x'#2#1#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'('#1#6 - +'Height'#2#30#5'Width'#2#30#0#0#12'TSpeedButton'#23'TopRefBottomSpeedButton' - +#7'Anchors'#11#5'akTop'#7'akRight'#0#22'BorderSpacing.OnChange'#13#10'GroupI' - +'ndex'#2#1#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'K'#1 - +#6'Height'#2#30#5'Width'#2#30#0#0#12'TSpeedButton'#23'TopRefCenterSpeedButto' - +'n'#7'Anchors'#11#5'akTop'#7'akRight'#0#22'BorderSpacing.OnChange'#13#10'Gro' - +'upIndex'#2#1#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3 - +'n'#1#6'Height'#2#30#5'Width'#2#30#0#0#6'TLabel'#15'TopSiblingLabel'#8'AutoS' - +'ize'#9#22'BorderSpacing.OnChange'#13#7'Caption'#6#7'Sibling'#11'ParentColor' - +#9#4'Left'#2'^'#6'Height'#2#12#3'Top'#2#4#5'Width'#2'&'#0#0#9'TCheckBox'#19 - +'TopAnchoredCheckBox'#22'BorderSpacing.OnChange'#13#7'Caption'#6#7'Enabled'#8 - +'OnChange'#7#27'AnchorEnabledCheckBoxChange'#8'TabOrder'#2#0#11'UseOnChange' - +#9#4'Left'#2#2#6'Height'#2#24#5'Width'#2'F'#0#0#9'TComboBox'#18'TopSiblingCo' - +'mboBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.OnCh' - +'ange'#13#9'MaxLength'#2#0#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#1 + +'x'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#7'Caption'#6#19'BorderSpa' + +'ceGroupBox'#12'ClientHeight'#2'W'#11'ClientWidth'#3#168#0#11'ParentColor'#9 + +#8'TabOrder'#2#0#4'Left'#3#172#0#6'Height'#2'h'#3'Top'#2'P'#5'Width'#3#172#0 + +#0#9'TSpinEdit'#23'LeftBorderSpaceSpinEdit'#14'Decimal_Places'#2#0#8'MaxValu' + +'e'#5#0#0#0#0#0#0#0#200#5'@'#8'OnChange'#7#25'BorderSpaceSpinEditChange'#14 + +'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOrder'#2#0#6'Height'#2#20 + +#3'Top'#2#30#5'Width'#2'2'#0#0#9'TSpinEdit'#24'RightBorderSpaceSpinEdit'#14 + +'Decimal_Places'#2#0#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'OnChange'#7#25'B' + +'orderSpaceSpinEditChange'#14'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8 + +'TabOrder'#2#1#4'Left'#2'v'#6'Height'#2#20#3'Top'#2#30#5'Width'#2'2'#0#0#9'T' + +'SpinEdit'#22'TopBorderSpaceSpinEdit'#14'Decimal_Places'#2#0#8'MaxValue'#5#0 + +#0#0#0#0#0#0#200#5'@'#8'OnChange'#7#25'BorderSpaceSpinEditChange'#14'ParentS' + +'howHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOrder'#2#2#4'Left'#2':'#6'Height' + +#2#20#5'Width'#2'2'#0#0#9'TSpinEdit'#25'BottomBorderSpaceSpinEdit'#14'Decima' + +'l_Places'#2#0#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'OnChange'#7#25'BorderS' + +'paceSpinEditChange'#14'ParentShowHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOr' + +'der'#2#3#4'Left'#2':'#6'Height'#2#20#3'Top'#2'9'#5'Width'#2'2'#0#0#9'TSpinE' + +'dit'#25'AroundBorderSpaceSpinEdit'#14'Decimal_Places'#2#0#8'MaxValue'#5#0#0 + +#0#0#0#0#0#200#5'@'#8'OnChange'#7#25'BorderSpaceSpinEditChange'#14'ParentSho' + +'wHint'#8#8'ShowHint'#9#7'TabStop'#9#8'TabOrder'#2#4#4'Left'#2':'#6'Height'#2 + +#20#3'Top'#2#30#5'Width'#2'2'#0#0#0#9'TGroupBox'#11'TopGroupBox'#7'Anchors' + +#11#5'akTop'#6'akLeft'#7'akRight'#0#7'Caption'#6#11'TopGroupBox'#12'ClientHe' + +'ight'#2'!'#11'ClientWidth'#3#148#1#11'ParentColor'#9#8'TabOrder'#2#1#4'Left' + +#2'@'#6'Height'#2'2'#5'Width'#3#152#1#0#12'TSpeedButton'#20'TopRefTopSpeedBu' + +'tton'#7'Anchors'#11#5'akTop'#7'akRight'#0#10'GroupIndex'#2#1#9'NumGlyphs'#2 + +#0#7'OnClick'#7#26'ReferenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHi' + +'nt'#8#4'Left'#3'('#1#6'Height'#2#30#5'Width'#2#30#0#0#12'TSpeedButton'#23'T' + +'opRefBottomSpeedButton'#7'Anchors'#11#5'akTop'#7'akRight'#0#10'GroupIndex'#2 + +#1#9'NumGlyphs'#2#0#7'OnClick'#7#26'ReferenceSideButtonClicked'#8'ShowHint'#9 + +#14'ParentShowHint'#8#4'Left'#3'K'#1#6'Height'#2#30#5'Width'#2#30#0#0#12'TSp' + +'eedButton'#23'TopRefCenterSpeedButton'#7'Anchors'#11#5'akTop'#7'akRight'#0 + +#10'GroupIndex'#2#1#9'NumGlyphs'#2#0#7'OnClick'#7#26'ReferenceSideButtonClic' + +'ked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'n'#1#6'Height'#2#30#5'Wid' + +'th'#2#30#0#0#6'TLabel'#15'TopSiblingLabel'#8'AutoSize'#9#7'Caption'#6#7'Sib' + +'ling'#11'ParentColor'#9#4'Left'#2'^'#6'Height'#2#12#3'Top'#2#4#5'Width'#2'&' + +#0#0#9'TCheckBox'#19'TopAnchoredCheckBox'#7'Caption'#6#7'Enabled'#8'OnChange' + +#7#27'AnchorEnabledCheckBoxChange'#8'TabOrder'#2#0#11'UseOnChange'#9#4'Left' + +#2#2#6'Height'#2#24#5'Width'#2'F'#0#0#9'TComboBox'#18'TopSiblingComboBox'#7 + +'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#9'MaxLength'#2#0#8'OnChange'#7 + +#21'SiblingComboBoxChange'#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#1 +#4'Text'#6#18'TopSiblingComboBox'#4'Left'#3#158#0#6'Height'#2#25#5'Width'#3 +#129#0#0#0#0#9'TGroupBox'#14'BottomGroupBox'#7'Anchors'#11#6'akLeft'#7'akRig' - +'ht'#8'akBottom'#0#22'BorderSpacing.OnChange'#13#7'Caption'#6#14'BottomGroup' - +'Box'#12'ClientHeight'#2'!'#11'ClientWidth'#3#148#1#11'ParentColor'#9#8'TabO' - +'rder'#2#2#4'Left'#2'@'#6'Height'#2'2'#3'Top'#3#200#0#5'Width'#3#152#1#0#12 - +'TSpeedButton'#23'BottomRefTopSpeedButton'#7'Anchors'#11#5'akTop'#7'akRight' - +#0#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#3#9'NumGlyphs'#2#0#8'ShowH' - +'int'#9#14'ParentShowHint'#8#4'Left'#3'('#1#6'Height'#2#30#5'Width'#2#30#0#0 - +#12'TSpeedButton'#26'BottomRefBottomSpeedButton'#7'Anchors'#11#5'akTop'#7'ak' - +'Right'#0#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#3#9'NumGlyphs'#2#0#8 + +'ht'#8'akBottom'#0#7'Caption'#6#14'BottomGroupBox'#12'ClientHeight'#2'!'#11 + +'ClientWidth'#3#148#1#11'ParentColor'#9#8'TabOrder'#2#2#4'Left'#2'@'#6'Heigh' + +'t'#2'2'#3'Top'#3#200#0#5'Width'#3#152#1#0#12'TSpeedButton'#23'BottomRefTopS' + +'peedButton'#7'Anchors'#11#5'akTop'#7'akRight'#0#10'GroupIndex'#2#3#9'NumGly' + +'phs'#2#0#7'OnClick'#7#26'ReferenceSideButtonClicked'#8'ShowHint'#9#14'Paren' + +'tShowHint'#8#4'Left'#3'('#1#6'Height'#2#30#5'Width'#2#30#0#0#12'TSpeedButto' + +'n'#26'BottomRefBottomSpeedButton'#7'Anchors'#11#5'akTop'#7'akRight'#0#10'Gr' + +'oupIndex'#2#3#9'NumGlyphs'#2#0#7'OnClick'#7#26'ReferenceSideButtonClicked'#8 +'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'K'#1#6'Height'#2#30#5'Width'#2#30 +#0#0#12'TSpeedButton'#26'BottomRefCenterSpeedButton'#7'Anchors'#11#5'akTop'#7 - +'akRight'#0#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#3#9'NumGlyphs'#2#0 - +#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'n'#1#6'Height'#2#30#5'Width'#2 - +#30#0#0#6'TLabel'#18'BottomSiblingLabel'#8'AutoSize'#9#22'BorderSpacing.OnCh' - +'ange'#13#7'Caption'#6#7'Sibling'#11'ParentColor'#9#4'Left'#2'^'#6'Height'#2 - +#12#3'Top'#2#8#5'Width'#2'&'#0#0#9'TCheckBox'#22'BottomAnchoredCheckBox'#22 - +'BorderSpacing.OnChange'#13#7'Caption'#6#7'Enabled'#8'OnChange'#7#27'AnchorE' - ,'nabledCheckBoxChange'#8'TabOrder'#2#0#11'UseOnChange'#9#4'Left'#2#2#6'Heigh' - +'t'#2#24#5'Width'#2'F'#0#0#9'TComboBox'#21'BottomSiblingComboBox'#7'Anchors' - +#11#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.OnChange'#13#9'MaxLengt' - +'h'#2#0#14'ParentShowHint'#8#8'ShowHint'#9#8'TabOrder'#2#1#4'Text'#6#21'Bott' - +'omSiblingComboBox'#4'Left'#3#158#0#6'Height'#2#25#5'Width'#3#129#0#0#0#0#9 - +'TGroupBox'#13'RightGroupBox'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0 - +#22'BorderSpacing.OnChange'#13#7'Caption'#6#13'RightGroupBox'#12'ClientHeigh' - +'t'#2'p'#11'ClientWidth'#3#146#0#11'ParentColor'#9#8'TabOrder'#2#3#4'Left'#3 - +'l'#1#6'Height'#3#129#0#3'Top'#2'@'#5'Width'#3#150#0#0#12'TSpeedButton'#23'R' - +'ightRefLeftSpeedButton'#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#4#9 - +'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2#5#6'Height'#2#30 - +#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#24'RightRefRightSpeedButton' - +#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#4#9'NumGlyphs'#2#0#8'ShowHin' - +'t'#9#14'ParentShowHint'#8#4'Left'#2'('#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2 - +#30#0#0#12'TSpeedButton'#25'RightRefCenterSpeedButton'#22'BorderSpacing.OnCh' - +'ange'#13#10'GroupIndex'#2#4#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHin' - +'t'#8#4'Left'#2'K'#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#6'TLabel'#17 - +'RightSiblingLabel'#8'AutoSize'#9#22'BorderSpacing.OnChange'#13#7'Caption'#6 - +#7'Sibling'#11'ParentColor'#9#4'Left'#2#2#6'Height'#2#12#3'Top'#2#28#5'Width' - +#2'&'#0#0#9'TCheckBox'#21'RightAnchoredCheckBox'#22'BorderSpacing.OnChange' - +#13#7'Caption'#6#7'Enabled'#8'OnChange'#7#27'AnchorEnabledCheckBoxChange'#8 - +'TabOrder'#2#0#11'UseOnChange'#9#4'Left'#2#2#6'Height'#2#24#5'Width'#2'F'#0#0 - +#9'TComboBox'#20'RightSiblingComboBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'ak' - +'Right'#0#22'BorderSpacing.OnChange'#13#9'MaxLength'#2#0#14'ParentShowHint'#8 - +#8'ShowHint'#9#4'Text'#6#20'RightSiblingComboBox'#4'Left'#2#5#6'Height'#2#25 - +#3'Top'#2'1'#5'Width'#3#135#0#0#0#0#9'TGroupBox'#12'LeftGroupBox'#7'Anchors' - +#11#5'akTop'#6'akLeft'#8'akBottom'#0#22'BorderSpacing.OnChange'#13#7'Caption' - +#6#12'LeftGroupBox'#12'ClientHeight'#2'p'#11'ClientWidth'#3#146#0#11'ParentC' - +'olor'#9#8'TabOrder'#2#4#4'Left'#2#8#6'Height'#3#129#0#3'Top'#2'@'#5'Width'#3 - +#150#0#0#12'TSpeedButton'#22'LeftRefLeftSpeedButton'#22'BorderSpacing.OnChan' - +'ge'#13#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint' - +#8#4'Left'#2#5#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton' - +#23'LeftRefRightSpeedButton'#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#2 - +#9'NumGlyphs'#2#0#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2'('#6'Height'#2 - +#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#24'LeftRefCenterSpeedButt' - +'on'#22'BorderSpacing.OnChange'#13#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#8'Sho' - +'wHint'#9#14'ParentShowHint'#8#4'Left'#2'K'#6'Height'#2#30#3'Top'#2'Q'#5'Wid' - +'th'#2#30#0#0#6'TLabel'#16'LeftSiblingLabel'#8'AutoSize'#9#22'BorderSpacing.' - +'OnChange'#13#7'Caption'#6#7'Sibling'#11'ParentColor'#9#4'Left'#2#2#6'Height' - +#2#12#3'Top'#2#28#5'Width'#2'&'#0#0#9'TCheckBox'#20'LeftAnchoredCheckBox'#22 - +'BorderSpacing.OnChange'#13#7'Caption'#6#7'Enabled'#8'OnChange'#7#27'AnchorE' - +'nabledCheckBoxChange'#8'TabOrder'#2#0#11'UseOnChange'#9#4'Left'#2#2#6'Heigh' - +'t'#2#24#5'Width'#2'F'#0#0#9'TComboBox'#19'LeftSiblingComboBox'#7'Anchors'#11 - +#5'akTop'#6'akLeft'#7'akRight'#0#22'BorderSpacing.OnChange'#13#9'MaxLength'#2 - +#0#14'ParentShowHint'#8#8'ShowHint'#9#4'Text'#6#19'LeftSiblingComboBox'#4'Le' - +'ft'#2#5#6'Height'#2#25#3'Top'#2'1'#5'Width'#3#134#0#0#0#0#0 + +'akRight'#0#10'GroupIndex'#2#3#9'NumGlyphs'#2#0#7'OnClick'#7#26'ReferenceSid' + +'eButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#3'n'#1#6'Height' + +#2#30#5'Width'#2#30#0#0#6'TLabel'#18'BottomSiblingLabel'#8'AutoSize'#9#7'Cap' + +'tion'#6#7'Sibling'#11'ParentColor'#9#4'Left'#2'^'#6'Height'#2#12#3'Top'#2#8 + +#5'Width'#2'&'#0#0#9'TCheckBox'#22'BottomAnchoredCheckBox'#7'Caption'#6#7'En' + +'abled'#8'OnChange'#7#27'AnchorEnabledCheckBoxChange'#8'TabOrder'#2#0#11'Use' + ,'OnChange'#9#4'Left'#2#2#6'Height'#2#24#5'Width'#2'F'#0#0#9'TComboBox'#21'Bo' + +'ttomSiblingComboBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#9'MaxLen' + +'gth'#2#0#8'OnChange'#7#21'SiblingComboBoxChange'#14'ParentShowHint'#8#8'Sho' + +'wHint'#9#8'TabOrder'#2#1#4'Text'#6#21'BottomSiblingComboBox'#4'Left'#3#158#0 + +#6'Height'#2#25#5'Width'#3#129#0#0#0#0#9'TGroupBox'#13'RightGroupBox'#7'Anch' + +'ors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#7'Caption'#6#13'RightGroupBox'#12 + +'ClientHeight'#2'p'#11'ClientWidth'#3#146#0#11'ParentColor'#9#8'TabOrder'#2#3 + +#4'Left'#3'l'#1#6'Height'#3#129#0#3'Top'#2'@'#5'Width'#3#150#0#0#12'TSpeedBu' + +'tton'#23'RightRefLeftSpeedButton'#10'GroupIndex'#2#4#9'NumGlyphs'#2#0#7'OnC' + +'lick'#7#26'ReferenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4 + +'Left'#2#5#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#24 + +'RightRefRightSpeedButton'#10'GroupIndex'#2#4#9'NumGlyphs'#2#0#7'OnClick'#7 + +#26'ReferenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2 + +'('#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#25'RightRe' + +'fCenterSpeedButton'#10'GroupIndex'#2#4#9'NumGlyphs'#2#0#7'OnClick'#7#26'Ref' + +'erenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2'K'#6 + +'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#6'TLabel'#17'RightSiblingLabel'#8 + +'AutoSize'#9#7'Caption'#6#7'Sibling'#11'ParentColor'#9#4'Left'#2#2#6'Height' + +#2#12#3'Top'#2#28#5'Width'#2'&'#0#0#9'TCheckBox'#21'RightAnchoredCheckBox'#7 + +'Caption'#6#7'Enabled'#8'OnChange'#7#27'AnchorEnabledCheckBoxChange'#8'TabOr' + +'der'#2#0#11'UseOnChange'#9#4'Left'#2#2#6'Height'#2#24#5'Width'#2'F'#0#0#9'T' + +'ComboBox'#20'RightSiblingComboBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRig' + +'ht'#0#9'MaxLength'#2#0#8'OnChange'#7#21'SiblingComboBoxChange'#14'ParentSho' + +'wHint'#8#8'ShowHint'#9#4'Text'#6#20'RightSiblingComboBox'#4'Left'#2#5#6'Hei' + +'ght'#2#25#3'Top'#2'1'#5'Width'#3#135#0#0#0#0#9'TGroupBox'#12'LeftGroupBox'#7 + +'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0#7'Caption'#6#12'LeftGroupBox' + +#12'ClientHeight'#2'p'#11'ClientWidth'#3#146#0#11'ParentColor'#9#8'TabOrder' + +#2#4#4'Left'#2#8#6'Height'#3#129#0#3'Top'#2'@'#5'Width'#3#150#0#0#12'TSpeedB' + +'utton'#22'LeftRefLeftSpeedButton'#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#7'OnC' + +'lick'#7#26'ReferenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4 + +'Left'#2#5#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#23 + +'LeftRefRightSpeedButton'#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#7'OnClick'#7#26 + +'ReferenceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2'(' + +#6'Height'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#12'TSpeedButton'#24'LeftRefCen' + +'terSpeedButton'#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#7'OnClick'#7#26'Referen' + +'ceSideButtonClicked'#8'ShowHint'#9#14'ParentShowHint'#8#4'Left'#2'K'#6'Heig' + +'ht'#2#30#3'Top'#2'Q'#5'Width'#2#30#0#0#6'TLabel'#16'LeftSiblingLabel'#8'Aut' + +'oSize'#9#7'Caption'#6#7'Sibling'#11'ParentColor'#9#4'Left'#2#2#6'Height'#2 + +#12#3'Top'#2#28#5'Width'#2'&'#0#0#9'TCheckBox'#20'LeftAnchoredCheckBox'#7'Ca' + +'ption'#6#7'Enabled'#8'OnChange'#7#27'AnchorEnabledCheckBoxChange'#8'TabOrde' + +'r'#2#0#11'UseOnChange'#9#4'Left'#2#2#6'Height'#2#24#5'Width'#2'F'#0#0#9'TCo' + +'mboBox'#19'LeftSiblingComboBox'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight' + +#0#9'MaxLength'#2#0#8'OnChange'#7#21'SiblingComboBoxChange'#14'ParentShowHin' + +'t'#8#8'ShowHint'#9#4'Text'#6#19'LeftSiblingComboBox'#4'Left'#2#5#6'Height'#2 + +#25#3'Top'#2'1'#5'Width'#3#134#0#0#0#0#0 ]); diff --git a/designer/anchoreditor.pas b/designer/anchoreditor.pas index be78569a15..ddc82d61ae 100644 --- a/designer/anchoreditor.pas +++ b/designer/anchoreditor.pas @@ -137,18 +137,22 @@ type procedure AnchorDesignerDestroy(Sender: TObject); procedure AnchorDesignerShow(Sender: TObject); procedure AnchorEnabledCheckBoxChange(Sender: TObject); + procedure BorderSpaceSpinEditChange(Sender: TObject); + procedure SiblingComboBoxChange(Sender: TObject); + procedure ReferenceSideButtonClicked(Sender: TObject); private FSelection: TPersistentSelectionList; + FUpdating: Boolean; protected procedure KeyUp(var Key: Word; Shift: TShiftState); override; procedure FillComboBoxWithSiblings(AComboBox: TComboBox); function AnchorDesignerNoSiblingText: string; public - SrcTypeImageList: TImageList; Values: TAnchorDesignerValues; procedure Refresh(Force: boolean); procedure OnRefreshPropertyValues; function GetSelectedControls: TList; + function FindSibling(const Sibling: string): TControl; class function ControlToStr(AControl: TControl): string; procedure CollectValues(const ASelection: TList; var TheValues: TAnchorDesignerValues; @@ -165,21 +169,6 @@ implementation { TAnchorDesigner } procedure TAnchorDesigner.AnchorDesignerCreate(Sender: TObject); - - function AddResImg(ImgList: TImageList; const ResName: string): integer; - var Bitmap: TBitmap; - begin - Bitmap:=TBitmap.Create; - if LazarusResources.Find(ResName)=nil then begin - DebugLn('TAnchorDesigner.AnchorDesignerCreate: ', - ' WARNING: icon not found: "',ResName,'"'); - Result:=-1; - exit; - end; - Bitmap.LoadFromLazarusResource(ResName); - Result:=ImgList.Add(Bitmap,nil); - end; - var AnchorEnabledHint: String; begin @@ -229,24 +218,19 @@ begin TopSiblingComboBox.Hint:='This is the sibling control to which the top side is anchored. Leave empty for parent.'; TopSiblingLabel.Caption:='Sibling'; - SrcTypeImageList:=TImageList.Create(Self); - with SrcTypeImageList do - begin - Name:='SrcTypeImageList'; - Width:=25; - Height:=25; - //AddResImg(SrcTypeImageList,'anchorside_bottomtop'); - //AddResImg(SrcTypeImageList,'anchorside_bottombottom'); - //AddResImg(SrcTypeImageList,'anchorside_centervert'); - //AddResImg(SrcTypeImageList,'anchorside_toptop'); - //AddResImg(SrcTypeImageList,'anchorside_topbottom'); - //AddResImg(SrcTypeImageList,'anchorside_leftleft'); - //AddResImg(SrcTypeImageList,'anchorside_leftright'); - //AddResImg(SrcTypeImageList,'anchorside_centerhorz'); - //AddResImg(SrcTypeImageList,'anchorside_rightleft'); - //AddResImg(SrcTypeImageList,'anchorside_rightright'); - end; - + LeftRefLeftSpeedButton.Glyph.LoadFromLazarusResource('anchorleftleft'); + LeftRefCenterSpeedButton.Glyph.LoadFromLazarusResource('anchorcenterhorizontal'); + LeftRefRightSpeedButton.Glyph.LoadFromLazarusResource('anchorleftright'); + RightRefLeftSpeedButton.Glyph.LoadFromLazarusResource('anchorleftright'); + RightRefCenterSpeedButton.Glyph.LoadFromLazarusResource('anchorcenterhorizontal'); + RightRefRightSpeedButton.Glyph.LoadFromLazarusResource('anchorrightright'); + TopRefTopSpeedButton.Glyph.LoadFromLazarusResource('anchortoptop'); + TopRefCenterSpeedButton.Glyph.LoadFromLazarusResource('anchorcentervertical'); + TopRefBottomSpeedButton.Glyph.LoadFromLazarusResource('anchortopbottom'); + BottomRefTopSpeedButton.Glyph.LoadFromLazarusResource('anchortopbottom'); + BottomRefCenterSpeedButton.Glyph.LoadFromLazarusResource('anchorcentervertical'); + BottomRefBottomSpeedButton.Glyph.LoadFromLazarusResource('anchorbottombottom'); + // autosizing BottomSiblingLabel.AnchorToNeighbour(akLeft,10,BottomAnchoredCheckBox); BottomSiblingComboBox.AnchorToNeighbour(akLeft,5,BottomSiblingLabel); @@ -283,7 +267,7 @@ var CurControl: TControl; begin debugln('TAnchorDesigner.AnchorEnabledCheckBoxChange ',DbgSName(Sender),' ',dbgs(TCheckBox(Sender).Checked)); - if Values=nil then exit; + if FUpdating or (Values=nil) then exit; if Sender=LeftAnchoredCheckBox then Kind:=akLeft else if Sender=RightAnchoredCheckBox then @@ -313,6 +297,170 @@ begin end; end; +procedure TAnchorDesigner.BorderSpaceSpinEditChange(Sender: TObject); +var + Around: Boolean; + NewValue: LongInt; + CurSide: TAnchorDesignerSideValues; + SelectedControls: TList; + i: Integer; + CurControl: TControl; + Kind: TAnchorKind; +begin + debugln('TAnchorDesigner.BorderSpaceSpinEditChange ',DbgSName(Sender),' ',dbgs(TSpinEdit(Sender).Value)); + if FUpdating or (Values=nil) then exit; + Around:=false; + if Sender=LeftBorderSpaceSpinEdit then + Kind:=akLeft + else if Sender=RightBorderSpaceSpinEdit then + Kind:=akRight + else if Sender=TopBorderSpaceSpinEdit then + Kind:=akTop + else if Sender=BottomBorderSpaceSpinEdit then + Kind:=akBottom + else if Sender=AroundBorderSpaceSpinEdit then begin + Kind:=akLeft; + Around:=true; + end else + exit; + NewValue:=RoundToInt(TSpinEdit(Sender).Value); + CurSide:=Values.Sides[Kind]; + if (Around and (Values.AmbigiousBorderspaceAround + or (Values.BorderspaceAround<>NewValue))) + or ((not Around) and (CurSide.AmbigiousBorderSpace + or (CurSide.BorderSpace<>NewValue))) + then begin + debugln('TAnchorDesigner.BorderSpaceSpinEditChange ',DbgSName(Sender),' NewValue=',dbgs(NewValue)); + // user changed a BorderSpace + SelectedControls:=GetSelectedControls; + if SelectedControls=nil then exit; + for i:=0 to SelectedControls.Count-1 do begin + CurControl:=TControl(SelectedControls[i]); + if Around then + CurControl.BorderSpacing.Around:=NewValue + else + CurControl.BorderSpacing.Space[Kind]:=NewValue; + end; + GlobalDesignHook.RefreshPropertyValues; + end; +end; + +procedure TAnchorDesigner.SiblingComboBoxChange(Sender: TObject); +var + Kind: TAnchorKind; + NewSibling: TControl; + CurSide: TAnchorDesignerSideValues; + SelectedControls: TList; + i: Integer; + CurControl: TControl; + NewValue: String; +begin + debugln('TAnchorDesigner.SiblingComboBoxChange ',DbgSName(Sender),' ',TComboBox(Sender).Text); + if FUpdating or (Values=nil) then exit; + if Sender=LeftSiblingComboBox then + Kind:=akLeft + else if Sender=RightSiblingComboBox then + Kind:=akRight + else if Sender=TopSiblingComboBox then + Kind:=akTop + else if Sender=BottomSiblingComboBox then + Kind:=akBottom + else + exit; + NewValue:=TComboBox(Sender).Caption; + CurSide:=Values.Sides[Kind]; + if CurSide.AmbigiousSibling or (CompareText(CurSide.Sibling,NewValue)<>0) then + begin + NewSibling:=FindSibling(NewValue); + if NewSibling=nil then exit; + debugln('TAnchorDesigner.SiblingComboBoxChange ',DbgSName(Sender),' NewSibling=',DbgSName(NewSibling)); + // user changed a sibling + SelectedControls:=GetSelectedControls; + if SelectedControls=nil then exit; + for i:=0 to SelectedControls.Count-1 do begin + CurControl:=TControl(SelectedControls[i]); + CurControl.AnchorSide[Kind].Control:=NewSibling; + end; + GlobalDesignHook.RefreshPropertyValues; + end; +end; + +procedure TAnchorDesigner.ReferenceSideButtonClicked(Sender: TObject); +var + CurSide: TAnchorDesignerSideValues; + Kind: TAnchorKind; + Side: TAnchorSideReference; + SelectedControls: TList; + i: Integer; + CurControl: TControl; +begin + debugln('TAnchorDesigner.ReferenceSideButtonClicked ',DbgSName(Sender),' ',dbgs(TSpeedButton(Sender).Down)); + if FUpdating or (Values=nil) then exit; + if Sender=LeftRefCenterSpeedButton then begin + Kind:=akLeft; + Side:=asrCenter; + end + else if Sender=LeftRefLeftSpeedButton then begin + Kind:=akLeft; + Side:=asrLeft; + end + else if Sender=LeftRefRightSpeedButton then begin + Kind:=akLeft; + Side:=asrRight; + end + else if Sender=RightRefCenterSpeedButton then begin + Kind:=akRight; + Side:=asrCenter; + end + else if Sender=RightRefLeftSpeedButton then begin + Kind:=akRight; + Side:=asrLeft; + end + else if Sender=RightRefRightSpeedButton then begin + Kind:=akRight; + Side:=asrRight; + end + else if Sender=TopRefCenterSpeedButton then begin + Kind:=akTop; + Side:=asrCenter; + end + else if Sender=TopRefTopSpeedButton then begin + Kind:=akTop; + Side:=asrTop; + end + else if Sender=TopRefBottomSpeedButton then begin + Kind:=akTop; + Side:=asrBottom; + end + else if Sender=BottomRefCenterSpeedButton then begin + Kind:=akBottom; + Side:=asrCenter; + end + else if Sender=BottomRefTopSpeedButton then begin + Kind:=akBottom; + Side:=asrTop; + end + else if Sender=BottomRefBottomSpeedButton then begin + Kind:=akBottom; + Side:=asrBottom; + end else + exit; + if not TSpeedButton(Sender).Down then exit; + CurSide:=Values.Sides[Kind]; + if CurSide.AmbigiousSide or (CurSide.Side<>Side) then + begin + debugln('TAnchorDesigner.ReferenceSideButtonClicked ',DbgSName(Sender)); + // user changed a sibling + SelectedControls:=GetSelectedControls; + if SelectedControls=nil then exit; + for i:=0 to SelectedControls.Count-1 do begin + CurControl:=TControl(SelectedControls[i]); + CurControl.AnchorSide[Kind].Side:=Side; + end; + GlobalDesignHook.RefreshPropertyValues; + end; +end; + procedure TAnchorDesigner.KeyUp(var Key: Word; Shift: TShiftState); begin inherited KeyUp(Key, Shift); @@ -367,119 +515,125 @@ begin // check if uddate is needed if not Visible then exit; end; - FreeAndNil(Values); - CurSelection:=GetSelectedControls; - CollectValues(CurSelection,Values,SelectedControlCount); - //debugln('TAnchorDesigner.Refresh B ',dbgs(SelectedControlCount)); + if FUpdating then exit; + FUpdating:=true; + try + FreeAndNil(Values); + CurSelection:=GetSelectedControls; + CollectValues(CurSelection,Values,SelectedControlCount); + //debugln('TAnchorDesigner.Refresh B ',dbgs(SelectedControlCount)); - if (Values=nil) then begin - Caption:='Anchor Editor - no control selected'; - BorderSpaceGroupBox.Enabled:=false; - TopGroupBox.Enabled:=false; - LeftGroupBox.Enabled:=false; - RightGroupBox.Enabled:=false; - BottomGroupBox.Enabled:=false; - end else begin - Caption:='Anchors of selected controls'; + if (Values=nil) then begin + Caption:='Anchor Editor - no control selected'; + BorderSpaceGroupBox.Enabled:=false; + TopGroupBox.Enabled:=false; + LeftGroupBox.Enabled:=false; + RightGroupBox.Enabled:=false; + BottomGroupBox.Enabled:=false; + end else begin + Caption:='Anchors of selected controls'; - // all - BorderSpaceGroupBox.Enabled:=true; - if Values.AmbigiousBorderspaceAround then - AroundBorderSpaceSpinEdit.Value:=-1 - else - AroundBorderSpaceSpinEdit.Value:=Values.BorderspaceAround; + // all + BorderSpaceGroupBox.Enabled:=true; + if Values.AmbigiousBorderspaceAround then + AroundBorderSpaceSpinEdit.Value:=-1 + else + AroundBorderSpaceSpinEdit.Value:=Values.BorderspaceAround; - // Top - TopGroupBox.Enabled:=true; - CurSide:=Values.Sides[akTop]; - TopAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; - if CurSide.AmbigiousEnabled then - TopAnchoredCheckBox.State:=cbGrayed - else - TopAnchoredCheckBox.Checked:=CurSide.Enabled; - if CurSide.AmbigiousBorderSpace then - TopBorderSpaceSpinEdit.Value:=-1 - else - TopBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; - TopBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; - Sibling:=CurSide.Sibling; - TopSiblingComboBox.Text:=Sibling; - FillComboBoxWithSiblings(TopSiblingComboBox); - TopRefBottomSpeedButton.Enabled:=Sibling<>''; - TopRefBottomSpeedButton.Down:=(CurSide.Side=asrBottom); - TopRefCenterSpeedButton.Enabled:=Sibling<>''; - TopRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); - TopRefTopSpeedButton.Enabled:=Sibling<>''; - TopRefTopSpeedButton.Down:=(CurSide.Side=asrTop); + // Top + TopGroupBox.Enabled:=true; + CurSide:=Values.Sides[akTop]; + TopAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; + if CurSide.AmbigiousEnabled then + TopAnchoredCheckBox.State:=cbGrayed + else + TopAnchoredCheckBox.Checked:=CurSide.Enabled; + if CurSide.AmbigiousBorderSpace then + TopBorderSpaceSpinEdit.Value:=-1 + else + TopBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; + TopBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; + Sibling:=CurSide.Sibling; + TopSiblingComboBox.Text:=Sibling; + FillComboBoxWithSiblings(TopSiblingComboBox); + TopRefBottomSpeedButton.Enabled:=Sibling<>''; + TopRefBottomSpeedButton.Down:=(CurSide.Side=asrBottom); + TopRefCenterSpeedButton.Enabled:=Sibling<>''; + TopRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); + TopRefTopSpeedButton.Enabled:=Sibling<>''; + TopRefTopSpeedButton.Down:=(CurSide.Side=asrTop); - // Bottom - BottomGroupBox.Enabled:=true; - CurSide:=Values.Sides[akBottom]; - BottomAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; - if CurSide.AmbigiousEnabled then - BottomAnchoredCheckBox.State:=cbGrayed - else - BottomAnchoredCheckBox.Checked:=CurSide.Enabled; - if CurSide.AmbigiousBorderSpace then - BottomBorderSpaceSpinEdit.Value:=-1 - else - BottomBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; - BottomBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; - Sibling:=CurSide.Sibling; - BottomSiblingComboBox.Text:=Sibling; - FillComboBoxWithSiblings(BottomSiblingComboBox); - BottomRefBottomSpeedButton.Enabled:=Sibling<>''; - BottomRefBottomSpeedButton.Down:=(CurSide.Side=asrBottom); - BottomRefCenterSpeedButton.Enabled:=Sibling<>''; - BottomRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); - BottomRefTopSpeedButton.Enabled:=Sibling<>''; - BottomRefTopSpeedButton.Down:=(CurSide.Side=asrTop); + // Bottom + BottomGroupBox.Enabled:=true; + CurSide:=Values.Sides[akBottom]; + BottomAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; + if CurSide.AmbigiousEnabled then + BottomAnchoredCheckBox.State:=cbGrayed + else + BottomAnchoredCheckBox.Checked:=CurSide.Enabled; + if CurSide.AmbigiousBorderSpace then + BottomBorderSpaceSpinEdit.Value:=-1 + else + BottomBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; + BottomBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; + Sibling:=CurSide.Sibling; + BottomSiblingComboBox.Text:=Sibling; + FillComboBoxWithSiblings(BottomSiblingComboBox); + BottomRefBottomSpeedButton.Enabled:=Sibling<>''; + BottomRefBottomSpeedButton.Down:=(CurSide.Side=asrBottom); + BottomRefCenterSpeedButton.Enabled:=Sibling<>''; + BottomRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); + BottomRefTopSpeedButton.Enabled:=Sibling<>''; + BottomRefTopSpeedButton.Down:=(CurSide.Side=asrTop); - // Left - LeftGroupBox.Enabled:=true; - CurSide:=Values.Sides[akLeft]; - LeftAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; - if CurSide.AmbigiousEnabled then - LeftAnchoredCheckBox.State:=cbGrayed - else - LeftAnchoredCheckBox.Checked:=CurSide.Enabled; - if CurSide.AmbigiousBorderSpace then - LeftBorderSpaceSpinEdit.Value:=-1 - else - LeftBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; - LeftBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; - Sibling:=CurSide.Sibling; - LeftSiblingComboBox.Text:=Sibling; - FillComboBoxWithSiblings(LeftSiblingComboBox); - LeftRefRightSpeedButton.Enabled:=Sibling<>''; - LeftRefRightSpeedButton.Down:=(CurSide.Side=asrBottom); - LeftRefCenterSpeedButton.Enabled:=Sibling<>''; - LeftRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); - LeftRefLeftSpeedButton.Enabled:=Sibling<>''; - LeftRefLeftSpeedButton.Down:=(CurSide.Side=asrTop); + // Left + LeftGroupBox.Enabled:=true; + CurSide:=Values.Sides[akLeft]; + LeftAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; + if CurSide.AmbigiousEnabled then + LeftAnchoredCheckBox.State:=cbGrayed + else + LeftAnchoredCheckBox.Checked:=CurSide.Enabled; + if CurSide.AmbigiousBorderSpace then + LeftBorderSpaceSpinEdit.Value:=-1 + else + LeftBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; + LeftBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; + Sibling:=CurSide.Sibling; + LeftSiblingComboBox.Text:=Sibling; + FillComboBoxWithSiblings(LeftSiblingComboBox); + LeftRefRightSpeedButton.Enabled:=Sibling<>''; + LeftRefRightSpeedButton.Down:=(CurSide.Side=asrBottom); + LeftRefCenterSpeedButton.Enabled:=Sibling<>''; + LeftRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); + LeftRefLeftSpeedButton.Enabled:=Sibling<>''; + LeftRefLeftSpeedButton.Down:=(CurSide.Side=asrTop); - // Right - RightGroupBox.Enabled:=true; - CurSide:=Values.Sides[akRight]; - RightAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; - if CurSide.AmbigiousEnabled then - RightAnchoredCheckBox.State:=cbGrayed - else - RightAnchoredCheckBox.Checked:=CurSide.Enabled; - if CurSide.AmbigiousBorderSpace then - RightBorderSpaceSpinEdit.Value:=-1 - else - RightBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; - RightBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; - Sibling:=CurSide.Sibling; - RightSiblingComboBox.Text:=Sibling; - FillComboBoxWithSiblings(RightSiblingComboBox); - RightRefRightSpeedButton.Enabled:=Sibling<>''; - RightRefRightSpeedButton.Down:=(CurSide.Side=asrBottom); - RightRefCenterSpeedButton.Enabled:=Sibling<>''; - RightRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); - RightRefLeftSpeedButton.Enabled:=Sibling<>''; - RightRefLeftSpeedButton.Down:=(CurSide.Side=asrTop); + // Right + RightGroupBox.Enabled:=true; + CurSide:=Values.Sides[akRight]; + RightAnchoredCheckBox.AllowGrayed:=CurSide.AmbigiousEnabled; + if CurSide.AmbigiousEnabled then + RightAnchoredCheckBox.State:=cbGrayed + else + RightAnchoredCheckBox.Checked:=CurSide.Enabled; + if CurSide.AmbigiousBorderSpace then + RightBorderSpaceSpinEdit.Value:=-1 + else + RightBorderSpaceSpinEdit.Value:=CurSide.BorderSpace; + RightBorderSpaceSpinEdit.ValueEmpty:=CurSide.AmbigiousBorderSpace; + Sibling:=CurSide.Sibling; + RightSiblingComboBox.Text:=Sibling; + FillComboBoxWithSiblings(RightSiblingComboBox); + RightRefRightSpeedButton.Enabled:=Sibling<>''; + RightRefRightSpeedButton.Down:=(CurSide.Side=asrBottom); + RightRefCenterSpeedButton.Enabled:=Sibling<>''; + RightRefCenterSpeedButton.Down:=(CurSide.Side=asrCenter); + RightRefLeftSpeedButton.Enabled:=Sibling<>''; + RightRefLeftSpeedButton.Down:=(CurSide.Side=asrTop); + end; + finally + FUpdating:=false; end; end; @@ -508,6 +662,29 @@ begin end; end; +function TAnchorDesigner.FindSibling(const Sibling: string): TControl; +var + Root: TPersistent; + RootComponent: TComponent; + i: Integer; + CurComponent: TComponent; + CurControl: TControl; +begin + Root:=GlobalDesignHook.LookupRoot; + if not (Root is TComponent) then exit; + RootComponent:=TComponent(Root); + for i:=0 to RootComponent.ComponentCount-1 do begin + CurComponent:=TComponent(RootComponent.Components[i]); + if CurComponent is TControl then begin + CurControl:=TControl(CurComponent); + if CompareText(Sibling,ControlToStr(CurControl))=0 then begin + Result:=CurControl; + exit; + end; + end; + end; +end; + function TAnchorDesigner.ControlToStr(AControl: TControl): string; begin if AControl=nil then diff --git a/images/README b/images/README index e1aed55705..a13caf1aa9 100644 --- a/images/README +++ b/images/README @@ -52,7 +52,7 @@ cd /images/ 6. laz_images.lrs cd /images/ -../tools/lazres laz_images.lrs btn_*.xpm pkg_*.xpm menu/menu_*.xpm codeexplorer/*.xpm +../tools/lazres laz_images.lrs btn_*.xpm pkg_*.xpm menu/menu_*.xpm codeexplorer/*.xpm designer/*.xpm 7. splash.lrs diff --git a/images/designer/anchorbottombottom.xpm b/images/designer/anchorbottombottom.xpm new file mode 100644 index 0000000000..56acb58dfc --- /dev/null +++ b/images/designer/anchorbottombottom.xpm @@ -0,0 +1,64 @@ +/* XPM */ +static char * anchorbottombottom_xpm[] = { +"26 26 35 1", +" c None", +". c #FFFFFF", +"+ c #C1C1C1", +"@ c #BCBCBC", +"# c #BDBDBD", +"$ c #CCCCCC", +"% c #BFBFBF", +"& c #BABABA", +"* c #808080", +"= c #000000", +"- c #F4F4F4", +"; c #C8C8C8", +"> c #BEBEBE", +", c #C6C6C6", +"' c #C0C0C0", +") c #C7C7C7", +"! c #C4C4C4", +"~ c #F8F8F8", +"{ c #C5C5C5", +"] c #BBBBBB", +"^ c #B9B9B9", +"/ c #FEFEFE", +"( c #7C7C7C", +"_ c #8B8B8B", +": c #767676", +"< c #828282", +"[ c #878787", +"} c #7A7A7A", +"| c #7F7F7F", +"1 c #888888", +"2 c #7D7D7D", +"3 c #898989", +"4 c #020202", +"5 c #050505", +"6 c #010101", +" .+@#$%&%+%*= .+@#$%&%+%*=", +" -;>,>+&%+%*= -;>,>+&%+%*=", +" .@+''+)!+%*= .@+''+)!+%*=", +" .@+''+)!+%*= .@+''+)!+%*=", +" ~%{]!+#^+%*= ~%{]!+#^+%*=", +" ~%{]%+!'+%*= ~%{]%+!'+%*=", +" .@+''+^!+%*= .@+''+^!+%*=", +" -;>,!+#^+%*= -;>,!+#^+%*=", +" ~%{]!+#^+%*= ~%{]!+#^+%*=", +" ~%{]%+!'+%*= ~%{]%+!'+%*=", +" .+@#{+%@+%*= .+@#{+%@+%*=", +" /(_:<[}|123= /(_:<[}|123=", +" =4=5=6===4= =4=5=6===4= ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/images/designer/anchorcenterhorizontal.xpm b/images/designer/anchorcenterhorizontal.xpm new file mode 100644 index 0000000000..b39fb46b4c --- /dev/null +++ b/images/designer/anchorcenterhorizontal.xpm @@ -0,0 +1,71 @@ +/* XPM */ +static char * anchorcenterhorizontal_xpm[] = { +"26 26 42 1", +" c None", +". c #F4F4F4", +"+ c #C8C8C8", +"@ c #BEBEBE", +"# c #C6C6C6", +"$ c #B8B8B8", +"% c #C1C1C1", +"& c #BFBFBF", +"* c #808080", +"= c #000000", +"- c #FFFFFF", +"; c #BCBCBC", +"> c #C0C0C0", +", c #BDBDBD", +"' c #F8F8F8", +") c #C5C5C5", +"! c #BBBBBB", +"~ c #CFCFCF", +"{ c #BABABA", +"] c #FEFEFE", +"^ c #7C7C7C", +"/ c #8B8B8B", +"( c #767676", +"_ c #828282", +": c #878787", +"< c #7A7A7A", +"[ c #7F7F7F", +"} c #888888", +"| c #7D7D7D", +"1 c #898989", +"2 c #020202", +"3 c #050505", +"4 c #010101", +"5 c #EFEFEF", +"6 c #F0F0F0", +"7 c #FCFCFC", +"8 c #030303", +"9 c #C7C7C7", +"0 c #C4C4C4", +"a c #B9B9B9", +"b c #B6B6B6", +"c c #B7B7B7", +" .+@#$+@#$%&*= ", +" -;%>,;%>,%&*= ", +" '&)!%&)!%%&*= ", +" '&)!%&)!%%&*= ", +" -;%>,;%>,%&*= ", +" .+@#$+@#$%&*= ", +" -%;,)%;,)%&*= ", +" -%;,)%&~{%&*= ", +" ]^/(_:<[[}|1= ", +" =2=3=4====2= ", +" ", +" ", +" ", +" ", +" ", +" ", +" '-5--6-----------7-8 ", +" -%;,)%&%&90%%&&%%&*= ", +" .+@#$90%%,a%%&0%%&*= ", +" -;%>,,a%%0>%%&a%%&*= ", +" '&)!%0>%%)@%%&>%%&*= ", +" '&)!%)@%%,>%%&@%%&*= ", +" -;%>,,>%%a0%%&>%%&*= ", +" .+@#$a0%%~{%%&0%%&*= ", +" -%;,)~{%%&>#b~{%%&*= ", +" -%;,)%&;+c>#b~{%%&*= "}; diff --git a/images/designer/anchorcentervertical.xpm b/images/designer/anchorcentervertical.xpm new file mode 100644 index 0000000000..416c5f5251 --- /dev/null +++ b/images/designer/anchorcentervertical.xpm @@ -0,0 +1,71 @@ +/* XPM */ +static char * anchorcentervertical_xpm[] = { +"26 26 42 1", +" c None", +". c #FFFFFF", +"+ c #FCFCFC", +"@ c #030303", +"# c #C7C7C7", +"$ c #C4C4C4", +"% c #C1C1C1", +"& c #BFBFBF", +"* c #808080", +"= c #000000", +"- c #BDBDBD", +"; c #B9B9B9", +"> c #C0C0C0", +", c #F8F8F8", +"' c #EFEFEF", +") c #F0F0F0", +"! c #C5C5C5", +"~ c #BEBEBE", +"{ c #BCBCBC", +"] c #F4F4F4", +"^ c #C8C8C8", +"/ c #C6C6C6", +"( c #B8B8B8", +"_ c #CFCFCF", +": c #BABABA", +"< c #BBBBBB", +"[ c #B6B6B6", +"} c #B7B7B7", +"| c #FEFEFE", +"1 c #7C7C7C", +"2 c #8B8B8B", +"3 c #767676", +"4 c #828282", +"5 c #878787", +"6 c #7A7A7A", +"7 c #7F7F7F", +"8 c #020202", +"9 c #050505", +"0 c #010101", +"a c #888888", +"b c #7D7D7D", +"c c #898989", +" ", +" ", +" ", +"........+.@ ", +"#$%%&&%%&*= ", +"-;%%&$%%&*= ", +"$>%%&;%%&*= ,.'..)....", +"!~%%&>%%&*= .%{-!%&%&~", +"->%%&~%%&*= ]^~/(^~/(^", +";$%%&>%%&*= .{%>-{%>-{", +"_:%%&$%%&*= ,&!<%&!<%&", +"&>/[_:%%&*= ,&!<%&!<%&", +"}>/[_:%%&*= .{%>-{%>-{", +"-;%%&$%%&*= ]^~/(^~/(^", +"$>%%&;%%&*= .%{-!%{-!%", +"!~%%&>%%&*= .%{-!%&{^}", +"->%%&~%%&*= .%{-!%{-!%", +";$%%&>%%&*= .%{-!%&{^}", +"_:%%&$%%&*= |123456777", +"&>/[_:%%&*= =8=9=0====", +"^}>/[_:%&*= ", +"7777777abc= ", +"========8= ", +" ", +" ", +" "}; diff --git a/images/designer/anchorleftleft.xpm b/images/designer/anchorleftleft.xpm new file mode 100644 index 0000000000..ec07316054 --- /dev/null +++ b/images/designer/anchorleftleft.xpm @@ -0,0 +1,60 @@ +/* XPM */ +static char * anchorleftleft_xpm[] = { +"26 26 31 1", +" c None", +". c #F8F8F8", +"+ c #FFFFFF", +"@ c #EFEFEF", +"# c #FCFCFC", +"$ c #C1C1C1", +"% c #BCBCBC", +"& c #BBBBBB", +"* c #CCCCCC", +"= c #BFBFBF", +"- c #BABABA", +"; c #F4F4F4", +"> c #C8C8C8", +", c #BEBEBE", +"' c #C0C0C0", +") c #C7C7C7", +"! c #C4C4C4", +"~ c #C5C5C5", +"{ c #BDBDBD", +"] c #B9B9B9", +"^ c #C6C6C6", +"/ c #B6B6B6", +"( c #CFCFCF", +"_ c #FEFEFE", +": c #7C7C7C", +"< c #8B8B8B", +"[ c #7F7F7F", +"} c #888888", +"| c #7D7D7D", +"1 c #000000", +"2 c #020202", +" ", +" .+@++++++++#", +" +$%&*=-=-=$=", +" ;>,,,$-=-=$=", +" +%$''$)!)!$=", +" .=~!!${]{]$=", +" .=~==$!'!'$=", +" +%$''$]!]!$=", +" +%$''${'{'$=", +" ;>,,,$]!]!$=", +" +$%'^/(-(-$=", +" _:<[[[[[[[}|", +" 121111111112", +" ", +" .+@++++++++#", +" +$%&*=-=-=$=", +" ;>,,,$-=-=$=", +" +%$''$)!)!$=", +" .=~!!${]{]$=", +" .=~==$!'!'$=", +" +%$''$]!]!$=", +" +%$''${'{'$=", +" ;>,,,$]!]!$=", +" +$%'^/(-(-$=", +" _:<[[[[[[[}|", +" 121111111112"}; diff --git a/images/designer/anchorleftright.xpm b/images/designer/anchorleftright.xpm new file mode 100644 index 0000000000..3724a3f1e9 --- /dev/null +++ b/images/designer/anchorleftright.xpm @@ -0,0 +1,71 @@ +/* XPM */ +static char * anchorleftright_xpm[] = { +"26 26 42 1", +" c None", +". c #FFFFFF", +"+ c #FCFCFC", +"@ c #030303", +"# c #F8F8F8", +"$ c #EFEFEF", +"% c #F0F0F0", +"& c #C7C7C7", +"* c #C4C4C4", +"= c #C1C1C1", +"- c #BFBFBF", +"; c #808080", +"> c #000000", +", c #BCBCBC", +"' c #BDBDBD", +") c #C5C5C5", +"! c #BEBEBE", +"~ c #B9B9B9", +"{ c #F4F4F4", +"] c #C8C8C8", +"^ c #C6C6C6", +"/ c #B8B8B8", +"( c #C0C0C0", +"_ c #BBBBBB", +": c #CFCFCF", +"< c #BABABA", +"[ c #B6B6B6", +"} c #B7B7B7", +"| c #7F7F7F", +"1 c #888888", +"2 c #7D7D7D", +"3 c #898989", +"4 c #FEFEFE", +"5 c #7C7C7C", +"6 c #8B8B8B", +"7 c #767676", +"8 c #828282", +"9 c #878787", +"0 c #7A7A7A", +"a c #020202", +"b c #050505", +"c c #010101", +" ", +" ", +" ", +"........+.@ #.$..%....", +"&*==--==-;> .=,')=-=-!", +"'~==-*==-;> {]!^/]!^/]", +"*(==-~==-;> .,=(',=(',", +")!==-(==-;> #-)_=-)_=-", +"'(==-!==-;> #-)_=-)_=-", +"~*==-(==-;> .,=(',=(',", +":<==-*==-;> {]!^/]!^/]", +"-(^[:<==-;> .=,')=,')=", +"}(^[:<==-;> .=,')=-,]}", +"'~==-*==-;> {]!^/]!^/]", +"*(==-~==-;> .,=(',=(',", +")!==-(==-;> #-)_=-)_=-", +"'(==-!==-;> #-)_=-)_=-", +"~*==-(==-;> .,=(',=(',", +":<==-*==-;> {]!^/]!^/]", +"-(^[:<==-;> .=,')=,')=", +"]}(^[:<=-;> .=,')=-,]}", +"|||||||123> 4567890|||", +">>>>>>>>a> >a>b>c>>>>", +" ", +" ", +" "}; diff --git a/images/designer/anchorrightright.xpm b/images/designer/anchorrightright.xpm new file mode 100644 index 0000000000..4df55bb8bd --- /dev/null +++ b/images/designer/anchorrightright.xpm @@ -0,0 +1,56 @@ +/* XPM */ +static char * anchorrightright_xpm[] = { +"26 26 27 1", +" c None", +". c #FFFFFF", +"+ c #FCFCFC", +"@ c #030303", +"# c #BEBEBE", +"$ c #BBBBBB", +"% c #CCCCCC", +"& c #BFBFBF", +"* c #BABABA", +"= c #C1C1C1", +"- c #808080", +"; c #000000", +"> c #C5C5C5", +", c #BDBDBD", +"' c #C0C0C0", +") c #C7C7C7", +"! c #C4C4C4", +"~ c #B9B9B9", +"{ c #B7B7B7", +"] c #C6C6C6", +"^ c #B6B6B6", +"/ c #CFCFCF", +"( c #7F7F7F", +"_ c #888888", +": c #7D7D7D", +"< c #898989", +"[ c #020202", +" ", +".......+.@ ", +"#$%&*&=&-; ", +">##=*&=&-; ", +",''=)!=&-; ", +"~!!=,~=&-; ", +"*&&=!'=&-; ", +"!''=~!=&-; ", +"!''=,'=&-; ", +">##=~!=&-; ", +"{']^/*=&-; ", +"((((((_:<; ", +";;;;;;;[;; ", +" ", +".......+.@ ", +"#$%&*&=&-; ", +">##=*&=&-; ", +",''=)!=&-; ", +"~!!=,~=&-; ", +"*&&=!'=&-; ", +"!''=~!=&-; ", +"!''=,'=&-; ", +">##=~!=&-; ", +"{']^/*=&-; ", +"((((((_:<; ", +";;;;;;;[;; "}; diff --git a/images/designer/anchortopbottom.xpm b/images/designer/anchortopbottom.xpm new file mode 100644 index 0000000000..e0529b706f --- /dev/null +++ b/images/designer/anchortopbottom.xpm @@ -0,0 +1,71 @@ +/* XPM */ +static char * anchortopbottom_xpm[] = { +"26 26 42 1", +" c None", +". c #F4F4F4", +"+ c #C8C8C8", +"@ c #BEBEBE", +"# c #C6C6C6", +"$ c #B8B8B8", +"% c #C1C1C1", +"& c #BFBFBF", +"* c #808080", +"= c #000000", +"- c #FFFFFF", +"; c #BCBCBC", +"> c #C0C0C0", +", c #BDBDBD", +"' c #F8F8F8", +") c #C5C5C5", +"! c #BBBBBB", +"~ c #B7B7B7", +"{ c #B6B6B6", +"] c #CFCFCF", +"^ c #BABABA", +"/ c #FEFEFE", +"( c #7C7C7C", +"_ c #8B8B8B", +": c #767676", +"< c #828282", +"[ c #878787", +"} c #7A7A7A", +"| c #7F7F7F", +"1 c #888888", +"2 c #7D7D7D", +"3 c #898989", +"4 c #020202", +"5 c #050505", +"6 c #010101", +"7 c #EFEFEF", +"8 c #F0F0F0", +"9 c #FCFCFC", +"0 c #030303", +"a c #C7C7C7", +"b c #C4C4C4", +"c c #B9B9B9", +" .+@#$+@#$+@#+@#$%&*= ", +" -;%>,;%>,;%>;%>,%&*= ", +" '&)!%&)!%&)!&)!%%&*= ", +" '&)!%&)!%&)!&)!%%&*= ", +" -;%>,;%>,;%>;%>,%&*= ", +" .+@#$+@#$+@#+@#$%&*= ", +" -%;,)%;,)%;,%;,)%&*= ", +" -%;,)%&;+~~>#{]^%&*= ", +" /(_:<[}|||||||||123= ", +" =4=5=6===========4= ", +" ", +" ", +" ", +" ", +" ", +" ", +" '-7--8-----------9-0 ", +" -%;,)%&%&ab%%&&%%&*= ", +" .+@#$ab%%,c%%&b%%&*= ", +" -;%>,,c%%b>%%&c%%&*= ", +" '&)!%b>%%)@%%&>%%&*= ", +" '&)!%)@%%,>%%&@%%&*= ", +" -;%>,,>%%cb%%&>%%&*= ", +" .+@#$cb%%]^%%&b%%&*= ", +" -%;,)]^%%&>#{]^%%&*= ", +" -%;,)%&;+~>#{]^%%&*= "}; diff --git a/images/designer/anchortoptop.xpm b/images/designer/anchortoptop.xpm new file mode 100644 index 0000000000..a990bc7d00 --- /dev/null +++ b/images/designer/anchortoptop.xpm @@ -0,0 +1,53 @@ +/* XPM */ +static char * anchortoptop_xpm[] = { +"26 26 24 1", +" c None", +". c #F8F8F8", +"+ c #FFFFFF", +"@ c #EFEFEF", +"# c #FCFCFC", +"$ c #030303", +"% c #C1C1C1", +"& c #BCBCBC", +"* c #BDBDBD", +"= c #CCCCCC", +"- c #BFBFBF", +"; c #BABABA", +"> c #808080", +", c #000000", +"' c #F4F4F4", +") c #C8C8C8", +"! c #BEBEBE", +"~ c #C6C6C6", +"{ c #C0C0C0", +"] c #C7C7C7", +"^ c #C4C4C4", +"/ c #C5C5C5", +"( c #BBBBBB", +"_ c #B9B9B9", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +".+@++++++#+$ .+@++++++#+$ ", +"+%&*=-;-%->, +%&*=-;-%->, ", +"')!~!%;-%->, ')!~!%;-%->, ", +"+&%{{%]^%->, +&%{{%]^%->, ", +".-/(^%*_%->, .-/(^%*_%->, ", +".-/(-%^{%->, .-/(-%^{%->, ", +"+&%{{%_^%->, +&%{{%_^%->, ", +"')!~^%*_%->, ')!~^%*_%->, ", +".-/(^%*_%->, .-/(^%*_%->, ", +".-/(-%^{%->, .-/(-%^{%->, ", +"+&%{{%_^%->, +&%{{%_^%->, ", +"')!~^%*_%->, ')!~^%*_%->, "}; diff --git a/images/laz_images.lrs b/images/laz_images.lrs index da179b10de..2d35738ab5 100644 --- a/images/laz_images.lrs +++ b/images/laz_images.lrs @@ -2367,3 +2367,211 @@ LazarusResources.Add('ce_variable','XPM',[ +'.-.;.>.>. ",'#10'" ,.''.).!.~.{.].>.>.>. ",'#10'" ^.>' +'.>.>.>.>.>.>. ",'#10'" "};'#10 ]); +LazarusResources.Add('anchorbottombottom','XPM',[ + '/* XPM */'#10'static char * anchorbottombottom_xpm[] = {'#10'"26 26 35 1",' + +#10'" '#9'c None",'#10'".'#9'c #FFFFFF",'#10'"+'#9'c #C1C1C1",'#10'"@'#9'c #' + +'BCBCBC",'#10'"#'#9'c #BDBDBD",'#10'"$'#9'c #CCCCCC",'#10'"%'#9'c #BFBFBF",' + +#10'"&'#9'c #BABABA",'#10'"*'#9'c #808080",'#10'"='#9'c #000000",'#10'"-'#9 + +'c #F4F4F4",'#10'";'#9'c #C8C8C8",'#10'">'#9'c #BEBEBE",'#10'",'#9'c #C6C6C6' + +'",'#10'"'''#9'c #C0C0C0",'#10'")'#9'c #C7C7C7",'#10'"!'#9'c #C4C4C4",'#10'"' + +'~'#9'c #F8F8F8",'#10'"{'#9'c #C5C5C5",'#10'"]'#9'c #BBBBBB",'#10'"^'#9'c #B' + +'9B9B9",'#10'"/'#9'c #FEFEFE",'#10'"('#9'c #7C7C7C",'#10'"_'#9'c #8B8B8B",' + +#10'":'#9'c #767676",'#10'"<'#9'c #828282",'#10'"['#9'c #878787",'#10'"}'#9 + +'c #7A7A7A",'#10'"|'#9'c #7F7F7F",'#10'"1'#9'c #888888",'#10'"2'#9'c #7D7D7D' + +'",'#10'"3'#9'c #898989",'#10'"4'#9'c #020202",'#10'"5'#9'c #050505",'#10'"6' + +#9'c #010101",'#10'" .+@#$%&%+%*= .+@#$%&%+%*=",'#10'" -;>,>+&%+%*= -;>,>+&%' + +'+%*=",'#10'" .@+''''+)!+%*= .@+''''+)!+%*=",'#10'" .@+''''+)!+%*= .@+''''+)' + +'!+%*=",'#10'" ~%{]!+#^+%*= ~%{]!+#^+%*=",'#10'" ~%{]%+!''+%*= ~%{]%+!''+%*=' + +'",'#10'" .@+''''+^!+%*= .@+''''+^!+%*=",'#10'" -;>,!+#^+%*= -;>,!+#^+%*=",' + +#10'" ~%{]!+#^+%*= ~%{]!+#^+%*=",'#10'" ~%{]%+!''+%*= ~%{]%+!''+%*=",'#10'" ' + +'.+@#{+%@+%*= .+@#{+%@+%*=",'#10'" /(_:<[}|123= /(_:<[}|123=",'#10'" =4=5=6=' + +'==4= =4=5=6===4= ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ",' + +#10'" ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' "};'#10 +]); +LazarusResources.Add('anchorcenterhorizontal','XPM',[ + '/* XPM */'#10'static char * anchorcenterhorizontal_xpm[] = {'#10'"26 26 42 1' + +'",'#10'" '#9'c None",'#10'".'#9'c #F4F4F4",'#10'"+'#9'c #C8C8C8",'#10'"@'#9 + +'c #BEBEBE",'#10'"#'#9'c #C6C6C6",'#10'"$'#9'c #B8B8B8",'#10'"%'#9'c #C1C1C1' + +'",'#10'"&'#9'c #BFBFBF",'#10'"*'#9'c #808080",'#10'"='#9'c #000000",'#10'"-' + +#9'c #FFFFFF",'#10'";'#9'c #BCBCBC",'#10'">'#9'c #C0C0C0",'#10'",'#9'c #BDBD' + +'BD",'#10'"'''#9'c #F8F8F8",'#10'")'#9'c #C5C5C5",'#10'"!'#9'c #BBBBBB",'#10 + +'"~'#9'c #CFCFCF",'#10'"{'#9'c #BABABA",'#10'"]'#9'c #FEFEFE",'#10'"^'#9'c #' + +'7C7C7C",'#10'"/'#9'c #8B8B8B",'#10'"('#9'c #767676",'#10'"_'#9'c #828282",' + +#10'":'#9'c #878787",'#10'"<'#9'c #7A7A7A",'#10'"['#9'c #7F7F7F",'#10'"}'#9 + +'c #888888",'#10'"|'#9'c #7D7D7D",'#10'"1'#9'c #898989",'#10'"2'#9'c #020202' + +'",'#10'"3'#9'c #050505",'#10'"4'#9'c #010101",'#10'"5'#9'c #EFEFEF",'#10'"6' + +#9'c #F0F0F0",'#10'"7'#9'c #FCFCFC",'#10'"8'#9'c #030303",'#10'"9'#9'c #C7C7' + +'C7",'#10'"0'#9'c #C4C4C4",'#10'"a'#9'c #B9B9B9",'#10'"b'#9'c #B6B6B6",'#10 + +'"c'#9'c #B7B7B7",'#10'" .+@#$+@#$%&*= ",'#10'" -;%>,;%>,%&*' + +'= ",'#10'" ''&)!%&)!%%&*= ",'#10'" ''&)!%&)!%%&*= ' + +' ",'#10'" -;%>,;%>,%&*= ",'#10'" .+@#$+@#$%&*= ",' + +#10'" -%;,)%;,)%&*= ",'#10'" -%;,)%&~{%&*= ",'#10'" ' + +' ]^/(_:<[[}|1= ",'#10'" =2=3=4====2= ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ''-5--6-----------7-8 ",' + +#10'" -%;,)%&%&90%%&&%%&*= ",'#10'" .+@#$90%%,a%%&0%%&*= ",'#10'" ' + +'-;%>,,a%%0>%%&a%%&*= ",'#10'" ''&)!%0>%%)@%%&>%%&*= ",'#10'" ''&)!%' + +')@%%,>%%&@%%&*= ",'#10'" -;%>,,>%%a0%%&>%%&*= ",'#10'" .+@#$a0%%~{%' + +'%&0%%&*= ",'#10'" -%;,)~{%%&>#b~{%%&*= ",'#10'" -%;,)%&;+c>#b~{%%&*' + +'= "};'#10 +]); +LazarusResources.Add('anchorcentervertical','XPM',[ + '/* XPM */'#10'static char * anchorcentervertical_xpm[] = {'#10'"26 26 42 1",' + +#10'" '#9'c None",'#10'".'#9'c #FFFFFF",'#10'"+'#9'c #FCFCFC",'#10'"@'#9'c #' + +'030303",'#10'"#'#9'c #C7C7C7",'#10'"$'#9'c #C4C4C4",'#10'"%'#9'c #C1C1C1",' + +#10'"&'#9'c #BFBFBF",'#10'"*'#9'c #808080",'#10'"='#9'c #000000",'#10'"-'#9 + +'c #BDBDBD",'#10'";'#9'c #B9B9B9",'#10'">'#9'c #C0C0C0",'#10'",'#9'c #F8F8F8' + +'",'#10'"'''#9'c #EFEFEF",'#10'")'#9'c #F0F0F0",'#10'"!'#9'c #C5C5C5",'#10'"' + +'~'#9'c #BEBEBE",'#10'"{'#9'c #BCBCBC",'#10'"]'#9'c #F4F4F4",'#10'"^'#9'c #C' + +'8C8C8",'#10'"/'#9'c #C6C6C6",'#10'"('#9'c #B8B8B8",'#10'"_'#9'c #CFCFCF",' + +#10'":'#9'c #BABABA",'#10'"<'#9'c #BBBBBB",'#10'"['#9'c #B6B6B6",'#10'"}'#9 + +'c #B7B7B7",'#10'"|'#9'c #FEFEFE",'#10'"1'#9'c #7C7C7C",'#10'"2'#9'c #8B8B8B' + +'",'#10'"3'#9'c #767676",'#10'"4'#9'c #828282",'#10'"5'#9'c #878787",'#10'"6' + +#9'c #7A7A7A",'#10'"7'#9'c #7F7F7F",'#10'"8'#9'c #020202",'#10'"9'#9'c #0505' + +'05",'#10'"0'#9'c #010101",'#10'"a'#9'c #888888",'#10'"b'#9'c #7D7D7D",'#10 + +'"c'#9'c #898989",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'"........+.@ ' + +' ",'#10'"#$%%&&%%&*= ",'#10'"-;%%&$%%&*= ",'#10 + +'"$>%%&;%%&*= ,.''..)....",'#10'"!~%%&>%%&*= .%{-!%&%&~",'#10'"->%%&' + +'~%%&*= ]^~/(^~/(^",'#10'";$%%&>%%&*= .{%>-{%>-{",'#10'"_:%%&$%%&*= ' + +' ,&!<%&!<%&",'#10'"&>/[_:%%&*= ,&!<%&!<%&",'#10'"}>/[_:%%&*= .{%' + +'>-{%>-{",'#10'"-;%%&$%%&*= ]^~/(^~/(^",'#10'"$>%%&;%%&*= .%{-!%{-!%' + +'",'#10'"!~%%&>%%&*= .%{-!%&{^}",'#10'"->%%&~%%&*= .%{-!%{-!%",'#10 + +'";$%%&>%%&*= .%{-!%&{^}",'#10'"_:%%&$%%&*= |123456777",'#10'"&>/[_:' + +'%%&*= =8=9=0====",'#10'"^}>/[_:%&*= ",'#10'"7777777abc= ' + +' ",'#10'"========8= ",'#10'" ' + +' ",'#10'" ",'#10'" "' + +'};'#10 +]); +LazarusResources.Add('anchorleftleft','XPM',[ + '/* XPM */'#10'static char * anchorleftleft_xpm[] = {'#10'"26 26 31 1",'#10'"' + +' '#9'c None",'#10'".'#9'c #F8F8F8",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #EFEF' + +'EF",'#10'"#'#9'c #FCFCFC",'#10'"$'#9'c #C1C1C1",'#10'"%'#9'c #BCBCBC",'#10 + +'"&'#9'c #BBBBBB",'#10'"*'#9'c #CCCCCC",'#10'"='#9'c #BFBFBF",'#10'"-'#9'c #' + +'BABABA",'#10'";'#9'c #F4F4F4",'#10'">'#9'c #C8C8C8",'#10'",'#9'c #BEBEBE",' + +#10'"'''#9'c #C0C0C0",'#10'")'#9'c #C7C7C7",'#10'"!'#9'c #C4C4C4",'#10'"~'#9 + +'c #C5C5C5",'#10'"{'#9'c #BDBDBD",'#10'"]'#9'c #B9B9B9",'#10'"^'#9'c #C6C6C6' + +'",'#10'"/'#9'c #B6B6B6",'#10'"('#9'c #CFCFCF",'#10'"_'#9'c #FEFEFE",'#10'":' + +#9'c #7C7C7C",'#10'"<'#9'c #8B8B8B",'#10'"['#9'c #7F7F7F",'#10'"}'#9'c #8888' + +'88",'#10'"|'#9'c #7D7D7D",'#10'"1'#9'c #000000",'#10'"2'#9'c #020202",'#10 + +'" ",'#10'" .+@++++++++#",'#10'" ' + +' +$%&*=-=-=$=",'#10'" ;>,,,$-=-=$=",'#10'" ' + +' +%$''''$)!)!$=",'#10'" .=~!!${]{]$=",'#10'" .=~=' + +'=$!''!''$=",'#10'" +%$''''$]!]!$=",'#10'" +%$''''' + +'${''{''$=",'#10'" ;>,,,$]!]!$=",'#10'" +$%''^/(-(' + +'-$=",'#10'" _:<[[[[[[[}|",'#10'" 121111111112",' + +#10'" ",'#10'" .+@++++++++#",'#10'" ' + +' +$%&*=-=-=$=",'#10'" ;>,,,$-=-=$=",'#10'" ' + +' +%$''''$)!)!$=",'#10'" .=~!!${]{]$=",'#10'" .' + +'=~==$!''!''$=",'#10'" +%$''''$]!]!$=",'#10'" +%$' + +'''''${''{''$=",'#10'" ;>,,,$]!]!$=",'#10'" +$%''^' + +'/(-(-$=",'#10'" _:<[[[[[[[}|",'#10'" 121111111112' + +'"};'#10 +]); +LazarusResources.Add('anchorleftright','XPM',[ + '/* XPM */'#10'static char * anchorleftright_xpm[] = {'#10'"26 26 42 1",'#10 + +'" '#9'c None",'#10'".'#9'c #FFFFFF",'#10'"+'#9'c #FCFCFC",'#10'"@'#9'c #030' + +'303",'#10'"#'#9'c #F8F8F8",'#10'"$'#9'c #EFEFEF",'#10'"%'#9'c #F0F0F0",'#10 + +'"&'#9'c #C7C7C7",'#10'"*'#9'c #C4C4C4",'#10'"='#9'c #C1C1C1",'#10'"-'#9'c #' + +'BFBFBF",'#10'";'#9'c #808080",'#10'">'#9'c #000000",'#10'",'#9'c #BCBCBC",' + +#10'"'''#9'c #BDBDBD",'#10'")'#9'c #C5C5C5",'#10'"!'#9'c #BEBEBE",'#10'"~'#9 + +'c #B9B9B9",'#10'"{'#9'c #F4F4F4",'#10'"]'#9'c #C8C8C8",'#10'"^'#9'c #C6C6C6' + +'",'#10'"/'#9'c #B8B8B8",'#10'"('#9'c #C0C0C0",'#10'"_'#9'c #BBBBBB",'#10'":' + +#9'c #CFCFCF",'#10'"<'#9'c #BABABA",'#10'"['#9'c #B6B6B6",'#10'"}'#9'c #B7B7' + +'B7",'#10'"|'#9'c #7F7F7F",'#10'"1'#9'c #888888",'#10'"2'#9'c #7D7D7D",'#10 + +'"3'#9'c #898989",'#10'"4'#9'c #FEFEFE",'#10'"5'#9'c #7C7C7C",'#10'"6'#9'c #' + +'8B8B8B",'#10'"7'#9'c #767676",'#10'"8'#9'c #828282",'#10'"9'#9'c #878787",' + +#10'"0'#9'c #7A7A7A",'#10'"a'#9'c #020202",'#10'"b'#9'c #050505",'#10'"c'#9 + +'c #010101",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'"........+.@ #.$..%....",'#10 + +'"&*==--==-;> .=,'')=-=-!",'#10'"''~==-*==-;> {]!^/]!^/]",'#10'"*(==' + +'-~==-;> .,=('',=('',",'#10'")!==-(==-;> #-)_=-)_=-",'#10'"''(==-!==' + +'-;> #-)_=-)_=-",'#10'"~*==-(==-;> .,=('',=('',",'#10'":<==-*==-;> ' + +' {]!^/]!^/]",'#10'"-(^[:<==-;> .=,'')=,'')=",'#10'"}(^[:<==-;> .=' + +','')=-,]}",'#10'"''~==-*==-;> {]!^/]!^/]",'#10'"*(==-~==-;> .,=('',' + +'=('',",'#10'")!==-(==-;> #-)_=-)_=-",'#10'"''(==-!==-;> #-)_=-)_=-"' + +','#10'"~*==-(==-;> .,=('',=('',",'#10'":<==-*==-;> {]!^/]!^/]",'#10 + +'"-(^[:<==-;> .=,'')=,'')=",'#10'"]}(^[:<=-;> .=,'')=-,]}",'#10'"|||' + +'||||123> 4567890|||",'#10'">>>>>>>>a> >a>b>c>>>>",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' "};'#10 +]); +LazarusResources.Add('anchorrightright','XPM',[ + '/* XPM */'#10'static char * anchorrightright_xpm[] = {'#10'"26 26 27 1",'#10 + +'" '#9'c None",'#10'".'#9'c #FFFFFF",'#10'"+'#9'c #FCFCFC",'#10'"@'#9'c #030' + +'303",'#10'"#'#9'c #BEBEBE",'#10'"$'#9'c #BBBBBB",'#10'"%'#9'c #CCCCCC",'#10 + +'"&'#9'c #BFBFBF",'#10'"*'#9'c #BABABA",'#10'"='#9'c #C1C1C1",'#10'"-'#9'c #' + +'808080",'#10'";'#9'c #000000",'#10'">'#9'c #C5C5C5",'#10'",'#9'c #BDBDBD",' + +#10'"'''#9'c #C0C0C0",'#10'")'#9'c #C7C7C7",'#10'"!'#9'c #C4C4C4",'#10'"~'#9 + +'c #B9B9B9",'#10'"{'#9'c #B7B7B7",'#10'"]'#9'c #C6C6C6",'#10'"^'#9'c #B6B6B6' + +'",'#10'"/'#9'c #CFCFCF",'#10'"('#9'c #7F7F7F",'#10'"_'#9'c #888888",'#10'":' + +#9'c #7D7D7D",'#10'"<'#9'c #898989",'#10'"['#9'c #020202",'#10'" ' + +' ",'#10'".......+.@ ",'#10'"#$%&*&=&-; ' + +' ",'#10'">##=*&=&-; ",'#10'",''''=)!=&-; ' + +' ",'#10'"~!!=,~=&-; ",'#10'"*&&=!''=&-; ",' + +#10'"!''''=~!=&-; ",'#10'"!''''=,''=&-; ",'#10 + +'">##=~!=&-; ",'#10'"{'']^/*=&-; ",'#10'"(((((' + +'(_:<; ",'#10'";;;;;;;[;; ",'#10'" ' + +' ",'#10'".......+.@ ",'#10'"#$%&*&=&-; ' + +' ",'#10'">##=*&=&-; ",'#10'",''''=)!=&-; ' + +' ",'#10'"~!!=,~=&-; ",'#10'"*&&=!''=&-; ",' + +#10'"!''''=~!=&-; ",'#10'"!''''=,''=&-; ",'#10 + +'">##=~!=&-; ",'#10'"{'']^/*=&-; ",'#10'"(((((' + +'(_:<; ",'#10'";;;;;;;[;; "};'#10 +]); +LazarusResources.Add('anchortopbottom','XPM',[ + '/* XPM */'#10'static char * anchortopbottom_xpm[] = {'#10'"26 26 42 1",'#10 + +'" '#9'c None",'#10'".'#9'c #F4F4F4",'#10'"+'#9'c #C8C8C8",'#10'"@'#9'c #BEB' + +'EBE",'#10'"#'#9'c #C6C6C6",'#10'"$'#9'c #B8B8B8",'#10'"%'#9'c #C1C1C1",'#10 + +'"&'#9'c #BFBFBF",'#10'"*'#9'c #808080",'#10'"='#9'c #000000",'#10'"-'#9'c #' + +'FFFFFF",'#10'";'#9'c #BCBCBC",'#10'">'#9'c #C0C0C0",'#10'",'#9'c #BDBDBD",' + +#10'"'''#9'c #F8F8F8",'#10'")'#9'c #C5C5C5",'#10'"!'#9'c #BBBBBB",'#10'"~'#9 + +'c #B7B7B7",'#10'"{'#9'c #B6B6B6",'#10'"]'#9'c #CFCFCF",'#10'"^'#9'c #BABABA' + +'",'#10'"/'#9'c #FEFEFE",'#10'"('#9'c #7C7C7C",'#10'"_'#9'c #8B8B8B",'#10'":' + +#9'c #767676",'#10'"<'#9'c #828282",'#10'"['#9'c #878787",'#10'"}'#9'c #7A7A' + +'7A",'#10'"|'#9'c #7F7F7F",'#10'"1'#9'c #888888",'#10'"2'#9'c #7D7D7D",'#10 + +'"3'#9'c #898989",'#10'"4'#9'c #020202",'#10'"5'#9'c #050505",'#10'"6'#9'c #' + +'010101",'#10'"7'#9'c #EFEFEF",'#10'"8'#9'c #F0F0F0",'#10'"9'#9'c #FCFCFC",' + +#10'"0'#9'c #030303",'#10'"a'#9'c #C7C7C7",'#10'"b'#9'c #C4C4C4",'#10'"c'#9 + +'c #B9B9B9",'#10'" .+@#$+@#$+@#+@#$%&*= ",'#10'" -;%>,;%>,;%>;%>,%&*= ' + +' ",'#10'" ''&)!%&)!%&)!&)!%%&*= ",'#10'" ''&)!%&)!%&)!&)!%%&*= ",' + +#10'" -;%>,;%>,;%>;%>,%&*= ",'#10'" .+@#$+@#$+@#+@#$%&*= ",'#10'" ' + +'-%;,)%;,)%;,%;,)%&*= ",'#10'" -%;,)%&;+~~>#{]^%&*= ",'#10'" /(_:<[}' + +'|||||||||123= ",'#10'" =4=5=6===========4= ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ",'#10 + +'" ",'#10'" ''-7--8-----------9-0 ",'#10'" -%' + +';,)%&%&ab%%&&%%&*= ",'#10'" .+@#$ab%%,c%%&b%%&*= ",'#10'" -;%>,,c%%' + +'b>%%&c%%&*= ",'#10'" ''&)!%b>%%)@%%&>%%&*= ",'#10'" ''&)!%)@%%,>%%&' + +'@%%&*= ",'#10'" -;%>,,>%%cb%%&>%%&*= ",'#10'" .+@#$cb%%]^%%&b%%&*= ' + +' ",'#10'" -%;,)]^%%&>#{]^%%&*= ",'#10'" -%;,)%&;+~>#{]^%%&*= "};' + +#10 +]); +LazarusResources.Add('anchortoptop','XPM',[ + '/* XPM */'#10'static char * anchortoptop_xpm[] = {'#10'"26 26 24 1",'#10'" ' + +#9'c None",'#10'".'#9'c #F8F8F8",'#10'"+'#9'c #FFFFFF",'#10'"@'#9'c #EFEFEF"' + +','#10'"#'#9'c #FCFCFC",'#10'"$'#9'c #030303",'#10'"%'#9'c #C1C1C1",'#10'"&' + +#9'c #BCBCBC",'#10'"*'#9'c #BDBDBD",'#10'"='#9'c #CCCCCC",'#10'"-'#9'c #BFBF' + +'BF",'#10'";'#9'c #BABABA",'#10'">'#9'c #808080",'#10'",'#9'c #000000",'#10 + +'"'''#9'c #F4F4F4",'#10'")'#9'c #C8C8C8",'#10'"!'#9'c #BEBEBE",'#10'"~'#9'c ' + +'#C6C6C6",'#10'"{'#9'c #C0C0C0",'#10'"]'#9'c #C7C7C7",'#10'"^'#9'c #C4C4C4",' + +#10'"/'#9'c #C5C5C5",'#10'"('#9'c #BBBBBB",'#10'"_'#9'c #B9B9B9",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +'",'#10'" ",'#10'" ",'#10 + +'" ",'#10'" ",'#10'" ' + +' ",'#10'" ",'#10'" ' + +' ",'#10'".+@++++++#+$ .+@++++++#+$ ",'#10'"+%&*=-;-%->, +%&*=-;' + +'-%->, ",'#10'"'')!~!%;-%->, '')!~!%;-%->, ",'#10'"+&%{{%]^%->, +&%{{%]^%->,' + +' ",'#10'".-/(^%*_%->, .-/(^%*_%->, ",'#10'".-/(-%^{%->, .-/(-%^{%->, ",'#10 + +'"+&%{{%_^%->, +&%{{%_^%->, ",'#10'"'')!~^%*_%->, '')!~^%*_%->, ",'#10'".-/(' + +'^%*_%->, .-/(^%*_%->, ",'#10'".-/(-%^{%->, .-/(-%^{%->, ",'#10'"+&%{{%_^%->' + +', +&%{{%_^%->, ",'#10'"'')!~^%*_%->, '')!~^%*_%->, "};'#10 +]); diff --git a/lcl/controls.pp b/lcl/controls.pp index ab62f00cd1..7a8b9493a4 100644 --- a/lcl/controls.pp +++ b/lcl/controls.pp @@ -632,6 +632,7 @@ type procedure SetBottom(const AValue: TSpacingSize); procedure SetLeft(const AValue: TSpacingSize); procedure SetRight(const AValue: TSpacingSize); + procedure SetSpace(Kind: TAnchorKind; const AValue: integer); procedure SetTop(const AValue: TSpacingSize); protected procedure Change; dynamic; @@ -644,6 +645,7 @@ type function GetSpace(Kind: TAnchorKind): Integer; public property Control: TControl read FControl; + property Space[Kind: TAnchorKind]: integer read GetSpace write SetSpace; published property OnChange: TNotifyEvent read FOnChange write FOnChange; property Left: TSpacingSize read FLeft write SetLeft; @@ -2376,6 +2378,17 @@ begin Change; end; +procedure TControlBorderSpacing.SetSpace(Kind: TAnchorKind; + const AValue: integer); +begin + case Kind of + akLeft: Left:=AValue; + akTop: Top:=AValue; + akBottom: Bottom:=AValue; + akRight: Right:=AValue; + end; +end; + procedure TControlBorderSpacing.SetTop(const AValue: TSpacingSize); begin if FTop=AValue then exit; @@ -2821,6 +2834,9 @@ end. { ============================================================================= $Log$ + Revision 1.270 2005/01/20 20:51:06 mattias + implementing anchor editor, setting sibling and reference sides + Revision 1.269 2005/01/17 17:49:27 mattias fixed constraints for forms under gtk