diff --git a/components/spktoolbar/designtime/spkte_AppearanceEditor.lfm b/components/spktoolbar/designtime/spkte_AppearanceEditor.lfm index a8151edfa..7d4489396 100644 --- a/components/spktoolbar/designtime/spkte_AppearanceEditor.lfm +++ b/components/spktoolbar/designtime/spkte_AppearanceEditor.lfm @@ -1,10 +1,10 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow - Left = 349 - Height = 520 - Top = 120 + Left = 617 + Height = 540 + Top = 138 Width = 536 Caption = 'Toolbar appearance editor' - ClientHeight = 520 + ClientHeight = 540 ClientWidth = 536 Color = clBtnFace Font.Color = clWindowText @@ -174,7 +174,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbBeginsRow GroupBehaviour = gbSingleItem HideFrameWhenIdle = True - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end object SpkSmallButton2: TSpkSmallButton @@ -185,7 +185,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbBeginsRow GroupBehaviour = gbSingleItem HideFrameWhenIdle = True - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButtonDropdown end object SpkSmallButton3: TSpkSmallButton @@ -196,7 +196,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbBeginsRow GroupBehaviour = gbSingleItem HideFrameWhenIdle = True - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkDropdown end end @@ -218,7 +218,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbContinuesRow GroupBehaviour = gbBeginsGroup HideFrameWhenIdle = False - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end object SpkSmallButton5: TSpkSmallButton @@ -229,7 +229,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbContinuesRow GroupBehaviour = gbContinuesGroup HideFrameWhenIdle = False - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end object SpkSmallButton6: TSpkSmallButton @@ -240,7 +240,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbContinuesRow GroupBehaviour = gbEndsGroup HideFrameWhenIdle = False - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end object SpkSmallButton7: TSpkSmallButton @@ -251,7 +251,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbBeginsRow GroupBehaviour = gbSingleItem HideFrameWhenIdle = False - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end object SpkSmallButton8: TSpkSmallButton @@ -262,7 +262,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TableBehaviour = tbContinuesRow GroupBehaviour = gbSingleItem HideFrameWhenIdle = False - ImageIndex = 0 + ImageIndex = 1 ButtonKind = bkButton end end @@ -318,7 +318,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow end object PageControl1: TPageControl Left = 0 - Height = 347 + Height = 368 Top = 132 Width = 536 ActivePage = TabSheet2 @@ -327,8 +327,21 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TabOrder = 1 object TabSheet1: TTabSheet Caption = 'Tab' - ClientHeight = 319 + ClientHeight = 320 ClientWidth = 528 + object sTabRectangle: TShape + AnchorSideLeft.Control = LblInactiveTabHeaderFontColor + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = cbLinkTab + AnchorSideTop.Side = asrBottom + Left = 179 + Height = 136 + Top = 27 + Width = 142 + BorderSpacing.Left = 12 + BorderSpacing.Top = 4 + Visible = False + end object Label2: TLabel AnchorSideTop.Control = pTabFrame AnchorSideTop.Side = asrCenter @@ -394,19 +407,6 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Caption = 'Tab header font' ParentColor = False end - object sTabRectangle: TShape - AnchorSideLeft.Control = LblInactiveTabHeaderFontColor - AnchorSideLeft.Side = asrBottom - AnchorSideTop.Control = cbLinkTab - AnchorSideTop.Side = asrBottom - Left = 179 - Height = 136 - Top = 27 - Width = 137 - BorderSpacing.Left = 12 - BorderSpacing.Top = 4 - Visible = False - end object pTabFrame: TPanel AnchorSideLeft.Control = cbLinkTab AnchorSideTop.Control = cbLinkTab @@ -414,7 +414,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Left = 187 Height = 25 Top = 36 - Width = 121 + Width = 100 BorderSpacing.Top = 13 BevelInner = bvRaised BevelOuter = bvLowered @@ -426,10 +426,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pTabFrame AnchorSideTop.Control = pTabFrame AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pTabFrame + AnchorSideRight.Side = asrBottom Left = 187 Height = 25 Top = 67 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -441,10 +444,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pTabGradientFrom AnchorSideTop.Control = pTabGradientFrom AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pTabGradientFrom + AnchorSideRight.Side = asrBottom Left = 187 Height = 25 Top = 98 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -461,7 +467,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Left = 187 Height = 23 Top = 129 - Width = 121 + Width = 100 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 ItemHeight = 15 @@ -478,15 +484,15 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Text = 'None' end object pTabHeaderFont: TPanel - AnchorSideLeft.Control = pInactiveTabHeaderFontColor - AnchorSideTop.Control = pInactiveTabHeaderFontColor + AnchorSideLeft.Control = pInactiveTabHeaderFont + AnchorSideTop.Control = pInactiveTabHeaderFont AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = pInactiveTabHeaderFontColor + AnchorSideRight.Control = pInactiveTabHeaderFont AnchorSideRight.Side = asrBottom Left = 187 Height = 25 Top = 234 - Width = 121 + Width = 100 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised @@ -495,7 +501,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TabOrder = 4 OnClick = pTabHeaderFontClick end - object pActiveTabHeaderFontColor: TPanel + object pActiveTabHeaderFont: TPanel AnchorSideLeft.Control = cbTabGradientKind AnchorSideTop.Control = cbTabGradientKind AnchorSideTop.Side = asrBottom @@ -504,14 +510,14 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Left = 187 Height = 25 Top = 172 - Width = 121 + Width = 100 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 20 BevelInner = bvRaised BevelOuter = bvLowered Caption = 'Color' TabOrder = 5 - OnClick = pActiveTabHeaderFontColorClick + OnClick = pActiveTabHeaderFontClick end object cbLinkTab: TCheckBox AnchorSideLeft.Control = LblInactiveTabHeaderFontColor @@ -528,7 +534,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TabOrder = 6 end object Label18: TLabel - AnchorSideTop.Control = pActiveTabHeaderFontColor + AnchorSideTop.Control = pActiveTabHeaderFont AnchorSideTop.Side = asrCenter AnchorSideRight.Control = LblInactiveTabHeaderFontColor AnchorSideRight.Side = asrBottom @@ -542,7 +548,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow end object LblInactiveTabHeaderFontColor: TLabel AnchorSideLeft.Control = TabSheet1 - AnchorSideTop.Control = pInactiveTabHeaderFontColor + AnchorSideTop.Control = pInactiveTabHeaderFont AnchorSideTop.Side = asrCenter Left = 12 Height = 15 @@ -552,16 +558,16 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Caption = 'Inactive tab header font color' ParentColor = False end - object pInactiveTabHeaderFontColor: TPanel - AnchorSideLeft.Control = pActiveTabHeaderFontColor - AnchorSideTop.Control = pActiveTabHeaderFontColor + object pInactiveTabHeaderFont: TPanel + AnchorSideLeft.Control = pActiveTabHeaderFont + AnchorSideTop.Control = pActiveTabHeaderFont AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = pActiveTabHeaderFontColor + AnchorSideRight.Control = pActiveTabHeaderFont AnchorSideRight.Side = asrBottom Left = 187 Height = 25 Top = 203 - Width = 121 + Width = 100 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised @@ -570,12 +576,98 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Color = clBtnFace ParentColor = False TabOrder = 7 - OnClick = pInactiveTabHeaderFontColorClick + OnClick = pInactiveTabHeaderFontClick + end + object bTabFrameColor: TSpeedButton + AnchorSideLeft.Control = pTabFrame + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pTabFrame + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pTabFrame + AnchorSideBottom.Side = asrBottom + Left = 289 + Height = 25 + Top = 36 + Width = 25 + AllowAllUp = True + Anchors = [akTop, akLeft, akBottom] + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bTabBorderColorClick + end + object bTabGradientFromColor: TSpeedButton + AnchorSideLeft.Control = pTabFrame + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pTabGradientFrom + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pTabFrame + AnchorSideBottom.Side = asrBottom + Left = 289 + Height = 25 + Top = 67 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bTabGradientFromColorClick + end + object bTabGradientToColor: TSpeedButton + AnchorSideLeft.Control = pTabFrame + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pTabGradientTo + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pTabFrame + AnchorSideBottom.Side = asrBottom + Left = 289 + Height = 25 + Top = 98 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bTabGradientToColorClick + end + object bActiveTabHeaderFontColor: TSpeedButton + AnchorSideLeft.Control = pTabFrame + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pActiveTabHeaderFont + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pTabFrame + AnchorSideBottom.Side = asrBottom + Left = 289 + Height = 25 + Top = 172 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bActiveTabHeaderFontColorClick + end + object bInactiveTabHeaderFontColor: TSpeedButton + AnchorSideLeft.Control = pTabFrame + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pInactiveTabHeaderFont + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pTabFrame + AnchorSideBottom.Side = asrBottom + Left = 289 + Height = 25 + Top = 203 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bInactiveTabHeaderFontColorClick end end object TabSheet2: TTabSheet Caption = 'Pane' - ClientHeight = 319 + ClientHeight = 340 ClientWidth = 528 ImageIndex = 1 object Label8: TLabel @@ -662,7 +754,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideRight.Side = asrBottom Left = 27 Height = 15 - Top = 239 + Top = 270 Width = 94 Anchors = [akTop, akRight] Caption = 'Pane caption font' @@ -676,7 +768,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Left = 133 Height = 165 Top = 27 - Width = 137 + Width = 142 BorderSpacing.Left = 12 BorderSpacing.Top = 4 Visible = False @@ -688,7 +780,7 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow Left = 141 Height = 25 Top = 36 - Width = 121 + Width = 100 BorderSpacing.Top = 13 BevelInner = bvRaised BevelOuter = bvLowered @@ -700,10 +792,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pPaneBorderDark AnchorSideTop.Control = pPaneBorderDark AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pPaneBorderDark + AnchorSideRight.Side = asrBottom Left = 141 Height = 25 Top = 67 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -715,10 +810,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pPaneBorderLight AnchorSideTop.Control = pPaneBorderLight AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pPaneBorderLight + AnchorSideRight.Side = asrBottom Left = 141 Height = 25 Top = 98 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -730,10 +828,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pPaneGradientFrom AnchorSideTop.Control = pPaneGradientFrom AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pPaneGradientFrom + AnchorSideRight.Side = asrBottom Left = 141 Height = 25 Top = 129 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -745,10 +846,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pPaneGradientTo AnchorSideTop.Control = pPaneGradientTo AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = bPaneGradientToColor + AnchorSideRight.Side = asrBottom Left = 141 Height = 23 Top = 160 - Width = 121 + Width = 127 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 ItemHeight = 15 ItemIndex = 0 @@ -767,10 +871,13 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = cbPaneGradientKind AnchorSideTop.Control = cbPaneGradientKind AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = pPaneGradientTo + AnchorSideRight.Side = asrBottom Left = 141 Height = 25 Top = 203 - Width = 121 + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 20 BevelInner = bvRaised BevelOuter = bvLowered @@ -780,12 +887,15 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow end object pPaneCaptionFont: TPanel AnchorSideLeft.Control = pPaneCaptionBackground - AnchorSideTop.Control = pPaneCaptionBackground + AnchorSideTop.Control = pPaneCaptionFontColor AnchorSideTop.Side = asrBottom + AnchorSideRight.Control = bPaneCaptionFontColor + AnchorSideRight.Side = asrBottom Left = 141 Height = 25 - Top = 234 - Width = 57 + Top = 265 + Width = 127 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -794,15 +904,16 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow OnClick = pPaneCaptionFontClick end object pPaneCaptionFontColor: TPanel + AnchorSideLeft.Control = pPaneCaptionBackground AnchorSideTop.Control = pPaneCaptionBackground AnchorSideTop.Side = asrBottom AnchorSideRight.Control = pPaneCaptionBackground AnchorSideRight.Side = asrBottom - Left = 202 + Left = 141 Height = 25 Top = 234 - Width = 60 - Anchors = [akTop, akRight] + Width = 100 + Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 BevelInner = bvRaised BevelOuter = bvLowered @@ -828,12 +939,12 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideLeft.Control = pPaneCaptionFont AnchorSideTop.Control = pPaneCaptionFont AnchorSideTop.Side = asrBottom - AnchorSideRight.Control = pPaneCaptionFontColor + AnchorSideRight.Control = bPaneCaptionFontColor AnchorSideRight.Side = asrBottom Left = 141 Height = 23 - Top = 265 - Width = 121 + Top = 296 + Width = 127 Anchors = [akTop, akLeft, akRight] BorderSpacing.Top = 6 ItemHeight = 15 @@ -858,12 +969,130 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow AnchorSideRight.Side = asrBottom Left = 68 Height = 15 - Top = 269 + Top = 300 Width = 53 Anchors = [akTop, akRight] Caption = 'Pane style' ParentColor = False end + object bPaneBorderDarkColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneBorderDark + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 36 + Width = 25 + AllowAllUp = True + Anchors = [akTop, akLeft, akBottom] + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneBorderDarkColorClick + end + object bPaneBorderLightColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneBorderLight + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 67 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneBorderLightColorClick + end + object bPaneGradientFromColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneGradientFrom + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 98 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneGradientFromColorClick + end + object bPaneGradientToColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneGradientTo + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 129 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneGradientToColorClick + end + object LblCaptionBackground1: TLabel + AnchorSideLeft.Control = TabSheet2 + AnchorSideTop.Control = pPaneCaptionFontColor + AnchorSideTop.Side = asrCenter + AnchorSideRight.Control = LblCaptionBackground + AnchorSideRight.Side = asrBottom + Left = 49 + Height = 15 + Top = 239 + Width = 72 + Anchors = [akTop, akRight] + BorderSpacing.Left = 12 + Caption = 'Caption color' + ParentColor = False + end + object bPaneCaptionBackgroundColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneCaptionBackground + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 203 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneCaptionBackgroundColorClick + end + object bPaneCaptionFontColor: TSpeedButton + AnchorSideLeft.Control = pPaneBorderDark + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = pPaneCaptionFontColor + AnchorSideTop.Side = asrCenter + AnchorSideBottom.Control = pPaneBorderDark + AnchorSideBottom.Side = asrBottom + Left = 243 + Height = 25 + Top = 234 + Width = 25 + AllowAllUp = True + BorderSpacing.Left = 2 + Flat = True + GroupIndex = 1 + OnClick = bPaneCaptionFontColorClick + end end object TabSheet3: TTabSheet Caption = 'Item' @@ -1478,20 +1707,19 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow end end end - object Panel1: TPanel + object ButtonPanel: TPanel Left = 8 - Height = 25 - Top = 487 + Height = 24 + Top = 508 Width = 520 Align = alBottom - AutoSize = True BorderSpacing.Around = 8 BevelOuter = bvNone - ClientHeight = 25 + ClientHeight = 24 ClientWidth = 520 TabOrder = 2 object bOK: TButton - AnchorSideTop.Control = Panel1 + AnchorSideTop.Control = ButtonPanel AnchorSideRight.Control = bCancel Left = 410 Height = 25 @@ -1506,8 +1734,8 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow TabOrder = 0 end object bCancel: TButton - AnchorSideTop.Control = Panel1 - AnchorSideRight.Control = Panel1 + AnchorSideTop.Control = ButtonPanel + AnchorSideRight.Control = ButtonPanel AnchorSideRight.Side = asrBottom Left = 458 Height = 25 @@ -1520,6 +1748,29 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow ModalResult = 2 TabOrder = 1 end + object LblRGB: TLabel + AnchorSideTop.Side = asrCenter + Left = 31 + Height = 15 + Top = 5 + Width = 38 + Caption = 'LblRGB' + ParentColor = False + Visible = False + end + object ColorView: TShape + AnchorSideLeft.Control = ButtonPanel + AnchorSideTop.Control = bOK + AnchorSideBottom.Control = bOK + AnchorSideBottom.Side = asrBottom + Left = 0 + Height = 24 + Top = 0 + Width = 25 + Anchors = [akTop, akLeft, akBottom] + BorderSpacing.Bottom = 1 + Visible = False + end end object cdColorDialog: TColorDialog Color = clBlack @@ -1560,11 +1811,46 @@ object frmAppearanceEditWindow: TfrmAppearanceEditWindow object LargeImages: TImageList Height = 32 Width = 32 - left = 40 + left = 48 top = 464 end object SmallImages: TImageList left = 128 top = 464 + Bitmap = { + 4C69010000001000000010000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000005BA36C7380C4 + 97D986C99CD05AA96E4800000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000005EA16B8187D2A6FFA8E4 + C1FF92DEB1FE65BB81FF50955B1E000000000000000000000000000000000000 + 0000000000000000000000000000437F49003674382185C39AFF82D0A2FF7ED3 + A2FF6BC68DFF63B67EFF4F945A62000000000000000000000000000000000000 + 00000000000000000000000000003E713C3F5BA572F085CEA5FE6DC893FF6CC5 + 8FFF66BB81FF5AA56BFF49874D24000000000000000000000000000000000000 + 000000000000376C2D3F5F9B66E6699B74F54C8866FE6BC28FFF6CC28FFF65BA + 83FE5DAC72FF4B8D528500000000000000000000000000000000000000000000 + 00001A4A112D285B25FFC3DBC8FE76BB8AFF6CBA87FF4C8564FF67BC86FE58A2 + 69FF468548560000000045864F00000000000000000000000000000000000000 + 0000154E15331E4C1DFF295227FF5D9363FF5AAA70FF60B07BFE4D845DFF3D77 + 394400000000000000000000000000000000000000000000000000000000ECEA + EA00FFFFFF1AA8B6A7FC124415FF91A592FF4A8850FF5FAE74FF457942AD0000 + 0000000000000000000000000000000000000000000000000000EAE8E800EFEB + EC15E6E4E4F8D2D0CFFEB2C1B2FCC6D2C8FF3C693DFF4F9359FF40783B790000 + 00000000000000000000000000000000000000000000EAE8E800EDEBEB0EE5E3 + E4F3CBCAC7FEDDDFDBFEF2F0F1FF8E9E8FCA346B3BEF34662DA2000000000000 + 000000000000000000000000000000000000E8E6E600E9E6E607E7E3E4ECCCCB + C9FEDDDEDBFFEEEEEFFFBFBCBCD0000000000000000000000000346328000000 + 0000000000000000000000000000E3E0E000F0E9E903E6E5E5E5CDCACAFEDEDE + DCFFEDECECFEBDBABAD900000000B6B3B3000000000000000000000000000000 + 000000000000000000000000000000000000F0F0F0C1CECBCBFEE0DFDEFFEDED + EDFEBAB8B8E2B7B5B501B7B4B400000000000000000000000000000000000000 + 000000000000000000000000000000000000E4E2E2FFD9D6D6FFECEBEBFEBBB8 + B8EBBBB6B606B8B5B50000000000000000000000000000000000000000000000 + 0000000000000000000000000000E8E7E79ACAC6C6FFBEBBBBFFB8B5B5DDC0BB + BB0DB9B6B6000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000B3B2B100BCB9B9CEACA9A91900000000B8B5 + B500000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000 + } end end diff --git a/components/spktoolbar/designtime/spkte_AppearanceEditor.pas b/components/spktoolbar/designtime/spkte_AppearanceEditor.pas index 01ca390d5..ca19adcf4 100644 --- a/components/spktoolbar/designtime/spkte_AppearanceEditor.pas +++ b/components/spktoolbar/designtime/spkte_AppearanceEditor.pas @@ -6,7 +6,7 @@ interface uses LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, ExtCtrls, StdCtrls, ComCtrls, + Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, SpkGUITools, SpkXMLParser, spkt_Buttons, spkt_BaseItem, spkt_Pane, spkt_Types, spkt_Tab, SpkToolbar, spkt_Appearance; @@ -16,15 +16,29 @@ type { TfrmAppearanceEditWindow } TfrmAppearanceEditWindow = class(TForm) + bInactiveTabHeaderFontColor: TSpeedButton; + bPaneBorderDarkColor: TSpeedButton; + bPaneBorderLightColor: TSpeedButton; + bPaneGradientFromColor: TSpeedButton; + bPaneGradientToColor: TSpeedButton; + bPaneCaptionBackgroundColor: TSpeedButton; + bPaneCaptionFontColor: TSpeedButton; + bTabGradientFromColor: TSpeedButton; + bTabGradientToColor: TSpeedButton; + bActiveTabHeaderFontColor: TSpeedButton; cbPaneStyle: TComboBox; + ColorView: TShape; gbPreview: TGroupBox; Label12: TLabel; + LblCaptionBackground1: TLabel; + LblRGB: TLabel; SmallImages: TImageList; LargeImages: TImageList; Label18: TLabel; LblInactiveTabHeaderFontColor: TLabel; - pInactiveTabHeaderFontColor: TPanel; - Panel1: TPanel; + pInactiveTabHeaderFont: TPanel; + ButtonPanel: TPanel; + bTabFrameColor: TSpeedButton; SpkTab2: TSpkTab; tbPreview: TSpkToolbar; SpkTab1: TSpkTab; @@ -107,7 +121,7 @@ type bCancel: TButton; cdColorDialog: TColorDialog; fdFontDialog: TFontDialog; - pActiveTabHeaderFontColor: TPanel; + pActiveTabHeaderFont: TPanel; pPaneCaptionFontColor: TPanel; TabSheet4: TTabSheet; bImport: TButton; @@ -125,8 +139,20 @@ type procedure bExportClick(Sender: TObject); procedure bImportClick(Sender: TObject); + procedure bInactiveTabHeaderFontColorClick(Sender: TObject); + procedure bPaneBorderDarkColorClick(Sender: TObject); + procedure bPaneBorderLightColorClick(Sender: TObject); + procedure bPaneCaptionBackgroundColorClick(Sender: TObject); + procedure bPaneCaptionFontColorClick(Sender: TObject); + procedure bPaneGradientFromColorClick(Sender: TObject); + procedure bPaneGradientToColorClick(Sender: TObject); procedure bResetClick(Sender: TObject); + procedure bTabBorderColorClick(Sender: TObject); + procedure bTabGradientFromColorClick(Sender: TObject); + procedure bTabGradientToColorClick(Sender: TObject); + procedure bActiveTabHeaderFontColorClick(Sender: TObject); + procedure cbItemActiveGradientKindChange(Sender: TObject); procedure cbItemHottrackGradientKindChange(Sender: TObject); procedure cbItemIdleGradientKindChange(Sender: TObject); @@ -134,16 +160,16 @@ type procedure cbPaneStyleChange(Sender: TObject); procedure cbTabGradientKindChange(Sender: TObject); + procedure cbLinkItemClick(Sender: TObject); + procedure cbLinkPaneClick(Sender: TObject); + procedure cbLinkTabClick(Sender: TObject); + procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); - procedure pActiveTabHeaderFontColorClick(Sender: TObject); - procedure pInactiveTabHeaderFontColorClick(Sender: TObject); - - procedure cbLinkItemClick(Sender: TObject); - procedure cbLinkPaneClick(Sender: TObject); - procedure cbLinkTabClick(Sender: TObject); + procedure pActiveTabHeaderFontClick(Sender: TObject); + procedure pInactiveTabHeaderFontClick(Sender: TObject); procedure pTabFrameClick(Sender: TObject); procedure pTabGradientFromClick(Sender: TObject); @@ -182,7 +208,6 @@ type procedure pTabHeaderFontClick(Sender: TObject); private - { Private declarations } procedure SetLinkedFrameColor(AColor : TColor); procedure SetLinkedGradientFromColor(AColor : TColor); procedure SetLinkedGradientToColor(AColor : TColor); @@ -199,6 +224,19 @@ type procedure SetPanelFont(Panel : TPanel; AFont : TFont); procedure SetComboGradientKind(Combo : TComboBox; GradientType : TBackgroundKind); procedure LoadAppearance(AAppearance : TSpkToolbarAppearance); + + private { Color picker } + FScreenBitmap: TBitmap; + FScreenshotForm: TForm; + function PickColor(APanel: TPanel): Boolean; + procedure ScreenshotKeyDown(Sender: TObject; + var Key: Word; Shift: TShiftState); + procedure ScreenshotMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: integer); + procedure ScreenshotMouseMove(Sender: TObject; + Shift: TShiftState; X, Y: integer); + procedure ScreenshotMouseUp(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: integer); public property Appearance : TSpkToolbarAppearance read GetAppearance write SetAppearance; { Public declarations } @@ -297,6 +335,124 @@ begin Panel.Caption := AFont.Name + ', ' + IntToStr(AFont.Size); end; +procedure TfrmAppearanceEditWindow.bTabBorderColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pTabFrame) then begin + tbPreview.Appearance.Tab.BorderColor := pTabFrame.Color; + if cbLinkTab.checked then + SetLinkedFrameColor(pTabFrame.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bTabGradientFromColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pTabGradientFrom) then begin + tbPreview.Appearance.Tab.GradientFromColor := pTabGradientFrom.Color; + if cbLinkTab.checked then + SetLinkedFrameColor(pTabGradientFrom.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bTabGradientToColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pTabGradientTo) then begin + tbPreview.Appearance.Tab.GradientToColor := pTabGradientTo.Color; + if cbLinkTab.checked then + SetLinkedFrameColor(pTabGradientTo.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bActiveTabHeaderFontColorClick( + Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pActiveTabHeaderFont) then begin + tbPreview.Appearance.Tab.TabHeaderFont.Color := pActiveTabHeaderFont.Color; + tbPreview.ForceRepaint; + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bInactiveTabHeaderFontColorClick( + Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pInactiveTabHeaderFont) then begin + tbPreview.Appearance.Tab.InactiveTabHeaderFontColor := pInactiveTabHeaderFont.Color; + tbPreview.ForceRepaint; + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneBorderDarkColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneBorderDark) then begin + tbPreview.Appearance.Pane.BorderDarkColor := pPaneBorderDark.Color; + if cbLinkPane.Checked then + SetLinkedFrameColor(pPaneBorderDark.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneBorderLightColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneBorderLight) then begin + tbPreview.Appearance.Pane.BorderLightColor := pPaneBorderLight.Color; + if cbLinkPane.Checked then + SetLinkedFrameColor(pPaneBorderLight.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneCaptionBackgroundColorClick( + Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneCaptionBackground) then + tbPreview.Appearance.Pane.CaptionBgColor := pPaneCaptionBackground.Color; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneCaptionFontColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneCaptionFontColor) then begin + tbPreview.Appearance.Pane.CaptionFont.Color := pPaneCaptionFontColor.Color; + tbPreview.ForceRepaint; + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneGradientFromColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneGradientFrom) then begin + tbPreview.Appearance.Pane.GradientFromColor := pPaneGradientFrom.Color; + if cbLinkPane.Checked then + SetLinkedFrameColor(pPaneGradientFrom.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + +procedure TfrmAppearanceEditWindow.bPaneGradientToColorClick(Sender: TObject); +begin + (Sender as TSpeedButton).Down := true; + if PickColor(pPaneGradientTo) then begin + tbPreview.Appearance.Pane.GradientToColor := pPaneGradientTo.Color; + if cbLinkPane.Checked then + SetLinkedFrameColor(pPaneGradientTo.Color) + end; + (Sender as TSpeedButton).Down := false; +end; + procedure TfrmAppearanceEditWindow.SwitchAttributesLink(const Value: boolean); begin cbLinkTab.checked := Value; @@ -383,6 +539,19 @@ begin LargeImages.AddIcon(Application.Icon); SmallImages.AddIcon(Application.Icon); + SmallImages.GetBitmap(0, bTabFrameColor.Glyph); + SmallImages.GetBitmap(0, bTabGradientFromColor.Glyph); + SmallImages.GetBitmap(0, bTabGradientToColor.Glyph); + SmallImages.GetBitmap(0, bActiveTabHeaderFontColor.Glyph); + SmallImages.GetBitmap(0, bInactiveTabHeaderFontColor.Glyph); + + SmallImages.GetBitmap(0, bPaneBorderDarkColor.Glyph); + SmallImages.GetBitmap(0, bPaneBorderLightColor.Glyph); + SmallImages.GetBitmap(0, bPaneGradientFromColor.Glyph); + SmallImages.GetBitmap(0, bPaneGradientToColor.Glyph); + SmallImages.GetBitmap(0, bPaneCaptionBackgroundColor.Glyph); + SmallImages.GetBitmap(0, bPaneCaptionFontColor.Glyph); + PageControl1.PageIndex := CurrPageIndex; end; @@ -407,8 +576,8 @@ begin SetPanelColor(pTabGradientTo, GradientToColor); SetComboGradientKind(cbTabGradientKind, GradientType); SetPanelFont(pTabHeaderFont, TabHeaderFont); - SetPanelColor(pActiveTabHeaderFontColor, TabHeaderFont.Color); - SetPanelColor(pInactiveTabHeaderFontColor, InactiveTabHeaderFontColor); + SetPanelColor(pActiveTabHeaderFont, TabHeaderFont.Color); + SetPanelColor(pInactiveTabHeaderFont, InactiveTabHeaderFontColor); end; with Pane do @@ -673,7 +842,6 @@ begin if ChangeColor(Sender as TPanel) then begin tbPreview.Appearance.Pane.GradientFromColor:=(Sender as TPanel).Color; - if cbLinkPane.Checked then SetLinkedGradientFromColor((Sender as TPanel).Color); end; @@ -728,7 +896,6 @@ begin if ChangeColor(Sender as TPanel) then begin tbPreview.Appearance.Tab.GradientToColor := (Sender as TPanel).Color; - if cbLinkTab.Checked then SetLinkedGradientToColor((Sender as TPanel).Color); end; @@ -742,7 +909,7 @@ begin end; end; -procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontColorClick(Sender: TObject); +procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontClick(Sender: TObject); begin if ChangeColor(Sender as TPanel) then begin @@ -751,7 +918,7 @@ begin end; end; -procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontColorClick( +procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontClick( Sender: TObject); begin if ChangeColor(Sender as TPanel) then @@ -761,4 +928,103 @@ begin end; end; +function TfrmAppearanceEditWindow.PickColor(APanel: TPanel): Boolean; +var + screenDC: HDC; + cvOrigin: TPoint; + rgbOrigin: TPoint; + P: TPoint; + img: TImage; +begin + FScreenshotForm := TForm.Create(self); + FScreenBitmap := TBitmap.Create; + try + screenDC := GetDC(0); + try + FScreenBitmap.LoadFromDevice(ScreenDC); + finally + ReleaseDC(0, screenDC); + end; + + FScreenshotForm.BorderStyle := bsNone; + FScreenshotForm.FormStyle := fsStayOnTop; + FScreenshotForm.SetBounds(0, 0, Screen.Width, Screen.Height); + + img := TImage.Create(FScreenshotForm); + img.Picture.Bitmap := FScreenBitmap; + img.Parent := FScreenshotForm; + img.Align := alClient; + + cvOrigin := ColorView.BoundsRect.TopLeft; + P := ColorView.ClientToScreen(Point(0, 0)); + ColorView.Parent := FScreenshotForm; + ColorView.Top := P.Y; + ColorView.Left := P.X; + ColorView.Show; + + rgbOrigin := LblRGB.BoundsRect.TopLeft; + P := LblRGB.ClientToScreen(Point(0, 0)); + LblRGB.Parent := FScreenshotForm; + LblRGB.Top := P.Y; + LblRGB.Left := P.X; + LblRGB.Show; + + // Screen.Cursors[1] := LoadCursorFromLazarusResource('picker'); + FScreenshotForm.Cursor := crCross; //1; + img.Cursor := crCross; //1; + + FScreenshotForm.OnKeyDown := ScreenshotKeyDown; + img.OnMouseUp := ScreenshotMouseUp; + img.OnMouseDown := ScreenshotMouseDown; + img.OnMouseMove := ScreenshotMouseMove; + + Result := FScreenshotForm.ShowModal = mrOK; + if Result then + SetPanelColor(APanel, ColorView.Brush.Color); + + ColorView.Hide; + ColorView.Top := cvOrigin.Y; + ColorView.Left := cvOrigin.X; + ColorView.Parent := ButtonPanel; + + LblRGB.Hide; + LblRGB.Top := rgbOrigin.Y; + LblRGB.Left := rgbOrigin.X; + LblRGB.Parent := ButtonPanel; + + finally + FScreenshotForm.Free; + FScreenBitmap.Free; + end; +end; + +procedure TfrmAppearanceEditWindow.ScreenshotKeyDown(Sender: TObject; + var Key: Word; Shift: TShiftState); +begin + case Key of + VK_ESCAPE: FScreenshotForm.ModalResult := mrCancel; + VK_RETURN: FScreenshotForm.ModalResult := mrOK; + end; +end; + +procedure TfrmAppearanceEditWindow.ScreenshotMouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: integer); +begin + ColorView.Brush.Color := FScreenBitmap.Canvas.Pixels[X, Y]; + LblRGB.Caption := '$' + IntToHex(ColorView.Brush.Color, 8); +end; + +procedure TfrmAppearanceEditWindow.ScreenshotMouseMove(Sender: TObject; + Shift: TShiftState; X, Y: integer); +begin + ColorView.Brush.Color := FScreenBitmap.Canvas.Pixels[X, Y]; + LblRGB.Caption := '$' + IntToHex(ColorView.Brush.Color, 8); +end; + +procedure TfrmAppearanceEditWindow.ScreenshotMouseUp(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: integer); +begin + FScreenshotForm.ModalResult := mrOK; +end; + end.