mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 13:19:20 +02:00
lcl: TPageControl: set dock site rectangle in DockOver and not in PositionDockRect since PositionDockRect used in other unrelated to dock over cases
git-svn-id: trunk@20092 -
This commit is contained in:
parent
a0897c76f4
commit
a8ae3b4f66
@ -279,9 +279,10 @@ type
|
|||||||
protected
|
protected
|
||||||
class procedure WSRegisterClass; override;
|
class procedure WSRegisterClass; override;
|
||||||
procedure DoAddDockClient(Client: TControl; const ARect: TRect); override;
|
procedure DoAddDockClient(Client: TControl; const ARect: TRect); override;
|
||||||
|
procedure DockOver(Source: TDragDockObject; X, Y: Integer;
|
||||||
|
State: TDragState; var Accept: Boolean); override;
|
||||||
procedure DoRemoveDockClient(Client: TControl); override;
|
procedure DoRemoveDockClient(Client: TControl); override;
|
||||||
function DoUndockClientMsg(NewTarget, Client: TControl):boolean; override;
|
function DoUndockClientMsg(NewTarget, Client: TControl):boolean; override;
|
||||||
procedure PositionDockRect(DragDockObject: TDragDockObject); override;
|
|
||||||
public
|
public
|
||||||
constructor Create(TheOwner: TComponent); override;
|
constructor Create(TheOwner: TComponent); override;
|
||||||
function FindNextPage(CurPage: TTabSheet;
|
function FindNextPage(CurPage: TTabSheet;
|
||||||
|
@ -95,6 +95,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPageControl.DockOver(Source: TDragDockObject; X, Y: Integer;
|
||||||
|
State: TDragState; var Accept: Boolean);
|
||||||
|
var
|
||||||
|
P: TPoint;
|
||||||
|
begin
|
||||||
|
P := Parent.ClientToScreen(Point(Left, Top));
|
||||||
|
Source.DockRect := Rect(P.X, P.Y, P.X + Width, P.Y + Height);
|
||||||
|
DoDockOver(Source, X, Y, State, Accept);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPageControl.DoRemoveDockClient(Client: TControl);
|
procedure TPageControl.DoRemoveDockClient(Client: TControl);
|
||||||
begin
|
begin
|
||||||
// we cannot search for client page here since Client.Parent
|
// we cannot search for client page here since Client.Parent
|
||||||
@ -108,14 +118,6 @@ begin
|
|||||||
Result := inherited DoUndockClientMsg(NewTarget, Client);
|
Result := inherited DoUndockClientMsg(NewTarget, Client);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPageControl.PositionDockRect(DragDockObject: TDragDockObject);
|
|
||||||
var
|
|
||||||
P: TPoint;
|
|
||||||
begin
|
|
||||||
P := Parent.ClientToScreen(Point(Left, Top));
|
|
||||||
DragDockObject.DockRect := Rect(P.X, P.Y, P.X + Width, P.Y + Height);
|
|
||||||
end;
|
|
||||||
|
|
||||||
constructor TPageControl.Create(TheOwner: TComponent);
|
constructor TPageControl.Create(TheOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
PageClass:=TTabSheet;
|
PageClass:=TTabSheet;
|
||||||
|
@ -1942,7 +1942,7 @@ begin
|
|||||||
{$else}
|
{$else}
|
||||||
EventBox := gtk_event_box_new;
|
EventBox := gtk_event_box_new;
|
||||||
gtk_event_box_set_visible_window(PGtkEventBox(EventBox), False);
|
gtk_event_box_set_visible_window(PGtkEventBox(EventBox), False);
|
||||||
TempWidget := CreateFixedClientWidget(false);
|
TempWidget := CreateFixedClientWidget(False);
|
||||||
gtk_container_add(GTK_CONTAINER(EventBox), TempWidget);
|
gtk_container_add(GTK_CONTAINER(EventBox), TempWidget);
|
||||||
gtk_container_add(GTK_CONTAINER(p), EventBox);
|
gtk_container_add(GTK_CONTAINER(p), EventBox);
|
||||||
gtk_widget_show(EventBox);
|
gtk_widget_show(EventBox);
|
||||||
|
Loading…
Reference in New Issue
Block a user