mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-11 14:39:07 +02:00
gtk2: handle LM_CONTEXTMENU message triggered by "menu key" press
git-svn-id: trunk@20020 -
This commit is contained in:
parent
f84bbc8909
commit
d154466c76
@ -358,6 +358,7 @@ begin
|
||||
GtkWidgetSet.SetCallback(LM_MBUTTONUP, AGTKObject, AComponent);
|
||||
GtkWidgetSet.SetCallback(LM_MOUSEWHEEL, AGTKObject, AComponent);
|
||||
GtkWidgetSet.SetCallback(LM_DROPFILES, AGTKObject, AComponent);
|
||||
GtkWidgetSet.SetCallback(LM_CONTEXTMENU, AGtkObject, AComponent);
|
||||
end;
|
||||
|
||||
{$IFDEF GTK1}
|
||||
|
@ -115,6 +115,20 @@ begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
function gtk2PopupMenuCB(Widget: PGtkWidget; data: gPointer): gboolean; cdecl;
|
||||
var
|
||||
Msg: TLMMouse;
|
||||
begin
|
||||
FillChar(Msg, SizeOf(Msg), #0);
|
||||
|
||||
Msg.Msg := LM_CONTEXTMENU;
|
||||
Msg.Keys := 0; // todo: true keystate
|
||||
Msg.XPos := Widget^.allocation.width div 2;
|
||||
Msg.YPos := Widget^.allocation.height div 2;
|
||||
|
||||
Result := DeliverMessage(TComponent(data), Msg) <> 0;
|
||||
end;
|
||||
|
||||
function gtk2showCB( widget: PGtkWidget; data: gPointer) : GBoolean; cdecl;
|
||||
var
|
||||
Status : GBoolean;
|
||||
@ -381,6 +395,9 @@ begin
|
||||
ConnectSenderSignal(gObject, 'hide', @gtk2hideCB);
|
||||
end;
|
||||
|
||||
LM_CONTEXTMENU:
|
||||
ConnectSenderSignal(gCore, 'popup-menu', @gtk2PopupMenuCB);
|
||||
|
||||
else
|
||||
inherited SetCallbackEx(AMsg, AGTKObject, ALCLObject, Direct);
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user