spktoolbar: Improved layout of Appearance editor. Add new tab appearance property .InactiveTabHeaderFontColor.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5347 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2016-11-13 23:42:13 +00:00
parent 0c39438e61
commit f5e3227e71
4 changed files with 1607 additions and 641 deletions

View File

@ -1374,7 +1374,7 @@ procedure TSpkToolbar.ValidateBuffer;
CurrentAppearance: TSpkToolbarAppearance;
FocusedAppearance: TSpkToolbarAppearance;
procedure DrawTabText(index: integer; AFont: TFont);
procedure DrawTabText(index: integer; AFont: TFont; AOverrideTextColor: TColor = clNone);
var
x, y: integer;
TabRect: T2DIntRect;
@ -1382,6 +1382,8 @@ procedure TSpkToolbar.ValidateBuffer;
TabRect := FTabRects[index];
FBuffer.canvas.font.Assign(AFont);
if AOverrideTextColor <> clNone then
FBuffer.Canvas.Font.Color := AOverrideTextColor;
x := TabRect.left + (TabRect.Width - FBuffer.Canvas.textwidth(
FTabs[index].Caption)) div 2;
y := TabRect.top + (TabRect.Height - FBuffer.Canvas.Textheight('Wy')) div 2;
@ -1571,7 +1573,7 @@ procedure TSpkToolbar.ValidateBuffer;
TabRect := FTabRects[i];
// Tab is drawn
if i = FTabIndex then
if i = FTabIndex then // active tab
begin
if i = FTabHover then
begin
@ -1595,7 +1597,7 @@ procedure TSpkToolbar.ValidateBuffer;
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont);
end
else
begin
begin // inactive tab
if i = FTabHover then
begin
DrawTab(i,
@ -1614,7 +1616,8 @@ procedure TSpkToolbar.ValidateBuffer;
DrawBottomLine(i, FocusedAppearance.Tab.BorderColor);
// Text
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont);
DrawTabText(i, CurrentAppearance.Tab.TabHeaderFont,
CurrentAppearance.Tab.InactiveTabHeaderFontColor);
end;
end;
end;

View File

