mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-13 19:09:36 +02:00
MG: accelerated designer mouse move and added Delete Selection to designer popupmenu
git-svn-id: trunk@2047 -
This commit is contained in:
parent
57973ac038
commit
60e7d72717
@ -91,6 +91,7 @@ type
|
|||||||
FSizeMenuItem: TMenuItem;
|
FSizeMenuItem: TMenuItem;
|
||||||
FBringToFrontMenuItem: TMenuItem;
|
FBringToFrontMenuItem: TMenuItem;
|
||||||
FSendToBackMenuItem: TMenuItem;
|
FSendToBackMenuItem: TMenuItem;
|
||||||
|
FDeleteSelectionMenuItem: TMenuItem;
|
||||||
|
|
||||||
//hint stuff
|
//hint stuff
|
||||||
FHintTimer : TTimer;
|
FHintTimer : TTimer;
|
||||||
@ -120,6 +121,7 @@ type
|
|||||||
MouseUpPos: TPoint;
|
MouseUpPos: TPoint;
|
||||||
LastMouseMovePos: TPoint;
|
LastMouseMovePos: TPoint;
|
||||||
PopupMenuComponentEditor: TBaseComponentEditor;
|
PopupMenuComponentEditor: TBaseComponentEditor;
|
||||||
|
LastFormCursor: TCursor;
|
||||||
|
|
||||||
function PaintControl(Sender: TControl; TheMessage: TLMPaint):boolean;
|
function PaintControl(Sender: TControl; TheMessage: TLMPaint):boolean;
|
||||||
function SizeControl(Sender: TControl; TheMessage: TLMSize):boolean;
|
function SizeControl(Sender: TControl; TheMessage: TLMSize):boolean;
|
||||||
@ -144,6 +146,7 @@ type
|
|||||||
procedure OnSizePopupMenuClick(Sender: TObject);
|
procedure OnSizePopupMenuClick(Sender: TObject);
|
||||||
procedure OnBringToFrontMenuClick(Sender: TObject);
|
procedure OnBringToFrontMenuClick(Sender: TObject);
|
||||||
procedure OnSendToBackMenuClick(Sender: TObject);
|
procedure OnSendToBackMenuClick(Sender: TObject);
|
||||||
|
procedure OnDeleteSelectionMenuClick(Sender: TObject);
|
||||||
Procedure OnFormActivated;
|
Procedure OnFormActivated;
|
||||||
procedure OnComponentEditorVerbMenuItemClick(Sender: TObject);
|
procedure OnComponentEditorVerbMenuItemClick(Sender: TObject);
|
||||||
|
|
||||||
@ -254,6 +257,7 @@ begin
|
|||||||
FHintWindow.AutoHide := True;
|
FHintWindow.AutoHide := True;
|
||||||
|
|
||||||
DDC:=TDesignerDeviceContext.Create;
|
DDC:=TDesignerDeviceContext.Create;
|
||||||
|
LastFormCursor:=crDefault;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TDesigner.Destroy;
|
destructor TDesigner.Destroy;
|
||||||
@ -813,6 +817,8 @@ begin
|
|||||||
|
|
||||||
OldMouseMovePos:= LastMouseMovePos;
|
OldMouseMovePos:= LastMouseMovePos;
|
||||||
LastMouseMovePos:= GetFormRelativeMousePosition(Form);
|
LastMouseMovePos:= GetFormRelativeMousePosition(Form);
|
||||||
|
if (OldMouseMovePos.X=LastMouseMovePos.X)
|
||||||
|
and (OldMouseMovePos.Y=LastMouseMovePos.Y) then exit;
|
||||||
|
|
||||||
Grabber:= ControlSelection.GrabberAtPos(LastMouseMovePos.X, LastMouseMovePos.Y);
|
Grabber:= ControlSelection.GrabberAtPos(LastMouseMovePos.X, LastMouseMovePos.Y);
|
||||||
if Grabber = nil then
|
if Grabber = nil then
|
||||||
@ -820,7 +826,10 @@ begin
|
|||||||
else begin
|
else begin
|
||||||
ACursor:= Grabber.Cursor;
|
ACursor:= Grabber.Cursor;
|
||||||
end;
|
end;
|
||||||
CNSendMessage(LM_SETCURSOR, Form, Pointer(Integer(ACursor)));
|
if ACursor<>LastFormCursor then begin
|
||||||
|
LastFormCursor:=ACursor;
|
||||||
|
CNSendMessage(LM_SETCURSOR, Form, Pointer(Integer(ACursor)));
|
||||||
|
end;
|
||||||
|
|
||||||
if MouseDownComponent=nil then exit;
|
if MouseDownComponent=nil then exit;
|
||||||
|
|
||||||
@ -1149,6 +1158,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TDesigner.OnDeleteSelectionMenuClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
DoDeleteSelectedComponents;
|
||||||
|
end;
|
||||||
|
|
||||||
function TDesigner.GetGridColor: TColor;
|
function TDesigner.GetGridColor: TColor;
|
||||||
begin
|
begin
|
||||||
Result:=EnvironmentOptions.GridColor;
|
Result:=EnvironmentOptions.GridColor;
|
||||||
@ -1336,6 +1350,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDesigner.BuildPopupMenu;
|
procedure TDesigner.BuildPopupMenu;
|
||||||
|
|
||||||
|
procedure AddSeparator;
|
||||||
|
var
|
||||||
|
NewMenuItem: TMenuItem;
|
||||||
|
begin
|
||||||
|
NewMenuItem:=TMenuItem.Create(FPopupMenu);
|
||||||
|
with NewMenuItem do begin
|
||||||
|
Caption:='-';
|
||||||
|
end;
|
||||||
|
FPopupMenu.Items.Add(NewMenuItem);
|
||||||
|
end;
|
||||||
|
|
||||||
var
|
var
|
||||||
ControlSelIsNotEmpty,
|
ControlSelIsNotEmpty,
|
||||||
FormIsSelected,
|
FormIsSelected,
|
||||||
@ -1394,6 +1420,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
FPopupMenu.Items.Add(FSizeMenuItem);
|
FPopupMenu.Items.Add(FSizeMenuItem);
|
||||||
|
|
||||||
|
AddSeparator;
|
||||||
|
|
||||||
FBringToFrontMenuItem := TMenuItem.Create(FPopupMenu);
|
FBringToFrontMenuItem := TMenuItem.Create(FPopupMenu);
|
||||||
with FBringToFrontMenuItem do begin
|
with FBringToFrontMenuItem do begin
|
||||||
Caption:= 'Bring to front';
|
Caption:= 'Bring to front';
|
||||||
@ -1409,6 +1437,16 @@ begin
|
|||||||
Enabled:= CompsAreSelected;
|
Enabled:= CompsAreSelected;
|
||||||
end;
|
end;
|
||||||
FPopupMenu.Items.Add(FSendToBackMenuItem);
|
FPopupMenu.Items.Add(FSendToBackMenuItem);
|
||||||
|
|
||||||
|
AddSeparator;
|
||||||
|
|
||||||
|
FDeleteSelectionMenuItem:=TMenuItem.Create(FPopupMenu);
|
||||||
|
with FDeleteSelectionMenuItem do begin
|
||||||
|
Caption:= 'Delete selection';
|
||||||
|
OnClick:=@OnDeleteSelectionMenuClick;
|
||||||
|
Enabled:= ControlSelIsNotEmpty;
|
||||||
|
end;
|
||||||
|
FPopupMenu.Items.Add(FDeleteSelectionMenuItem);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDesigner.OnAlignPopupMenuClick(Sender: TObject);
|
procedure TDesigner.OnAlignPopupMenuClick(Sender: TObject);
|
||||||
|
Loading…
Reference in New Issue
Block a user