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

View File

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

File diff suppressed because it is too large Load Diff

View File

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