@ -27,6 +27,7 @@ type TSpkTabAppearance = class(TPersistent)
FGradientFromColor : TColor;
FGradientToColor : TColor;
FGradientType : TBackgroundKind;
FInactiveHeaderFontColor: TColor;
// *** Gettery i settery ***
@ -35,6 +36,7 @@ type TSpkTabAppearance = class(TPersistent)
procedure SetGradientFromColor(const Value: TColor);
procedure SetGradientToColor(const Value: TColor);
procedure SetGradientType(const Value: TBackgroundKind);
procedure SetInactiveHeaderFontColor(const Value: TColor);
public
// *** Konstruktor, destruktor, assign ***
// <remarks>Appearance musi mieæ assign, bo wystêpuje jako w³asnoœæ
@ -51,6 +53,7 @@ type TSpkTabAppearance = class(TPersistent)
property GradientFromColor : TColor read FGradientFromColor write SetGradientFromColor;
property GradientToColor : TColor read FGradientToColor write SetGradientToColor;
property GradientType : TBackgroundKind read FGradientType write SetGradientType;
property InactiveTabHeaderFontColor: TColor read FInactiveHeaderFontColor write SetInactiveHeaderFontColor;
end;
type TSpkPaneAppearance = class(TPersistent)
@ -73,20 +76,20 @@ type TSpkPaneAppearance = class(TPersistent)
procedure SetGradientType(const Value: TBackgroundKind);
procedure SetCaptionBgColor(const Value: TColor);
public
procedure Assign(Source : TPersistent); override;
constructor Create(ADispatch : TSpkBaseAppearanceDispatch);
procedure SaveToXML(Node : TSpkXMLNode);
procedure LoadFromXML(Node : TSpkXMLNode);
procedure Assign(Source: TPersistent); override;
constructor Create(ADispatch: TSpkBaseAppearanceDispatch);
procedure SaveToXML(Node: TSpkXMLNode);
procedure LoadFromXML(Node: TSpkXMLNode);
destructor Destroy; override;
procedure Reset;
published
property CaptionFont : TFont read FCaptionFont write SetCaptionFont;
property BorderDarkColor : TColor read FBorderDarkColor write SetBorderDarkColor;
property BorderLightColor : TColor read FBorderLightColor write SetBorderLightColor;
property GradientFromColor : TColor read FGradientFromColor write SetGradientFromColor;
property GradientToColor : TColor read FGradientToColor write SetGradientToColor;
property GradientType : TBackgroundKind read FGradientType write SetGradientType;
property CaptionBgColor : TColor read FCaptionBgColor write SetCaptionBgColor;
property BorderDarkColor: TColor read FBorderDarkColor write SetBorderDarkColor;
property BorderLightColor: TColor read FBorderLightColor write SetBorderLightColor;
property CaptionBgColor: TColor read FCaptionBgColor write SetCaptionBgColor;
property CaptionFont: TFont read FCaptionFont write SetCaptionFont;
property GradientFromColor: TColor read FGradientFromColor write SetGradientFromColor;
property GradientToColor: TColor read FGradientToColor write SetGradientToColor;
property GradientType: TBackgroundKind read FGradientType write SetGradientType;
end;
type TSpkElementAppearance = class(TPersistent)
@ -217,24 +220,23 @@ uses
{ TSpkBaseToolbarAppearance }
procedure TSpkTabAppearance.Assign(Source: TPersistent);
var SrcAppearance : TSpkTabAppearance;
var
SrcAppearance: TSpkTabAppearance;
begin
if Source is TSpkTabAppearance then
begin
begin
SrcAppearance:=TSpkTabAppearance(Source);
FTabHeaderFont.assign(SrcAppearance.TabHeaderFont);
FTabHeaderFont.Assign(SrcAppearance.TabHeaderFont);
FBorderColor:=SrcAppearance.BorderColor;
FGradientFromColor:=SrcAppearance.GradientFromColor;
FGradientToColor:=SrcAppearance.GradientToColor;
FGradientType:=SrcAppearance.GradientType;
FInactiveHeaderFontColor := SrcAppearance.InactiveTabHeaderFontColor;
if FDispatch<>nil then
FDispatch.NotifyAppearanceChanged;
end else
raise AssignException.create('TSpkToolbarAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkToolbarAppearance!');
end else
raise AssignException.create('TSpkToolbarAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkToolbarAppearance!');
end;
constructor TSpkTabAppearance.Create(
@ -255,32 +257,35 @@ begin
end;
procedure TSpkTabAppearance.LoadFromXML(Node: TSpkXMLNode);
var Subnode : TSpkXMLNode;
var
Subnode : TSpkXMLNode;
begin
if not(assigned(Node)) then
exit;
if not(assigned(Node)) then
exit;
Subnode:=Node['TabHeaderFont',false];
if assigned(Subnode) then
TSpkXMLTools.Load(Subnode, FTabHeaderFont);
Subnode:=Node['TabHeaderFont',false];
if Assigned(Subnode) then
TSpkXMLTools.Load(Subnode, FTabHeaderFont);
Subnode:=Node['BorderColor',false];
if assigned(Subnode) then
FBorderColor:=Subnode.TextAsColor;
Subnode:=Node['BorderColor',false];
if assigned(Subnode) then
FBorderColor:=Subnode.TextAsColor;
Subnode:=Node['GradientFromColor',false];
if assigned(Subnode) then
FGradientFromColor:=Subnode.TextAsColor;
Subnode:=Node['GradientFromColor',false];
if assigned(Subnode) then
FGradientFromColor:=Subnode.TextAsColor;
Subnode:=Node['GradientToColor',false];
if assigned(Subnode) then
FGradientToColor:=Subnode.TextAsColor;
Subnode:=Node['GradientToColor',false];
if assigned(Subnode) then
FGradientToColor:=Subnode.TextAsColor;
Subnode:=Node['GradientType',false];
if assigned(Subnode) then
FGradientType:=TBackgroundKind(Subnode.TextAsInteger);
Subnode:=Node['GradientType',false];
if assigned(Subnode) then
FGradientType:=TBackgroundKind(Subnode.TextAsInteger);
Subnode := Node['InactiveTabHeaderFontColor', false];
if Assigned(Subnode) then
FInactiveHeaderFontColor := Subnode.TextAsColor;
end;
procedure TSpkTabAppearance.Reset;
@ -319,30 +324,33 @@ begin
FGradientFromColor := rgb(222, 232, 245);
FGradientToColor := rgb(199, 216, 237);
FGradientType := bkConcave;
FInactiveHeaderFontColor := FTabHeaderFont.Color;
end;
procedure TSpkTabAppearance.SaveToXML(Node: TSpkXMLNode);
var Subnode : TSpkXMLNode;
var
Subnode: TSpkXMLNode;
begin
if not(assigned(Node)) then
exit;
if not(assigned(Node)) then
exit;
Subnode:=Node['TabHeaderFont',true];
TSpkXMLTools.Save(Subnode, FTabHeaderFont);
Subnode:=Node['TabHeaderFont',true];
TSpkXMLTools.Save(Subnode, FTabHeaderFont);
Subnode:=Node['BorderColor',true];
Subnode.TextAsColor:=FBorderColor;
Subnode:=Node['BorderColor',true];
Subnode.TextAsColor:=FBorderColor;
Subnode:=Node['GradientFromColor',true];
Subnode.TextAsColor:=FGradientFromColor;
Subnode:=Node['GradientFromColor',true];
Subnode.TextAsColor:=FGradientFromColor;
Subnode:=Node['GradientToColor',true];
Subnode.TextAsColor:=FGradientToColor;
Subnode:=Node['GradientToColor',true];
Subnode.TextAsColor:=FGradientToColor;
Subnode:=Node['GradientType',true];
Subnode.TextAsInteger:=integer(FGradientType);
Subnode:=Node['GradientType',true];
Subnode.TextAsInteger:=integer(FGradientType);
Subnode := Node['InactiveTabHeaderFontColor', true];
Subnode.TextAsColor := FInactiveHeaderFontColor;
end;
procedure TSpkTabAppearance.SetBorderColor(const Value: TColor);
@ -380,6 +388,14 @@ begin
FDispatch.NotifyAppearanceChanged;
end;
procedure TSpkTabAppearance.SetInactiveHeaderFontColor(const Value: TColor);
begin
FInactiveHeaderFontColor := Value;
if FDispatch <> nil then
FDispatch.NotifyAppearanceChanged;
end;
{ TSpkPaneAppearance }

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,18 @@ uses
spkt_Appearance;
type
{ TfrmAppearanceEditWindow }
TfrmAppearanceEditWindow = class(TForm)
gbPreview: TGroupBox;
SmallImages: TImageList;
LargeImages: TImageList;
Label18: TLabel;
LblInactiveTabHeaderFontColor: TLabel;
pInactiveTabHeaderFontColor: TPanel;
Panel1: TPanel;
SpkTab2: TSpkTab;
tbPreview: TSpkToolbar;
SpkTab1: TSpkTab;
SpkPane1: TSpkPane;
@ -55,7 +65,7 @@ type
Label11: TLabel;
cbPaneGradientKind: TComboBox;
pPaneCaptionBackground: TPanel;
Label12: TLabel;
LblCaptionBackground: TLabel;
Label13: TLabel;
pPaneCaptionFont: TPanel;
Label1: TLabel;
@ -68,18 +78,18 @@ type
pItemIdleGradientTo: TPanel;
pItemIdleGradientFrom: TPanel;
pItemIdleFrame: TPanel;
Label27: TLabel;
LblIdle: TLabel;
Label28: TLabel;
pItemIdleCaptionColor: TPanel;
Label29: TLabel;
pItemIdleInnerDark: TPanel;
Label30: TLabel;
LblInnerLightColor: TLabel;
pItemIdleInnerLight: TPanel;
cbItemHottrackGradientKind: TComboBox;
pItemHottrackGradientTo: TPanel;
pItemHottrackGradientFrom: TPanel;
pItemHottrackFrame: TPanel;
Label15: TLabel;
LblHotTrack: TLabel;
pItemHottrackCaptionColor: TPanel;
pItemHottrackInnerDark: TPanel;
pItemHottrackInnerLight: TPanel;
@ -87,7 +97,7 @@ type
pItemActiveGradientTo: TPanel;
pItemActiveGradientFrom: TPanel;
pItemActiveFrame: TPanel;
Label16: TLabel;
LblActive: TLabel;
pItemActiveCaptionColor: TPanel;
pItemActiveInnerDark: TPanel;
pItemActiveInnerLight: TPanel;
@ -95,7 +105,7 @@ type
bCancel: TButton;
cdColorDialog: TColorDialog;
fdFontDialog: TFontDialog;
pTabHeaderFontColor: TPanel;
pActiveTabHeaderFontColor: TPanel;
pPaneCaptionFontColor: TPanel;
TabSheet4: TTabSheet;
bImport: TButton;
@ -110,49 +120,62 @@ type
TabSheet5: TTabSheet;
Label17: TLabel;
bReset: TButton;
procedure bExportClick(Sender: TObject);
procedure bImportClick(Sender: TObject);
procedure bResetClick(Sender: TObject);
procedure cbItemActiveGradientKindChange(Sender: TObject);
procedure cbItemHottrackGradientKindChange(Sender: TObject);
procedure cbItemIdleGradientKindChange(Sender: TObject);
procedure cbTabGradientKindChange(Sender: TObject);
procedure cbPaneGradientKindChange(Sender: TObject);
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 pTabFrameClick(Sender: TObject);
procedure pTabGradientFromClick(Sender: TObject);
procedure pTabGradientToClick(Sender: TObject);
procedure pPaneBorderDarkClick(Sender: TObject);
procedure pPaneBorderLightClick(Sender: TObject);
procedure pPaneCaptionFontClick(Sender: TObject);
procedure pPaneCaptionFontColorClick(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 pItemActiveCaptionColorClick(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);
procedure pItemIdleCaptionColorClick(Sender: TObject);
procedure pItemIdleFrameClick(Sender: TObject);
procedure pItemIdleGradientFromClick(Sender: TObject);
procedure pItemIdleGradientToClick(Sender: TObject);
procedure pItemIdleInnerDarkClick(Sender: TObject);
procedure pItemIdleInnerLightClick(Sender: TObject);
procedure pItemHottrackCaptionColorClick(Sender: TObject);
procedure pItemHottrackFrameClick(Sender: TObject);
procedure pItemHottrackGradientFromClick(Sender: TObject);
procedure pItemHottrackGradientToClick(Sender: TObject);
procedure pItemHottrackInnerDarkClick(Sender: TObject);
procedure pItemHottrackInnerLightClick(Sender: TObject);
procedure pTabHeaderFontClick(Sender: TObject);
private
{ Private declarations }
procedure SetLinkedFrameColor(AColor : TColor);
@ -187,83 +210,71 @@ implementation
procedure TfrmAppearanceEditWindow.SetAppearance(const Value: TSpkToolbarAppearance);
begin
tbPreview.Appearance.Assign(Value);
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;
Combo.ItemIndex := ord(GradientType);
end;
procedure TfrmAppearanceEditWindow.SetLinkedFrameColor(AColor: TColor);
begin
tbPreview.Appearance.Tab.BorderColor:=AColor;
SetPanelColor(pTabFrame, AColor);
tbPreview.Appearance.Tab.BorderColor := AColor;
SetPanelColor(pTabFrame, AColor);
tbPreview.Appearance.Pane.BorderDarkColor:=AColor;
SetPanelColor(pPaneBorderDark, AColor);
tbPreview.Appearance.Pane.BorderDarkColor := AColor;
SetPanelColor(pPaneBorderDark, AColor);
tbPreview.Appearance.Element.IdleFrameColor:=AColor;
SetPanelColor(pItemIdleFrame, 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.Tab.GradientFromColor := AColor;
SetPanelColor(pTabGradientFrom, AColor);
tbPreview.Appearance.Pane.GradientFromColor:=AColor;
SetPanelColor(pPaneGradientFrom, AColor);
tbPreview.Appearance.Pane.GradientFromColor := AColor;
SetPanelColor(pPaneGradientFrom, AColor);
tbPreview.Appearance.Element.IdleGradientFromColor:=AColor;
SetPanelColor(pItemIdleGradientFrom, AColor);
tbPreview.Appearance.Element.IdleGradientFromColor := AColor;
SetPanelColor(pItemIdleGradientFrom, AColor);
end;
procedure TfrmAppearanceEditWindow.SetLinkedGradientKind(AKindIndex: integer);
var Kind : TBackgroundKind;
var
Kind: TBackgroundKind;
begin
case AKindIndex of
0 : Kind:=bkSolid;
1 : Kind:=bkHorizontalGradient;
2 : Kind:=bkVerticalGradient;
3 : Kind:=bkConcave;
else Kind:=bkSolid;
end;
Kind := TBackgroundKind(AKindIndex);
tbPreview.Appearance.Tab.GradientType:=Kind;
SetComboGradientKind(cbTabGradientKind, Kind);
tbPreview.Appearance.Tab.GradientType := Kind;
SetComboGradientKind(cbTabGradientKind, Kind);
tbPreview.Appearance.Pane.GradientType:=Kind;
SetComboGradientKind(cbPaneGradientKind, Kind);
tbPreview.Appearance.Pane.GradientType := Kind;
SetComboGradientKind(cbPaneGradientKind, Kind);
tbPreview.Appearance.Element.IdleGradientType:=Kind;
SetComboGradientKind(cbItemIdleGradientKind, 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.Tab.GradientToColor := AColor;
SetPanelColor(pTabGradientTo, AColor);
tbPreview.Appearance.Pane.GradientToColor:=AColor;
SetPanelColor(pPaneGradientTo, AColor);
tbPreview.Appearance.Pane.GradientToColor := AColor;
SetPanelColor(pPaneGradientTo, AColor);
tbPreview.Appearance.Element.IdleGradientToColor:=AColor;
SetPanelColor(pItemIdleGradientTo, AColor);
tbPreview.Appearance.Element.IdleGradientToColor := AColor;
SetPanelColor(pItemIdleGradientTo, AColor);
end;
procedure TfrmAppearanceEditWindow.SetPanelColor(Panel: TPanel; AColor : TColor);
procedure TfrmAppearanceEditWindow.SetPanelColor(Panel: TPanel; AColor: TColor);
begin
Panel.Color := AColor;
if Panel.Color<>AColor then
if Panel.Color <> AColor then
Showmessage('lipa!');
if (GetRValue(AColor) + GetGValue(AColor) + GetBValue(AColor)) div 3 >= 128 then
Panel.Font.Color := clBlack
@ -274,468 +285,453 @@ end;
procedure TfrmAppearanceEditWindow.SetPanelFont(Panel: TPanel; AFont: TFont);
begin
Panel.Font.assign(AFont);
Panel.Caption:=AFont.Name+', '+inttostr(AFont.Size);
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;
cbLinkTab.checked := Value;
cbLinkPane.Checked := Value;
cbLinkItem.Checked := Value;
sTabRectangle.visible:=Value;
sPaneRectangle.Visible:=Value;
sItemRectangle.Visible:=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;
with tbPreview.Appearance.Element do
HotTrackGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
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);
with tbPreview.Appearance.Element do
IdleGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
if cbLinkItem.Checked then
SetLinkedGradientKind((Sender as TComboBox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.cbLinkItemClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkItem.Checked);
SwitchAttributesLink(cbLinkItem.Checked);
end;
procedure TfrmAppearanceEditWindow.cbLinkPaneClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkPane.Checked);
SwitchAttributesLink(cbLinkPane.Checked);
end;
procedure TfrmAppearanceEditWindow.cbLinkTabClick(Sender: TObject);
begin
SwitchAttributesLink(cbLinkTab.Checked);
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);
with tbPreview.Appearance.Tab do
GradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
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;
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;
fdFontDialog.Font.Assign(Panel.Font);
if fdFontDialog.Execute then
begin
SetPanelFont(Panel, fdFontDialog.Font);
Result := true;
end
else
Result := false;
end;
procedure TfrmAppearanceEditWindow.FormCreate(Sender: TObject);
begin
bOK.AutoSize := false;
bOK.Width := bCancel.Width;
end;
procedure TfrmAppearanceEditWindow.FormShow(Sender: TObject);
begin
LoadAppearance(tbPreview.Appearance);
LoadAppearance(tbPreview.Appearance);
end;
function TfrmAppearanceEditWindow.GetAppearance: TSpkToolbarAppearance;
begin
result:=tbPreview.Appearance;
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 AAppearance do
begin
with Tab do
begin
SetPanelColor(pTabFrame, BorderColor);
SetPanelColor(pTabGradientFrom, GradientFromColor);
SetPanelColor(pTabGradientTo, GradientToColor);
SetComboGradientKind(cbTabGradientKind, GradientType);
SetPanelFont(pTabHeaderFont, TabHeaderFont);
SetPanelColor(pActiveTabHeaderFontColor, TabHeaderFont.Color);
SetPanelColor(pInactiveTabHeaderFontColor, InactiveTabHeaderFontColor);
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 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);
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(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(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;
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;
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;
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;
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;
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;
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;
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;
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);
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;
with tbPreview.Appearance.Element do
ActiveGradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
end;
procedure TfrmAppearanceEditWindow.pItemActiveGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.ActiveGradientToColor:=(Sender as TPanel).Color;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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
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;
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
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;
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
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;
end;
procedure TfrmAppearanceEditWindow.pItemIdleInnerDarkClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Element.IdleInnerDarkColor:=(Sender as TPanel).Color;
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;
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;
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
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;
end;
procedure TfrmAppearanceEditWindow.pPaneBorderLightClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
tbPreview.Appearance.Pane.BorderLightColor:=(Sender as TPanel).Color;
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;
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;
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;
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 ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Pane.GradientFromColor:=(Sender as TPanel).Color;
if cbLinkPane.Checked then
if cbLinkPane.Checked then
SetLinkedGradientFromColor((Sender as TPanel).Color);
end;
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);
with tbPreview.Appearance.Pane do
GradientType := TBackgroundKind((Sender as TCombobox).ItemIndex);
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
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;
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
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;
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
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;
end;
procedure TfrmAppearanceEditWindow.pTabGradientToClick(Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.GradientToColor:=(Sender as TPanel).Color;
tbPreview.Appearance.Tab.GradientToColor := (Sender as TPanel).Color;
if cbLinkTab.Checked then
SetLinkedGradientToColor((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;
if ChangeFont(Sender as TPanel) then begin
tbPreview.Appearance.Tab.TabHeaderFont.Assign((Sender as TPanel).Font);
tbPreview.ForceRepaint;
end;
end;
procedure TfrmAppearanceEditWindow.pTabHeaderFontColorClick(Sender: TObject);
procedure TfrmAppearanceEditWindow.pActiveTabHeaderFontColorClick(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);
pTabHeaderFont.Font.color := (Sender as TPanel).Color;
end;
end;
procedure TfrmAppearanceEditWindow.pInactiveTabHeaderFontColorClick(
Sender: TObject);
begin
if ChangeColor(Sender as TPanel) then
begin
tbPreview.Appearance.Tab.InactiveTabHeaderFontColor := (Sender as TPanel).Color;
tbPreview.ForceRepaint;
end;
end;