summaryrefslogtreecommitdiff
path: root/uidesigner
diff options
context:
space:
mode:
Diffstat (limited to 'uidesigner')
-rw-r--r--uidesigner/vfddesigner.pas31
-rw-r--r--uidesigner/vfdwidgetclass.pas2
-rw-r--r--uidesigner/vfdwidgets.pas1
3 files changed, 21 insertions, 13 deletions
diff --git a/uidesigner/vfddesigner.pas b/uidesigner/vfddesigner.pas
index 9c8e27c8..c866f3bb 100644
--- a/uidesigner/vfddesigner.pas
+++ b/uidesigner/vfddesigner.pas
@@ -314,7 +314,6 @@ var
pmenu: TfpgPopupMenu;
begin
// writeln('TFormDesigner.MsgMouseUp');
- msg.Stop := True;
FDragging := False;
shift := (ssShift in msg.Params.mouse.shiftstate);
@@ -327,6 +326,12 @@ begin
else if not wgd.FVFDClass.Container then
wgc := nil;
+ // Should we block mouse msg to actual widget?
+ if Assigned(wgd) then
+ msg.Stop := wgd.FVFDClass.BlockMouseMsg
+ else
+ msg.Stop := True;
+
if wgc <> nil then
begin
DeSelectAll;
@@ -373,18 +378,18 @@ begin
UpdatePropWin;
- if msg.Params.mouse.Buttons = 3 then {right mouse button }
- begin
- if TfpgWidget(msg.Dest).ClassType = TfpgPageControl then
- begin
- writeln('Right click on page control');
- wgd := WidgetDesigner(TfpgWidget(msg.dest));
- if wgd <> nil then
- pmenu := wgd.FVFDClass.CreatePopupMenu(TfpgWidget(msg.dest));
- if Assigned(pmenu) then
- pmenu.ShowAt(wgd.Widget, msg.Params.mouse.x, msg.Params.mouse.y);
- end;
- end;
+ //if msg.Params.mouse.Buttons = 3 then {right mouse button }
+ //begin
+ //if TfpgWidget(msg.Dest).ClassType = TfpgPageControl then
+ //begin
+ //writeln('Right click on page control');
+ //wgd := WidgetDesigner(TfpgWidget(msg.dest));
+ //if wgd <> nil then
+ //pmenu := wgd.FVFDClass.CreatePopupMenu(TfpgWidget(msg.dest));
+ //if Assigned(pmenu) then
+ //pmenu.ShowAt(wgd.Widget, msg.Params.mouse.x, msg.Params.mouse.y);
+ //end;
+ //end;
end;
procedure TFormDesigner.MsgMouseMove(var msg: TfpgMessageRec);
diff --git a/uidesigner/vfdwidgetclass.pas b/uidesigner/vfdwidgetclass.pas
index 98d89f31..b2dd6e6d 100644
--- a/uidesigner/vfdwidgetclass.pas
+++ b/uidesigner/vfdwidgetclass.pas
@@ -77,6 +77,7 @@ type
WidgetIconName: string;
NameBase: string;
Container: boolean;
+ BlockMouseMsg: boolean;
constructor Create(aClass: TWidgetClass);
destructor Destroy; override;
function AddProperty(apropname: string; apropclass: TVFDPropertyClass; desc: string): TVFDWidgetProperty;
@@ -115,6 +116,7 @@ begin
Description := '';
NameBase := 'Widget';
Container := False;
+ BlockMouseMsg := True;
end;
function TVFDWidgetClass.CreateWidget(AOwner: TComponent): TfpgWidget;
diff --git a/uidesigner/vfdwidgets.pas b/uidesigner/vfdwidgets.pas
index 65057c84..a60427d0 100644
--- a/uidesigner/vfdwidgets.pas
+++ b/uidesigner/vfdwidgets.pas
@@ -554,6 +554,7 @@ begin
wc.AddProperty('TabPosition', TPropertyEnum, '');
wc.WidgetIconName := 'vfd.pagecontrol';
wc.Container := True;
+ wc.BlockMouseMsg := False;
RegisterVFDWidget(wc);
// TabSheet