mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 18:49:19 +02:00
LCL: implemented TToolButton.AutoSize
git-svn-id: trunk@20303 -
This commit is contained in:
parent
124bcb7012
commit
b5b3115e36
@ -1458,6 +1458,8 @@ type
|
|||||||
function GroupAllUpAllowed: boolean;
|
function GroupAllUpAllowed: boolean;
|
||||||
function DialogChar(var Message: TLMKey): boolean; override;
|
function DialogChar(var Message: TLMKey): boolean; override;
|
||||||
procedure SetAutoSize(Value: Boolean); override;
|
procedure SetAutoSize(Value: Boolean); override;
|
||||||
|
procedure RealSetText(const AValue: TCaption); override;
|
||||||
|
procedure DoAutoSize; override;
|
||||||
public
|
public
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
function CheckMenuDropdown: Boolean; dynamic;
|
function CheckMenuDropdown: Boolean; dynamic;
|
||||||
|
@ -396,6 +396,26 @@ begin
|
|||||||
RequestAlign;
|
RequestAlign;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TToolButton.RealSetText(const AValue: TCaption);
|
||||||
|
begin
|
||||||
|
if ([csLoading,csDestroying]*ComponentState=[]) then
|
||||||
|
begin
|
||||||
|
InvalidatePreferredSize;
|
||||||
|
inherited RealSetText(AValue);
|
||||||
|
AdjustSize;
|
||||||
|
end
|
||||||
|
else inherited RealSetText(AValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TToolButton.DoAutoSize;
|
||||||
|
var
|
||||||
|
PreferredWidth: integer;
|
||||||
|
PreferredHeight: integer;
|
||||||
|
begin
|
||||||
|
GetPreferredSize(PreferredWidth,PreferredHeight);
|
||||||
|
SetBounds(Left,Top,PreferredWidth,PreferredHeight);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TToolButton.SetToolBar(NewToolBar: TToolBar);
|
procedure TToolButton.SetToolBar(NewToolBar: TToolBar);
|
||||||
begin
|
begin
|
||||||
if FToolBar = NewToolBar then exit;
|
if FToolBar = NewToolBar then exit;
|
||||||
@ -683,7 +703,9 @@ begin
|
|||||||
Result := -1;
|
Result := -1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TToolButton.GetPreferredSize(var PreferredWidth, PreferredHeight: integer; Raw: boolean; WithThemeSpace: boolean);
|
procedure TToolButton.GetPreferredSize(
|
||||||
|
var PreferredWidth, PreferredHeight: integer; Raw: boolean;
|
||||||
|
WithThemeSpace: boolean);
|
||||||
begin
|
begin
|
||||||
inherited GetPreferredSize(PreferredWidth, PreferredHeight, Raw, WithThemeSpace);
|
inherited GetPreferredSize(PreferredWidth, PreferredHeight, Raw, WithThemeSpace);
|
||||||
|
|
||||||
@ -959,6 +981,7 @@ begin
|
|||||||
inc(PreferredWidth, FToolBar.FDropDownWidth);
|
inc(PreferredWidth, FToolBar.FDropDownWidth);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
//DebugLn(['TToolButton.CalculatePreferredSize ',DbgSName(Self),' ',PreferredWidth,',',PreferredHeight,' Caption=',Caption]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class function TToolButton.GetControlClassDefaultSize: TPoint;
|
class function TToolButton.GetControlClassDefaultSize: TPoint;
|
||||||
|
Loading…
Reference in New Issue
Block a user