Files
lazarus-ccr/components/spktoolbar/designtime/spkte_AppearanceEditor.pas

743 lines
23 KiB
ObjectPascal
Raw Normal View History

unit spkte_AppearanceEditor;
{$MODE Delphi}
interface
uses
LCLIntf, LCLType, LMessages, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls,
SpkGUITools, SpkXMLParser,
spkt_Buttons, spkt_BaseItem, spkt_Pane, spkt_Types, spkt_Tab, SpkToolbar,
spkt_Appearance;
type
TfrmAppearanceEditWindow = class(TForm)
gbPreview: TGroupBox;
tbPreview: TSpkToolbar;
SpkTab1: TSpkTab;
SpkPane1: TSpkPane;
SpkLargeButton1: TSpkLargeButton;
SpkLargeButton3: TSpkLargeButton;
SpkLargeButton2: TSpkLargeButton;
SpkPane2: TSpkPane;
SpkSmallButton1: TSpkSmallButton;
SpkSmallButton2: TSpkSmallButton;
SpkSmallButton3: TSpkSmallButton;
SpkPane3: TSpkPane;
SpkSmallButton4: TSpkSmallButton;
SpkSmallButton5: TSpkSmallButton;
SpkSmallButton6: TSpkSmallButton;
SpkSmallButton7: TSpkSmallButton;
SpkSmallButton8: TSpkSmallButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Label2: TLabel;
pTabFrame: TPanel;
pTabGradientFrom: TPanel;
Label3: TLabel;
Label4: TLabel;
pTabGradientTo: TPanel;
cbTabGradientKind: TComboBox;
Label5: TLabel;
Label6: TLabel;
pTabHeaderFont: TPanel;
Label8: TLabel;
pPaneBorderDark: TPanel;
pPaneBorderLight: TPanel;
Label21: TLabel;
Label9: TLabel;
pPaneGradientFrom: TPanel;
pPaneGradientTo: TPanel;
Label10: TLabel;
Label11: TLabel;
cbPaneGradientKind: TComboBox;
pPaneCaptionBackground: TPanel;
Label12: TLabel;
Label13: TLabel;
pPaneCaptionFont: TPanel;
Label1: TLabel;
Label7: TLabel;
Label14: TLabel;
Label25: TLabel;
Label26: TLabel;
pItemFont: TPanel;
cbItemIdleGradientKind: TComboBox;
pItemIdleGradientTo: TPanel;
pItemIdleGradientFrom: TPanel;
pItemIdleFrame: TPanel;
Label27: TLabel;
Label28: TLabel;
pItemIdleCaptionColor: TPanel;
Label29: TLabel;
pItemIdleInnerDark: TPanel;
Label30: TLabel;
pItemIdleInnerLight: TPanel;
cbItemHottrackGradientKind: TComboBox;
pItemHottrackGradientTo: TPanel;
pItemHottrackGradientFrom: TPanel;
pItemHottrackFrame: TPanel;
Label15: TLabel;
pItemHottrackCaptionColor: TPanel;
pItemHottrackInnerDark: TPanel;
pItemHottrackInnerLight: TPanel;
cbItemActiveGradientKind: TComboBox;
pItemActiveGradientTo: TPanel;
pItemActiveGradientFrom: TPanel;
pItemActiveFrame: TPanel;
Label16: TLabel;
pItemActiveCaptionColor: TPanel;
pItemActiveInnerDark: TPanel;
pItemActiveInnerLight: TPanel;
bOK: TButton;
bCancel: TButton;
cdColorDialog: TColorDialog;
fdFontDialog: TFontDialog;
pTabHeaderFontColor: TPanel;
pPaneCaptionFontColor: TPanel;
TabSheet4: TTabSheet;
bImport: TButton;
bExport: TButton;
mXML: TMemo;
sTabRectangle: TShape;
cbLinkTab: TCheckBox;
sPaneRectangle: TShape;
cbLinkPane: TCheckBox;
cbLinkItem: TCheckBox;
sItemRectangle: TShape;
TabSheet5: TTabSheet;
Label17: TLabel;
bReset: TButton;
procedure pTabFrameClick(Sender: TObject);
procedure pTabGradientFromClick(Sender: TObject);
procedure pTabGradientToClick(Sender: TObject);
procedure pPaneBorderDarkClick(Sender: TObject);
procedure pPaneBorderLightClick(Sender: TObject);
procedure pPaneGradientFromClick(Sender: TObject);
procedure pPaneGradientToClick(Sender: TObject);
procedure pPaneCaptionBackgroundClick(Sender: TObject);
procedure pItemIdleFrameClick(Sender: TObject);
procedure pItemIdleGradientFromClick(Sender: TObject);
procedure pItemIdleGradientToClick(Sender: TObject);
procedure pItemIdleCaptionColorClick(Sender: TObject);
procedure pItemIdleInnerDarkClick(Sender: TObject);
procedure pItemIdleInnerLightClick(Sender: TObject);
procedure pItemHottrackFrameClick(Sender: TObject);
procedure pItemHottrackGradientFromClick(Sender: TObject);
procedure pItemHottrackGradientToClick(Sender: TObject);
procedure pItemHottrackCaptionColorClick(Sender: TObject);
procedure pItemHottrackInnerDarkClick(Sender: TObject);
procedure pItemHottrackInnerLightClick(Sender: TObject);
procedure pItemActiveFrameClick(Sender: TObject);
procedure pItemActiveGradientFromClick(Sender: TObject);
procedure pItemActiveGradientToClick(Sender: TObject);
procedure pItemActiveCaptionColorClick(Sender: TObject);
procedure pItemActiveInnerDarkClick(Sender: TObject);
procedure pItemActiveInnerLightClick(Sender: TObject);
procedure pTabHeaderFontClick(Sender: TObject);
procedure pPaneCaptionFontClick(Sender: TObject);
procedure pItemFontClick(Sender: TObject);
procedure cbTabGradientKindChange(Sender: TObject);
procedure cbPaneGradientKindChange(Sender: TObject);
procedure cbItemIdleGradientKindChange(Sender: TObject);
procedure cbItemHottrackGradientKindChange(Sender: TObject);
procedure cbItemActiveGradientKindChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure pTabHeaderFontColorClick(Sender: TObject);
procedure pPaneCaptionFontColorClick(Sender: TObject);
procedure bExportClick(Sender: TObject);
procedure bImportClick(Sender: TObject);
procedure cbLinkTabClick(Sender: TObject);
procedure cbLinkPaneClick(Sender: TObject);
procedure cbLinkItemClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
private
{ Private declarations }
procedure SetLinkedFrameColor(AColor : TColor);
procedure SetLinkedGradientFromColor(AColor : TColor);
procedure SetLinkedGradientToColor(AColor : TColor);
procedure SetLinkedGradientKind(AKindIndex : integer);
function GetAppearance: TSpkToolbarAppearance;
procedure SetAppearance(const Value: TSpkToolbarAppearance);
procedure SwitchAttributesLink(const Value : boolean);
function ChangeColor(Panel : TPanel) : boolean;
procedure SetPanelColor(Panel: TPanel; AColor : TColor);
function ChangeFont(Panel : TPanel) : boolean;
procedure SetPanelFont(Panel : TPanel; AFont : TFont);
procedure SetComboGradientKind(Combo : TComboBox; GradientType : TBackgroundKind);
procedure LoadAppearance(AAppearance : TSpkToolbarAppearance);
public
property Appearance : TSpkToolbarAppearance read GetAppearance write SetAppearance;
{ Public declarations }
end;
var
frmAppearanceEditWindow: TfrmAppearanceEditWindow;
implementation
{$R *.lfm}
{ TForm3 }
procedure TfrmAppearanceEditWindow.SetAppearance(const Value: TSpkToolbarAppearance);
begin
tbPreview.Appearance.Assign(Value);
end;
procedure TfrmAppearanceEditWindow.SetComboGradientKind(Combo: TComboBox;
GradientType: TBackgroundKind);
begin
case GradientType of
bkSolid: Combo.itemindex:=0;
bkHorizontalGradient: Combo.itemindex:=1;
bkVerticalGradient: Combo.itemindex:=2;
bkConcave: Combo.itemindex:=3;
end;
end;
procedure TfrmAppearanceEditWindow.SetLinkedFrameColor(AColor: TColor);
begin
tbPreview.Appearance.Tab.BorderColor:=AColor;
SetPanelColor(pTabFrame, AColor);
tbPreview.Appearance.Pane.BorderDarkColor:=AColor;
SetPanelColor(pPaneBorderDark, AColor);
tbPreview.Appearance.Element.IdleFrameColor:=AColor;
SetPanelColor(pItemIdleFrame, AColor);
end;
procedure TfrmAppearanceEditWindow.SetLinkedGradientFromColor(AColor: TColor);
begin
tbPreview.Appearance.Tab.GradientFromColor:=AColor;
SetPanelColor(pTabGradientFrom, AColor);
tbPreview.Appearance.Pane.GradientFromColor:=AColor;
SetPanelColor(pPaneGradientFrom, AColor);
tbPreview.Appearance.Element.IdleGradientFromColor:=AColor;
SetPanelColor(pItemIdleGradientFrom, AColor);
end;
procedure TfrmAppearanceEditWindow.SetLinkedGradientKind(AKindIndex: integer);
var Kind : TBackgroundKind;
begin
case AKindIndex of
0 : Kind:=bkSolid;
1 : Kind:=bkHorizontalGradient;
2 : Kind:=bkVerticalGradient;
3 : Kind:=bkConcave;
else Kind:=bkSolid;
end;
tbPreview.Appearance.Tab.GradientType:=Kind;
SetComboGradientKind(cbTabGradientKind, Kind);
tbPreview.Appearance.Pane.GradientType:=Kind;
SetComboGradientKind(cbPaneGradientKind, Kind);
tbPreview.Appearance.Element.IdleGradientType:=Kind;
SetComboGradientKind(cbItemIdleGradientKind, Kind);
end;
procedure TfrmAppearanceEditWindow.SetLinkedGradientToColor(AColor: TColor);
begin
tbPreview.Appearance.Tab.GradientToColor:=AColor;
SetPanelColor(pTabGradientTo, AColor);
tbPreview.Appearance.Pane.GradientToColor:=AColor;
SetPanelColor(pPaneGradientTo, AColor);
tbPreview.Appearance.Element.IdleGradientToColor:=AColor;
SetPanelColor(pItemIdleGradientTo, AColor);
end;
procedure TfrmAppearanceEditWindow.SetPanelColor(Panel: TPanel; AColor : TColor);
begin
Panel.Color := AColor;
if Panel.Color<>AColor then
Showmessage('lipa!');
if (GetRValue(AColor) + GetGValue(AColor) + GetBValue(AColor)) div 3 >= 128 then
Panel.Font.Color := clBlack
else
Panel.Font.Color := clWhite;
Panel.Caption := '$' + IntToHex(AColor, 8);
end;
procedure TfrmAppearanceEditWindow.SetPanelFont(Panel: TPanel; AFont: TFont);
begin
Panel.Font.assign(AFont);
Panel.Caption:=AFont.Name+', '+inttostr(AFont.Size);
end;
procedure TfrmAppearanceEditWindow.SwitchAttributesLink(const Value: boolean);
begin
cbLinkTab.checked:=Value;
cbLinkPane.Checked:=Value;
cbLinkItem.Checked:=Value;
sTabRectangle.visible:=Value;
sPaneRectangle.Visible:=Value;
sItemRectangle.Visible:=Value;
end;
procedure TfrmAppearanceEditWindow.cbItemHottrackGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.HottrackGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.HottrackGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.HottrackGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.HottrackGradientType:=bkConcave;
end;
end;
procedure TfrmAppearanceEditWindow.cbItemIdleGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.IdleGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.IdleGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.IdleGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.IdleGradientType:=bkConcave;
end;
if cbLinkItem.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.cbLinkItemClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkItem.Checked);
end;
procedure TfrmAppearanceEditWindow.cbLinkPaneClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkPane.Checked);
end;
procedure TfrmAppearanceEditWindow.cbLinkTabClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkTab.Checked);
end;
procedure TfrmAppearanceEditWindow.cbTabGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Tab.GradientType:=bkSolid;
1 : tbPreview.Appearance.Tab.GradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Tab.GradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Tab.GradientType:=bkConcave;
end;
if cbLinkTab.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
function TfrmAppearanceEditWindow.ChangeColor(Panel: TPanel): boolean;
begin
cdColorDialog.Color:=Panel.Color;
if cdColorDialog.Execute then
begin
SetPanelColor(Panel, cdColorDialog.Color);
result:=true
end
else
result:=false;
end;
function TfrmAppearanceEditWindow.ChangeFont(Panel: TPanel): boolean;
begin
fdFontDialog.Font.assign(Panel.font);
if fdFontDialog.Execute then
begin
SetPanelFont(Panel, fdFontDialog.Font);
result:=true;
end
else
result:=false;
end;
procedure TfrmAppearanceEditWindow.FormShow(Sender: TObject);
begin
LoadAppearance(tbPreview.Appearance);
end;
function TfrmAppearanceEditWindow.GetAppearance: TSpkToolbarAppearance;
begin
result:=tbPreview.Appearance;
end;
procedure TfrmAppearanceEditWindow.LoadAppearance(AAppearance: TSpkToolbarAppearance);
begin
with AAppearance do
begin
with Tab do
begin
SetPanelColor(pTabFrame, BorderColor);
SetPanelColor(pTabGradientFrom, GradientFromColor);
SetPanelColor(pTabGradientTo, GradientToColor);
SetComboGradientKind(cbTabGradientKind, GradientType);
SetPanelFont(pTabHeaderFont, TabHeaderFont);
SetPanelColor(pTabHeaderFontColor, TabHeaderFont.Color);
end;
with Pane do
begin
SetPanelColor(pPaneBorderDark, BorderDarkColor);
SetPanelColor(pPaneBorderLight, BorderLightColor);
SetPanelColor(pPaneGradientFrom, GradientFromColor);
SetPanelColor(pPaneGradientTo, GradientToColor);
SetComboGradientKind(cbPaneGradientKind, GradientType);
SetPanelColor(pPaneCaptionBackground, CaptionBgColor);
SetPanelFont(pPaneCaptionFont, CaptionFont);
SetPanelColor(pPaneCaptionFontColor, CaptionFont.Color);
end;
with Element do
begin
SetPanelFont(pItemFont, CaptionFont);
SetPanelColor(pItemIdleFrame, IdleFrameColor);
SetPanelColor(pItemIdleGradientFrom, IdleGradientFromColor);
SetPanelColor(pItemIdleGradientTo, IdleGradientToColor);
SetComboGradientKind(cbItemIdleGradientKind, IdleGradientType);
SetPanelColor(pItemIdleCaptionColor, IdleCaptionColor);
SetPanelColor(pItemIdleInnerDark, IdleInnerDarkColor);
SetPanelColor(pItemIdleInnerLight, IdleInnerLightColor);
SetPanelColor(pItemHottrackFrame, HottrackFrameColor);
SetPanelColor(pItemHottrackGradientFrom, HottrackGradientFromColor);
SetPanelColor(pItemHottrackGradientTo, HottrackGradientToColor);
SetComboGradientKind(cbItemHottrackGradientKind, HottrackGradientType);
SetPanelColor(pItemHottrackCaptionColor, HottrackCaptionColor);
SetPanelColor(pItemHottrackInnerDark, HottrackInnerDarkColor);
SetPanelColor(pItemHottrackInnerLight, HottrackInnerLightColor);
SetPanelColor(pItemActiveFrame, ActiveFrameColor);
SetPanelColor(pItemActiveGradientFrom, ActiveGradientFromColor);
SetPanelColor(pItemActiveGradientTo, ActiveGradientToColor);
SetComboGradientKind(cbItemActiveGradientKind, ActiveGradientType);
SetPanelColor(pItemActiveCaptionColor, ActiveCaptionColor);
SetPanelColor(pItemActiveInnerDark, ActiveInnerDarkColor);
SetPanelColor(pItemActiveInnerLight, ActiveInnerLightColor);
end;
end;
end;
procedure TfrmAppearanceEditWindow.pItemActiveCaptionColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveCaptionColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemActiveFrameClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveFrameColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemActiveGradientFromClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveGradientFromColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.bExportClick(Sender: TObject);
var Xml : TSpkXMLParser;
Node : TSpkXMLNode;
begin
XML:=TSpkXMLParser.Create;
try
Node:=XML['Appearance',true];
tbPreview.Appearance.SaveToXML(Node);
mXML.Clear;
mXml.Text:=XML.Generate;
finally
XML.Free;
end;
end;
procedure TfrmAppearanceEditWindow.bImportClick(Sender: TObject);
var XML : TSpkXMLParser;
Node: TSpkXMLNode;
begin
tbPreview.BeginUpdate;
XML:=TSpkXMLParser.Create;
try
XML.Parse(PChar(mXML.text));
Node:=XML['Appearance',false];
if assigned(Node) then
tbPreview.Appearance.LoadFromXML(Node);
LoadAppearance(tbPreview.Appearance);
finally
XML.Free;
tbPreview.EndUpdate;
tbPreview.ForceRepaint;
end;
end;
procedure TfrmAppearanceEditWindow.bResetClick(Sender: TObject);
begin
tbPreview.Appearance.Reset;
LoadAppearance(tbPreview.Appearance);
end;
procedure TfrmAppearanceEditWindow.cbItemActiveGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Element.ActiveGradientType:=bkSolid;
1 : tbPreview.Appearance.Element.ActiveGradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Element.ActiveGradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Element.ActiveGradientType:=bkConcave;
end;
end;
procedure TfrmAppearanceEditWindow.pItemActiveGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveGradientToColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemActiveInnerDarkClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveInnerDarkColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemActiveInnerLightClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveInnerLightColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackCaptionColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackCaptionColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackFrameClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackFrameColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackGradientFromClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackGradientFromColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackGradientToColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackInnerDarkClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackInnerDarkColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemHottrackInnerLightClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.HotTrackInnerLightColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemIdleCaptionColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.IdleCaptionColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemIdleFrameClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleFrameColor:=(Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pItemIdleGradientFromClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleGradientFromColor:=(Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pItemIdleGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Element.IdleGradientToColor:=(Sender as TPanel).Color;
if cbLinkItem.Checked then
SetLinkedGradientToColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pItemIdleInnerDarkClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.IdleInnerDarkColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemIdleInnerLightClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.IdleInnerLightColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pItemFontClick(Sender: TObject);
begin
if ChangeFont(Sender as TPanel) then
tbPreview.Appearance.Element.CaptionFont.Assign((Sender as TPanel).Font);
tbPreview.ForceRepaint;
end;
procedure TfrmAppearanceEditWindow.pPaneBorderDarkClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.BorderDarkColor:=(Sender as TPanel).Color;
if cbLinkPane.Checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pPaneBorderLightClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Pane.BorderLightColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pPaneCaptionBackgroundClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Pane.CaptionBgColor:=(Sender as TPanel).Color;
end;
procedure TfrmAppearanceEditWindow.pPaneCaptionFontClick(Sender: TObject);
begin
if ChangeFont(Sender as TPanel) then
tbPreview.Appearance.Pane.CaptionFont.Assign((Sender as TPanel).Font);
tbPreview.ForceRepaint;
end;
procedure TfrmAppearanceEditWindow.pPaneCaptionFontColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.CaptionFont.Color:=((Sender as TPanel).Color);
pPaneCaptionFont.Font.color:=((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pPaneGradientFromClick(Sender: TObject);
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;
end;
procedure TfrmAppearanceEditWindow.cbPaneGradientKindChange(Sender: TObject);
begin
case (Sender as TCombobox).ItemIndex of
0 : tbPreview.Appearance.Pane.GradientType:=bkSolid;
1 : tbPreview.Appearance.Pane.GradientType:=bkHorizontalGradient;
2 : tbPreview.Appearance.Pane.GradientType:=bkVerticalGradient;
3 : tbPreview.Appearance.Pane.GradientType:=bkConcave;
end;
if cbLinkPane.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.pPaneGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.GradientToColor:=(Sender as TPanel).Color;
if cbLinkPane.Checked then
SetLinkedGradientToColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pTabFrameClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.BorderColor:=(Sender as TPanel).Color;
if cbLinkTab.checked then
SetLinkedFrameColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pTabGradientFromClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.GradientFromColor:=(Sender as TPanel).Color;
if cbLinkTab.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color);
end;
end;
procedure TfrmAppearanceEditWindow.pTabGradientToClick(Sender: TObject);
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;
end;
procedure TfrmAppearanceEditWindow.pTabHeaderFontClick(Sender: TObject);
begin
if ChangeFont(Sender as TPanel) then
tbPreview.Appearance.Tab.TabHeaderFont.Assign((Sender as TPanel).Font);
tbPreview.ForceRepaint;
end;
procedure TfrmAppearanceEditWindow.pTabHeaderFontColorClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.TabHeaderFont.Color:=((Sender as TPanel).Color);
pTabHeaderFont.Font.color:=((Sender as TPanel).Color);
end;
end;
end.