mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-02 03:19:36 +01:00
TStatusbarPanels class can now be overriden from Sean McIlwain
git-svn-id: trunk@8259 -
This commit is contained in:
parent
a0e53901fc
commit
5c18d058fb
@ -66,6 +66,7 @@ Seppo Suutarla - finnish translation
|
||||
Sergio Marcelo
|
||||
Shane Miller
|
||||
Stefan Hille
|
||||
Sean McIlwain
|
||||
Taras Boychuk
|
||||
Tom Lisjac
|
||||
Tomáš Gregorovič
|
||||
|
||||
@ -61,6 +61,9 @@ type
|
||||
|
||||
{ TStatusPanel }
|
||||
|
||||
//added.
|
||||
TStatusPanelClass = class of TStatusPanel;
|
||||
|
||||
TStatusPanel = class(TCollectionItem)
|
||||
private
|
||||
FText: string;
|
||||
@ -130,6 +133,12 @@ type
|
||||
procedure UpdateHandleObject(PanelIndex: integer); virtual;
|
||||
procedure CalculatePreferredSize(
|
||||
var PreferredWidth, PreferredHeight: integer); override;
|
||||
|
||||
//added.
|
||||
function CreatePanel: TStatusPanel; virtual;
|
||||
function CreatePanels: TStatusPanels; virtual;
|
||||
function GetPanelClass: TStatusPanelClass; virtual;
|
||||
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
destructor Destroy; override;
|
||||
|
||||
@ -25,7 +25,7 @@ begin
|
||||
TControlCanvas(FCanvas).Control := Self;
|
||||
ControlStyle := [csCaptureMouse, csClickEvents, csDoubleClicks, csOpaque];
|
||||
FSimplePanel := True;
|
||||
FPanels := TStatusPanels.Create(Self);
|
||||
FPanels := CreatePanels;
|
||||
Color := clBtnFace;
|
||||
Anchors:=[akLeft,akRight,akBottom];
|
||||
Align := alBottom;
|
||||
@ -176,5 +176,31 @@ begin
|
||||
UpdateHandleObject(PanelIndex);
|
||||
end;
|
||||
|
||||
{------------------------------------------------------------------------------
|
||||
function TStatusBar.CreatePanel(): TStatusPanel;
|
||||
------------------------------------------------------------------------------}
|
||||
function TStatusBar.CreatePanel: TStatusPanel;
|
||||
var
|
||||
LClass: TStatusPanelClass;
|
||||
begin
|
||||
LClass := GetPanelClass;
|
||||
Result := LClass.Create(Panels);
|
||||
end;
|
||||
{------------------------------------------------------------------------------
|
||||
function TStatusBar.CreatePanels(): TStatusPanels;
|
||||
------------------------------------------------------------------------------}
|
||||
function TStatusBar.CreatePanels: TStatusPanels;
|
||||
begin
|
||||
Result := TStatusPanels.Create(Self);
|
||||
end;
|
||||
{------------------------------------------------------------------------------
|
||||
function TStatusBar.GetPanelClass(): TStatusPanelClass;
|
||||
------------------------------------------------------------------------------}
|
||||
function TStatusBar.GetPanelClass: TStatusPanelClass;
|
||||
begin
|
||||
Result := TStatusPanel;
|
||||
end;
|
||||
|
||||
|
||||
// included by comctrls.pp
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
constructor TStatusPanels.Create(TheStatusBar: TStatusBar);
|
||||
begin
|
||||
inherited Create(TStatusPanel);
|
||||
inherited Create(TheStatusBar.GetPanelClass);
|
||||
FStatusBar := TheStatusBar;
|
||||
end;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user