#include <wx/event.h>
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 wxContextMenuEvent::GetPosition 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 wxGetMousePosition().
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() 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.
The following event handler macros redirect the events to member function handlers 'func' with prototypes like:
Event macros:
Public Member Functions | |
wxContextMenuEvent (wxEventType type=wxEVT_NULL, int id=0, const wxPoint &pos=wxDefaultPosition) | |
Constructor. | |
const wxPoint & | GetPosition () const |
Returns the position in screen coordinates at which the menu should be shown. | |
void | SetPosition (const wxPoint &point) |
Sets the position at which the menu should be shown. | |
Public Member Functions inherited from wxCommandEvent | |
wxCommandEvent (wxEventType commandEventType=wxEVT_NULL, int id=0) | |
Constructor. | |
void * | GetClientData () const |
Returns client data pointer for a listbox or choice selection event (not valid for a deselection). | |
wxClientData * | GetClientObject () const |
Returns client object pointer for a listbox or choice selection event (not valid for a deselection). | |
long | GetExtraLong () const |
Returns extra information dependent on the event objects type. | |
int | GetInt () const |
Returns the integer identifier corresponding to a listbox, choice or radiobox selection (only if the event was a selection, not a deselection), or a boolean value representing the value of a checkbox. | |
int | GetSelection () const |
Returns item index for a listbox or choice selection event (not valid for a deselection). | |
wxString | GetString () const |
Returns item string for a listbox or choice selection event. | |
bool | IsChecked () const |
This method can be used with checkbox and menu events: for the checkboxes, the method returns true for a selection event and false for a deselection one. | |
bool | IsSelection () const |
For a listbox or similar event, returns true if it is a selection, false if it is a deselection. | |
void | SetClientData (void *clientData) |
Sets the client data for this event. | |
void | SetClientObject (wxClientData *clientObject) |
Sets the client object for this event. | |
void | SetExtraLong (long extraLong) |
Sets the m_extraLong member. | |
void | SetInt (int intCommand) |
Sets the m_commandInt member. | |
void | SetString (const wxString &string) |
Sets the m_commandString member. | |
Public Member Functions inherited from wxEvent | |
wxEvent (int id=0, wxEventType eventType=wxEVT_NULL) | |
Constructor. | |
virtual wxEvent * | Clone () const =0 |
Returns a copy of the event. | |
wxObject * | GetEventObject () const |
Returns the object (usually a window) associated with the event, if any. | |
wxEventType | GetEventType () const |
Returns the identifier of the given event type, such as wxEVT_BUTTON . | |
virtual wxEventCategory | GetEventCategory () const |
Returns a generic category for this event. | |
int | GetId () const |
Returns the identifier associated with this event, such as a button command id. | |
wxObject * | GetEventUserData () const |
Return the user data associated with a dynamically connected event handler. | |
bool | GetSkipped () const |
Returns true if the event handler should be skipped, false otherwise. | |
long | GetTimestamp () const |
Gets the timestamp for the event. | |
bool | IsCommandEvent () const |
Returns true if the event is or is derived from wxCommandEvent else it returns false. | |
void | ResumePropagation (int propagationLevel) |
Sets the propagation level to the given value (for example returned from an earlier call to wxEvent::StopPropagation). | |
void | SetEventObject (wxObject *object) |
Sets the originating object. | |
void | SetEventType (wxEventType type) |
Sets the event type. | |
void | SetId (int id) |
Sets the identifier associated with this event, such as a button command id. | |
void | SetTimestamp (long timeStamp=0) |
Sets the timestamp for the event. | |
bool | ShouldPropagate () const |
Test if this event should be propagated or not, i.e. if the propagation level is currently greater than 0. | |
void | Skip (bool skip=true) |
This method can be used inside an event handler to control whether further event handlers bound to this event will be called after the current one returns. | |
int | StopPropagation () |
Stop the event from propagating to its parent window. | |
Public Member Functions inherited from wxObject | |
wxObject () | |
Default ctor; initializes to NULL the internal reference data. | |
wxObject (const wxObject &other) | |
Copy ctor. | |
virtual | ~wxObject () |
Destructor. | |
virtual wxClassInfo * | GetClassInfo () const |
This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). | |
wxObjectRefData * | GetRefData () const |
Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. | |
bool | IsKindOf (const wxClassInfo *info) const |
Determines whether this class is a subclass of (or the same class as) the given class. | |
bool | IsSameAs (const wxObject &obj) const |
Returns true if this object has the same data pointer as obj. | |
void | Ref (const wxObject &clone) |
Makes this object refer to the data in clone. | |
void | SetRefData (wxObjectRefData *data) |
Sets the wxObject::m_refData pointer. | |
void | UnRef () |
Decrements the reference count in the associated data, and if it is zero, deletes the data. | |
void | UnShare () |
This is the same of AllocExclusive() but this method is public. | |
void | operator delete (void *buf) |
The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. | |
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0) |
The new operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. | |
Additional Inherited Members | |
Protected Member Functions inherited from wxObject | |
void | AllocExclusive () |
Ensure that this object's data is not shared with any other object. | |
virtual wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. | |
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. | |
Protected Attributes inherited from wxEvent | |
int | m_propagationLevel |
Indicates how many levels the event can propagate. | |
wxContextMenuEvent::wxContextMenuEvent | ( | wxEventType | type = wxEVT_NULL , |
int | id = 0 , |
||
const wxPoint & | pos = wxDefaultPosition |
||
) |
Constructor.
const wxPoint& wxContextMenuEvent::GetPosition | ( | ) | const |
Returns the position in screen coordinates at which the menu should be shown.
Use wxWindow::ScreenToClient to convert to client coordinates.
You can also omit a position from wxWindow::PopupMenu 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.
void wxContextMenuEvent::SetPosition | ( | const wxPoint & | point | ) |
Sets the position at which the menu should be shown.