View Source wxContextMenuEvent (wx v2.4.2)
Functions for wxContextMenuEvent class
This class is used for context menu events, sent to give the application a
chance to show a context (popup) menu for a wxWindow
.
Note that if getPosition/1
returns wxDefaultPosition, this means that the
event originated from a keyboard context button event, and you should compute a
suitable position yourself, for example by calling wx_misc:getMousePosition/0
.
Notice that the exact sequence of mouse events is different across the
platforms. For example, under MSW the context menu event is generated after
EVT_RIGHT_UP
event and only if it was not handled but under GTK the context
menu event is generated after EVT_RIGHT_DOWN
event. This is correct in the
sense that it ensures that the context menu is shown according to the current
platform UI conventions and also means that you must not handle (or call
wxEvent:skip/2
in your handler if you do have one) neither right mouse down
nor right mouse up event if you plan on handling EVT_CONTEXT_MENU
event.
See: wxCommandEvent
,
Overview events
This class is derived (and can use functions) from: wxCommandEvent
wxEvent
wxWidgets docs: wxContextMenuEvent
Events
Use wxEvtHandler:connect/3
with
wxContextMenuEventType
to subscribe to events
of this type.
Summary
Functions
Returns the position in screen coordinates at which the menu should be shown.
Sets the position at which the menu should be shown.
Types
-type wxContextMenu() :: #wxContextMenu{type :: wxContextMenuEvent:wxContextMenuEventType(), pos :: {X :: integer(), Y :: integer()}}.
-type wxContextMenuEvent() :: wx:wx_object().
-type wxContextMenuEventType() :: context_menu.
Functions
-spec getPosition(This) -> {X :: integer(), Y :: integer()} when This :: wxContextMenuEvent().
Returns the position in screen coordinates at which the menu should be shown.
Use wxWindow:screenToClient/2
to convert to client coordinates.
You can also omit a position from wxWindow:popupMenu/4
in order to use the
current mouse pointer position.
If the event originated from a keyboard event, the value returned from this function will be wxDefaultPosition.
-spec setPosition(This, Point) -> ok when This :: wxContextMenuEvent(), Point :: {X :: integer(), Y :: integer()}.
Sets the position at which the menu should be shown.