mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-10 06:08:17 +02:00
LCL: TabControl refactor
git-svn-id: trunk@42594 -
This commit is contained in:
parent
378550a77a
commit
32a6a28ad6
@ -363,6 +363,7 @@ type
|
||||
procedure UpdateDesignerFlags(APageIndex: integer);
|
||||
protected
|
||||
PageClass: TCustomPageClass;
|
||||
function GetPageClass: TCustomPageClass; virtual;
|
||||
procedure CNNotify(var Message: TLMNotify); message CN_NOTIFY;
|
||||
class procedure WSRegisterClass; override;
|
||||
procedure CreateWnd; override;
|
||||
@ -505,6 +506,7 @@ type
|
||||
function FindPageWithDockClient(Client: TControl): TTabSheet;
|
||||
protected
|
||||
class procedure WSRegisterClass; override;
|
||||
function GetPageClass: TCustomPageClass; override;
|
||||
procedure DoAddDockClient(Client: TControl; const ARect: TRect); override;
|
||||
procedure DockOver(Source: TDragDockObject; X, Y: Integer;
|
||||
State: TDragState; var Accept: Boolean); override;
|
||||
@ -512,7 +514,6 @@ type
|
||||
function DoUndockClientMsg(NewTarget, Client: TControl):boolean; override;
|
||||
function ChildClassAllowed(ChildClass: TClass): boolean; override;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
function FindNextPage(CurPage: TTabSheet;
|
||||
GoForward, CheckTabVisible: Boolean): TTabSheet;
|
||||
procedure SelectNextPage(GoForward: Boolean);
|
||||
|
@ -203,7 +203,7 @@ end;
|
||||
------------------------------------------------------------------------------}
|
||||
constructor TCustomTabControl.Create(TheOwner: TComponent);
|
||||
begin
|
||||
if PageClass=nil then PageClass := TCustomPage;
|
||||
if PageClass=nil then PageClass := GetPageClass;
|
||||
|
||||
inherited Create(TheOwner);
|
||||
|
||||
@ -849,6 +849,11 @@ begin
|
||||
Page[APageIndex].ControlStyle-[csNoDesignVisible];
|
||||
end;
|
||||
|
||||
function TCustomTabControl.GetPageClass: TCustomPageClass;
|
||||
begin
|
||||
Result := TCustomPage;
|
||||
end;
|
||||
|
||||
class procedure TCustomTabControl.WSRegisterClass;
|
||||
begin
|
||||
inherited WSRegisterClass;
|
||||
|
@ -64,6 +64,11 @@ begin
|
||||
RegisterPropertyToSkip(TPageControl, 'TabFont', 'Needed when converting from VCL TabbedNotebook to TPageControl', '');
|
||||
end;
|
||||
|
||||
function TPageControl.GetPageClass: TCustomPageClass;
|
||||
begin
|
||||
Result := TTabSheet;
|
||||
end;
|
||||
|
||||
procedure TPageControl.DoAddDockClient(Client: TControl; const ARect: TRect);
|
||||
var
|
||||
TabSheet: TTabSheet;
|
||||
@ -111,12 +116,6 @@ begin
|
||||
if Widgetset.GetLCLCapability(lcAllowChildControlsInNativeControls) = LCL_CAPABILITY_YES then Result := True;
|
||||
end;
|
||||
|
||||
constructor TPageControl.Create(TheOwner: TComponent);
|
||||
begin
|
||||
PageClass:=TTabSheet;
|
||||
inherited Create(TheOwner);
|
||||
end;
|
||||
|
||||
function TPageControl.FindNextPage(CurPage: TTabSheet; GoForward,
|
||||
CheckTabVisible: Boolean): TTabSheet;
|
||||
var
|
||||
|
Loading…
Reference in New Issue
Block a user