SpkToolbar: Beginning to add a screen color picker to Appearance Editor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5351 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-11-14 23:32:02 +00:00
parent b4cb2a0de2
commit ab3f9982c5
2 changed files with 643 additions and 91 deletions

View File

@ -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

View File

@ -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.