mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-22 12:20:31 +02:00
anchordocking: ManualFloat, manual enlarge
git-svn-id: trunk@26077 -
This commit is contained in:
parent
13d8b20deb
commit
c27563fcab
@ -401,6 +401,7 @@ type
|
|||||||
function FindControl(const aName: string): TControl;
|
function FindControl(const aName: string): TControl;
|
||||||
function IsSite(AControl: TControl): boolean;
|
function IsSite(AControl: TControl): boolean;
|
||||||
function IsCustomSite(AControl: TControl): boolean;
|
function IsCustomSite(AControl: TControl): boolean;
|
||||||
|
function GetSite(AControl: TControl): TAnchorDockHostSite;
|
||||||
function GetPopupMenu: TPopupMenu;
|
function GetPopupMenu: TPopupMenu;
|
||||||
function AddPopupMenuItem(AName, ACaption: string;
|
function AddPopupMenuItem(AName, ACaption: string;
|
||||||
const OnClickEvent: TNotifyEvent; AParent: TMenuItem = nil): TMenuItem; virtual;
|
const OnClickEvent: TNotifyEvent; AParent: TMenuItem = nil): TMenuItem; virtual;
|
||||||
@ -425,6 +426,13 @@ type
|
|||||||
function ConfigIsEmpty(Config: TConfigStorage): boolean;
|
function ConfigIsEmpty(Config: TConfigStorage): boolean;
|
||||||
function LoadLayoutFromConfig(Config: TConfigStorage): boolean;
|
function LoadLayoutFromConfig(Config: TConfigStorage): boolean;
|
||||||
|
|
||||||
|
// manual docking
|
||||||
|
procedure ManualFloat(AControl: TControl);
|
||||||
|
{procedure ManualDock(SrcSite, TargetSite: TAnchorDockHostSite;
|
||||||
|
Align: TAlign; Inside: boolean);}
|
||||||
|
function EnlargeSide(Site: TAnchorDockHostSite; Side: TAnchorKind;
|
||||||
|
OnlyCheckIfPossible: boolean): boolean;
|
||||||
|
|
||||||
// simplification/garbage collection
|
// simplification/garbage collection
|
||||||
procedure BeginUpdate;
|
procedure BeginUpdate;
|
||||||
procedure EndUpdate;
|
procedure EndUpdate;
|
||||||
@ -1515,6 +1523,16 @@ begin
|
|||||||
and (TCustomForm(AControl).DockManager is TAnchorDockManager);
|
and (TCustomForm(AControl).DockManager is TAnchorDockManager);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TAnchorDockMaster.GetSite(AControl: TControl): TAnchorDockHostSite;
|
||||||
|
begin
|
||||||
|
if AControl is TAnchorDockHostSite then
|
||||||
|
Result:=TAnchorDockHostSite(AControl)
|
||||||
|
else if (AControl.HostDockSite is TAnchorDockHostSite) then
|
||||||
|
Result:=TAnchorDockHostSite(AControl.HostDockSite)
|
||||||
|
else
|
||||||
|
Result:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
function TAnchorDockMaster.GetPopupMenu: TPopupMenu;
|
function TAnchorDockMaster.GetPopupMenu: TPopupMenu;
|
||||||
begin
|
begin
|
||||||
if fPopupMenu=nil then begin
|
if fPopupMenu=nil then begin
|
||||||
@ -1812,6 +1830,21 @@ begin
|
|||||||
Result:=true;
|
Result:=true;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TAnchorDockMaster.ManualFloat(AControl: TControl);
|
||||||
|
var
|
||||||
|
Site: TAnchorDockHostSite;
|
||||||
|
begin
|
||||||
|
Site:=GetSite(AControl);
|
||||||
|
if Site=nil then exit;
|
||||||
|
Site.Undock;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAnchorDockMaster.EnlargeSide(Site: TAnchorDockHostSite;
|
||||||
|
Side: TAnchorKind; OnlyCheckIfPossible: boolean): boolean;
|
||||||
|
begin
|
||||||
|
Result:=(Site<>nil) and Site.EnlargeSide(Side,OnlyCheckIfPossible);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TAnchorDockMaster.BeginUpdate;
|
procedure TAnchorDockMaster.BeginUpdate;
|
||||||
begin
|
begin
|
||||||
inc(fUpdateCount);
|
inc(fUpdateCount);
|
||||||
|
Loading…
Reference in New Issue
Block a user