You've already forked lazarus-ccr
spktoolbar: Fix fonts not changeable in OI
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5982 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1389,6 +1389,8 @@ procedure TSpkToolbar.ValidateBuffer;
|
|||||||
TabRect := FTabRects[index];
|
TabRect := FTabRects[index];
|
||||||
|
|
||||||
FBuffer.canvas.font.Assign(AFont);
|
FBuffer.canvas.font.Assign(AFont);
|
||||||
|
SpkScaleFont(FBuffer.Canvas.Font);
|
||||||
|
|
||||||
if AOverrideTextColor <> clNone then
|
if AOverrideTextColor <> clNone then
|
||||||
clr := AOverrideTextColor else
|
clr := AOverrideTextColor else
|
||||||
clr := AFont.Color;
|
clr := AFont.Color;
|
||||||
@ -1730,6 +1732,7 @@ begin
|
|||||||
else
|
else
|
||||||
TabAppearance := FAppearance;
|
TabAppearance := FAppearance;
|
||||||
FBuffer.Canvas.font.Assign(TabAppearance.Tab.TabHeaderFont);
|
FBuffer.Canvas.font.Assign(TabAppearance.Tab.TabHeaderFont);
|
||||||
|
SpkScaleFont(FBuffer.Canvas.Font);
|
||||||
|
|
||||||
TabWidth := 2 + // Frame
|
TabWidth := 2 + // Frame
|
||||||
2 * TabCornerRadius +
|
2 * TabCornerRadius +
|
||||||
|
@ -53,6 +53,8 @@ type
|
|||||||
procedure SetGradientType(const Value: TBackgroundKind);
|
procedure SetGradientType(const Value: TBackgroundKind);
|
||||||
procedure SetInactiveHeaderFontColor(const Value: TColor);
|
procedure SetInactiveHeaderFontColor(const Value: TColor);
|
||||||
|
|
||||||
|
procedure TabHeaderFontChange(Sender: TObject);
|
||||||
|
|
||||||
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œæ
|
||||||
@ -100,6 +102,8 @@ type
|
|||||||
procedure SetHotTrackBrightnessChange(const Value: Integer);
|
procedure SetHotTrackBrightnessChange(const Value: Integer);
|
||||||
procedure SetStyle(const Value: TSpkPaneStyle);
|
procedure SetStyle(const Value: TSpkPaneStyle);
|
||||||
|
|
||||||
|
procedure CaptionFontChange(Sender: TObject);
|
||||||
|
|
||||||
public
|
public
|
||||||
constructor Create(ADispatch: TSpkBaseAppearanceDispatch);
|
constructor Create(ADispatch: TSpkBaseAppearanceDispatch);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -176,6 +180,7 @@ type
|
|||||||
procedure SetIdleInnerLightColor(const Value: TColor);
|
procedure SetIdleInnerLightColor(const Value: TColor);
|
||||||
procedure SetStyle(const Value: TSpkElementStyle);
|
procedure SetStyle(const Value: TSpkElementStyle);
|
||||||
|
|
||||||
|
procedure CaptionFontChange(Sender: TObject);
|
||||||
public
|
public
|
||||||
constructor Create(ADispatch: TSpkBaseAppearanceDispatch);
|
constructor Create(ADispatch: TSpkBaseAppearanceDispatch);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -297,6 +302,7 @@ begin
|
|||||||
inherited Create;
|
inherited Create;
|
||||||
FDispatch := ADispatch;
|
FDispatch := ADispatch;
|
||||||
FTabHeaderFont := TFont.Create;
|
FTabHeaderFont := TFont.Create;
|
||||||
|
FTabHeaderFont.OnChange := TabHeaderFontChange;
|
||||||
Reset;
|
Reset;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -491,6 +497,12 @@ begin
|
|||||||
FDispatch.NotifyAppearanceChanged;
|
FDispatch.NotifyAppearanceChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSpkTabAppearance.TabHeaderFontChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FDispatch <> nil then
|
||||||
|
FDispatch.NotifyAppearanceChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TSpkPaneAppearance }
|
{ TSpkPaneAppearance }
|
||||||
|
|
||||||
@ -499,6 +511,7 @@ begin
|
|||||||
inherited Create;
|
inherited Create;
|
||||||
FDispatch := ADispatch;
|
FDispatch := ADispatch;
|
||||||
FCaptionFont := TFont.Create;
|
FCaptionFont := TFont.Create;
|
||||||
|
FCaptionFont.OnChange := CaptionFontChange;
|
||||||
FHotTrackBrightnessChange := 20;
|
FHotTrackBrightnessChange := 20;
|
||||||
FStyle := psRectangleEtched;
|
FStyle := psRectangleEtched;
|
||||||
Reset;
|
Reset;
|
||||||
@ -534,6 +547,12 @@ begin
|
|||||||
raise AssignException.create('TSpkPaneAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkPaneAppearance!');
|
raise AssignException.create('TSpkPaneAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkPaneAppearance!');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSpkPaneAppearance.CaptionFontChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FDispatch <> nil then
|
||||||
|
FDispatch.NotifyAppearanceChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSpkPaneAppearance.LoadFromXML(Node: TSpkXMLNode);
|
procedure TSpkPaneAppearance.LoadFromXML(Node: TSpkXMLNode);
|
||||||
var
|
var
|
||||||
Subnode: TSpkXMLNode;
|
Subnode: TSpkXMLNode;
|
||||||
@ -765,6 +784,7 @@ begin
|
|||||||
inherited Create;
|
inherited Create;
|
||||||
FDispatch := ADispatch;
|
FDispatch := ADispatch;
|
||||||
FCaptionFont := TFont.Create;
|
FCaptionFont := TFont.Create;
|
||||||
|
FCaptionFont.OnChange := CaptionFontChange;
|
||||||
FHotTrackBrightnessChange := 40;
|
FHotTrackBrightnessChange := 40;
|
||||||
Reset;
|
Reset;
|
||||||
end;
|
end;
|
||||||
@ -814,6 +834,12 @@ begin
|
|||||||
raise AssignException.create('TSpkElementAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkElementAppearance!');
|
raise AssignException.create('TSpkElementAppearance.Assign: Nie mogê przypisaæ obiektu '+Source.ClassName+' do TSpkElementAppearance!');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSpkElementAppearance.CaptionFontChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FDispatch <> nil then
|
||||||
|
FDispatch.NotifyAppearanceChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSpkElementAppearance.GetActiveColors(IsChecked: Boolean;
|
procedure TSpkElementAppearance.GetActiveColors(IsChecked: Boolean;
|
||||||
out AFrameColor, AInnerLightColor, AInnerDarkColor, AGradientFromColor,
|
out AFrameColor, AInnerLightColor, AInnerDarkColor, AGradientFromColor,
|
||||||
AGradientToColor: TColor; out AGradientKind: TBackgroundKind;
|
AGradientToColor: TColor; out AGradientKind: TBackgroundKind;
|
||||||
|
@ -14,9 +14,13 @@ unit spkt_Const;
|
|||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Graphics;
|
||||||
|
|
||||||
procedure SpkInitLayoutConsts(FromDPI: Integer; ToDPI: Integer = 0);
|
procedure SpkInitLayoutConsts(FromDPI: Integer; ToDPI: Integer = 0);
|
||||||
function SpkScaleX(Size: Integer; FromDPI: Integer; ToDPI: Integer = 0): integer;
|
function SpkScaleX(Size: Integer; FromDPI: Integer; ToDPI: Integer = 0): integer;
|
||||||
function SpkScaleY(Size: Integer; FromDPI: Integer; ToDPI: Integer = 0): integer;
|
function SpkScaleY(Size: Integer; FromDPI: Integer; ToDPI: Integer = 0): integer;
|
||||||
|
procedure SpkScaleFont(AFont: TFont; ToDPI: Integer = 0);
|
||||||
|
|
||||||
const
|
const
|
||||||
// ****************
|
// ****************
|
||||||
@ -262,7 +266,7 @@ const
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Graphics, LCLType;
|
LCLType;
|
||||||
|
|
||||||
procedure SpkInitLayoutConsts(FromDPI: Integer; ToDPI: Integer = 0);
|
procedure SpkInitLayoutConsts(FromDPI: Integer; ToDPI: Integer = 0);
|
||||||
begin
|
begin
|
||||||
@ -383,6 +387,25 @@ begin
|
|||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure SpkScaleFont(AFont: TFont; ToDPI: Integer = 0);
|
||||||
|
var
|
||||||
|
FromDPI: Integer;
|
||||||
|
begin
|
||||||
|
if ToDPI = 0 then
|
||||||
|
ToDPI := ScreenInfo.PixelsPerInchY;
|
||||||
|
|
||||||
|
FromDPI := AFont.PixelsPerInch;
|
||||||
|
|
||||||
|
if (not DPI_AWARE) or (ToDPI = FromDPI) then
|
||||||
|
exit;
|
||||||
|
|
||||||
|
if AFont.Size = 0 then
|
||||||
|
AFont.Height := MulDiv(GetFontData(AFont.Reference.Handle).Height, FromDPI, ToDPI)
|
||||||
|
else
|
||||||
|
AFont.Height := MulDiv(AFont.Height, FromDPI, ToDPI);
|
||||||
|
AFont.PixelsPerInch := ToDPI;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
initialization
|
initialization
|
||||||
|
|
||||||
|
@ -261,43 +261,40 @@ implementation
|
|||||||
{ TSpkToolbarEditor }
|
{ TSpkToolbarEditor }
|
||||||
|
|
||||||
procedure TSpkToolbarEditor.DoOpenContentsEditor;
|
procedure TSpkToolbarEditor.DoOpenContentsEditor;
|
||||||
|
|
||||||
var
|
var
|
||||||
Component : TComponent;
|
Component: TComponent;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Component:=self.GetComponent;
|
Component:=self.GetComponent;
|
||||||
|
if not(Component is TSpkToolbar) then
|
||||||
|
exit;
|
||||||
|
|
||||||
if not(Component is TSpkToolbar) then
|
EditWindow.SetData(TSpkToolbar(Component),Self.GetDesigner);
|
||||||
exit;
|
EditWindow.Show;
|
||||||
|
|
||||||
EditWindow.SetData(TSpkToolbar(Component),Self.GetDesigner);
|
|
||||||
EditWindow.Show;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSpkToolbarEditor.Edit;
|
procedure TSpkToolbarEditor.Edit;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
DoOpenContentsEditor;
|
DoOpenContentsEditor;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSpkToolbarEditor.ExecuteVerb(Index: Integer);
|
procedure TSpkToolbarEditor.ExecuteVerb(Index: Integer);
|
||||||
begin
|
begin
|
||||||
case Index of
|
case Index of
|
||||||
0 : DoOpenContentsEditor;
|
0 : DoOpenContentsEditor;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSpkToolbarEditor.GetVerb(Index: Integer): string;
|
function TSpkToolbarEditor.GetVerb(Index: Integer): string;
|
||||||
begin
|
begin
|
||||||
case Index of
|
case Index of
|
||||||
0 : result:='Contents editor...';
|
0 : result:='Contents editor...';
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSpkToolbarEditor.GetVerbCount: Integer;
|
function TSpkToolbarEditor.GetVerbCount: Integer;
|
||||||
begin
|
begin
|
||||||
result:=1;
|
Result := 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TSpkToolbarCaptionEditor }
|
{ TSpkToolbarCaptionEditor }
|
||||||
@ -325,48 +322,47 @@ end;
|
|||||||
{ TSpkToolbarAppearanceEditor }
|
{ TSpkToolbarAppearanceEditor }
|
||||||
|
|
||||||
procedure TSpkToolbarAppearanceEditor.Edit;
|
procedure TSpkToolbarAppearanceEditor.Edit;
|
||||||
|
var
|
||||||
var Obj : TObject;
|
Obj: TObject;
|
||||||
Toolbar : TSpkToolbar;
|
Toolbar: TSpkToolbar;
|
||||||
Tab : TSpkTab;
|
Tab: TSpkTab;
|
||||||
AppearanceEditor : tfrmAppearanceEditWindow;
|
AppearanceEditor: tfrmAppearanceEditWindow;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Obj:=GetComponent(0);
|
Obj:=GetComponent(0);
|
||||||
if Obj is TSpkToolbar then
|
if Obj is TSpkToolbar then
|
||||||
begin
|
begin
|
||||||
Toolbar:=TSpkToolbar(Obj);
|
Toolbar := TSpkToolbar(Obj);
|
||||||
|
|
||||||
AppearanceEditor:=TfrmAppearanceEditWindow.Create(nil);
|
AppearanceEditor:=TfrmAppearanceEditWindow.Create(nil);
|
||||||
try
|
try
|
||||||
AppearanceEditor.Appearance.Assign(Toolbar.Appearance);
|
AppearanceEditor.Appearance.Assign(Toolbar.Appearance);
|
||||||
if AppearanceEditor.ShowModal = mrOK then
|
if AppearanceEditor.ShowModal = mrOK then
|
||||||
begin
|
begin
|
||||||
Toolbar.Appearance.Assign(AppearanceEditor.Appearance);
|
Toolbar.Appearance.Assign(AppearanceEditor.Appearance);
|
||||||
Modified;
|
Modified;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
AppearanceEditor.Free;
|
AppearanceEditor.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end else
|
end else
|
||||||
if Obj is TSpkTab then
|
if Obj is TSpkTab then
|
||||||
begin
|
begin
|
||||||
Tab:=TSpkTab(Obj);
|
Tab:=TSpkTab(Obj);
|
||||||
|
|
||||||
AppearanceEditor:=TfrmAppearanceEditWindow.Create(nil);
|
AppearanceEditor:=TfrmAppearanceEditWindow.Create(nil);
|
||||||
try
|
try
|
||||||
AppearanceEditor.Appearance.Assign(Tab.CustomAppearance);
|
AppearanceEditor.Appearance.Assign(Tab.CustomAppearance);
|
||||||
if AppearanceEditor.ShowModal = mrOK then
|
if AppearanceEditor.ShowModal = mrOK then
|
||||||
begin
|
begin
|
||||||
Tab.CustomAppearance.Assign(AppearanceEditor.Appearance);
|
Tab.CustomAppearance.Assign(AppearanceEditor.Appearance);
|
||||||
Modified;
|
Modified;
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
AppearanceEditor.Free;
|
AppearanceEditor.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TSpkToolbarAppearanceEditor.GetAttributes: TPropertyAttributes;
|
function TSpkToolbarAppearanceEditor.GetAttributes: TPropertyAttributes;
|
||||||
|
@ -207,6 +207,7 @@ type
|
|||||||
procedure bTabGradientToColorClick(Sender: TObject);
|
procedure bTabGradientToColorClick(Sender: TObject);
|
||||||
procedure bActiveTabHeaderFontColorClick(Sender: TObject);
|
procedure bActiveTabHeaderFontColorClick(Sender: TObject);
|
||||||
procedure bCopyToClipboardClick(Sender: TObject);
|
procedure bCopyToClipboardClick(Sender: TObject);
|
||||||
|
|
||||||
procedure cbItemActiveGradientKindChange(Sender: TObject);
|
procedure cbItemActiveGradientKindChange(Sender: TObject);
|
||||||
procedure cbItemHottrackGradientKindChange(Sender: TObject);
|
procedure cbItemHottrackGradientKindChange(Sender: TObject);
|
||||||
procedure cbItemIdleGradientKindChange(Sender: TObject);
|
procedure cbItemIdleGradientKindChange(Sender: TObject);
|
||||||
|
Reference in New Issue
Block a user