mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 18:00:26 +02:00
IDE, SourceEditor: drag/drop tabs clean-up
git-svn-id: trunk@22493 -
This commit is contained in:
parent
4f99db414c
commit
be07ff95be
@ -446,19 +446,13 @@ type
|
||||
TDragableNotebook = class(TNoteBook)
|
||||
private
|
||||
FMouseDownTabIndex: Integer;
|
||||
FMouseWaitForDrag: Boolean;
|
||||
FMouseDownX: integer;
|
||||
FMouseDownY: integer;
|
||||
FOnDragMoveTab: TDragMoveTabEvent;
|
||||
protected
|
||||
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
|
||||
procedure DragOver(Source: TObject; X, Y: Integer; State: TDragState;
|
||||
var Accept: Boolean); override;
|
||||
property MouseDownTabIndex: Integer read FMouseDownTabIndex;
|
||||
public
|
||||
constructor Create(TheOwner: TComponent); override;
|
||||
procedure DragDrop(Source: TObject; X, Y: Integer); override;
|
||||
property OnDragMoveTab: TDragMoveTabEvent read FOnDragMoveTab write FOnDragMoveTab;
|
||||
end;
|
||||
@ -7263,32 +7257,8 @@ procedure TDragableNotebook.MouseDown(Button: TMouseButton; Shift: TShiftState;
|
||||
begin
|
||||
inherited MouseDown(Button, Shift, X, Y);
|
||||
FMouseDownTabIndex := TabIndexAtClientPos(Point(X,Y));
|
||||
FMouseWaitForDrag := False;
|
||||
FMouseDownX := X;
|
||||
FMouseDownY := Y;
|
||||
if (Button = mbLeft) and (FMouseDownTabIndex >= 0) then begin
|
||||
FMouseWaitForDrag := True;
|
||||
MouseCapture := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDragableNotebook.MouseMove(Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
inherited MouseMove(Shift, X, Y);
|
||||
if (FMouseWaitForDrag) and
|
||||
( (Abs(fMouseDownX - X) >= GetSystemMetrics(SM_CXDRAG)) or
|
||||
(Abs(fMouseDownY - Y) >= GetSystemMetrics(SM_CYDRAG)) )
|
||||
then begin
|
||||
FMouseWaitForDrag := False;
|
||||
BeginDrag(true);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDragableNotebook.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
MouseCapture := False;
|
||||
FMouseWaitForDrag := False;
|
||||
inherited MouseUp(Button, Shift, X, Y);
|
||||
if (Button = mbLeft) and (FMouseDownTabIndex >= 0) then
|
||||
BeginDrag(False);
|
||||
end;
|
||||
|
||||
procedure TDragableNotebook.DragOver(Source: TObject; X, Y: Integer; State: TDragState;
|
||||
@ -7304,12 +7274,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TDragableNotebook.Create(TheOwner: TComponent);
|
||||
begin
|
||||
inherited Create(TheOwner);
|
||||
FMouseWaitForDrag := False;
|
||||
end;
|
||||
|
||||
procedure TDragableNotebook.DragDrop(Source: TObject; X, Y: Integer);
|
||||
var
|
||||
TabIndex: Integer;
|
||||
|
Loading…
Reference in New Issue
Block a user