Helper for handling mouse input events in windows containing multiple items.
This class handles mouse events and synthesizes high-level notifications such as clicks and drag events from low level mouse button presses and mouse movement events. It is useful because handling the mouse events is less obvious than might seem at a first glance: for example, clicks on an object should only be generated if the mouse was both pressed and released over it and not just released (so it requires storing the previous state) and dragging shouldn't start before the mouse moves away far enough.
This class encapsulates all these dull details for controls containing multiple items which can be identified by a positive integer index and you just need to implement its pure virtual functions to use it.
Notice that this class supposes that all items can be identified by an integer "index" but it doesn't need to be an ordinal index of the item (although this is the most common case) – it can be any value which can be used to uniquely identify an item.
|
| wxMouseEventsManager () |
| Default constructor.
|
|
| wxMouseEventsManager (wxWindow *win) |
| Constructor creates the manager for the window.
|
|
bool | Create (wxWindow *win) |
| Finishes initialization of the object created using default constructor.
|
|
Public Member Functions inherited from wxEvtHandler |
| wxEvtHandler () |
| Constructor.
|
|
virtual | ~wxEvtHandler () |
| Destructor.
|
|
virtual void | QueueEvent (wxEvent *event) |
| Queue event for a later processing.
|
|
virtual void | AddPendingEvent (const wxEvent &event) |
| Post an event to be processed later.
|
|
template<typename T , typename T1 , ... > |
void | CallAfter (void(T::*method)(T1,...), T1 x1,...) |
| Asynchronously call the given method.
|
|
template<typename T > |
void | CallAfter (const T &functor) |
| Asynchronously call the given functor.
|
|
virtual bool | ProcessEvent (wxEvent &event) |
| Processes an event, searching event tables and calling zero or more suitable event handler function(s).
|
|
bool | ProcessEventLocally (wxEvent &event) |
| Try to process the event in this handler and all those chained to it.
|
|
bool | SafelyProcessEvent (wxEvent &event) |
| Processes an event by calling ProcessEvent() and handles any exceptions that occur in the process.
|
|
void | ProcessPendingEvents () |
| Processes the pending events previously queued using QueueEvent() or AddPendingEvent(); you must call this function only if you are sure there are pending events for this handler, otherwise a wxCHECK will fail.
|
|
void | DeletePendingEvents () |
| Deletes all events queued on this event handler using QueueEvent() or AddPendingEvent().
|
|
virtual bool | SearchEventTable (wxEventTable &table, wxEvent &event) |
| Searches the event table, executing an event handler function if an appropriate one is found.
|
|
void | Connect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| Connects the given function dynamically with the event handler, id and event type.
|
|
void | Connect (int id, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
|
|
void | Connect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
|
|
bool | Disconnect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| Disconnects the given function dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed.
|
|
bool | Disconnect (int id=wxID_ANY, wxEventType eventType=wxEVT_NULL, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
|
|
bool | Disconnect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL) |
| See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
|
|
template<typename EventTag , typename Functor > |
void | Bind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL) |
| Binds the given function, functor or method dynamically with the event.
|
|
template<typename EventTag , typename Class , typename EventArg , typename EventHandler > |
void | Bind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL) |
| See the Bind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info.
|
|
template<typename EventTag , typename Functor > |
bool | Unbind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL) |
| Unbinds the given function, functor or method dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed.
|
|
template<typename EventTag , typename Class , typename EventArg , typename EventHandler > |
bool | Unbind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL) |
| See the Unbind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info.
|
|
void * | GetClientData () const |
| Returns user-supplied client data.
|
|
wxClientData * | GetClientObject () const |
| Returns a pointer to the user-supplied client data object.
|
|
void | SetClientData (void *data) |
| Sets user-supplied client data.
|
|
void | SetClientObject (wxClientData *data) |
| Set the client data object.
|
|
bool | GetEvtHandlerEnabled () const |
| Returns true if the event handler is enabled, false otherwise.
|
|
wxEvtHandler * | GetNextHandler () const |
| Returns the pointer to the next handler in the chain.
|
|
wxEvtHandler * | GetPreviousHandler () const |
| Returns the pointer to the previous handler in the chain.
|
|
void | SetEvtHandlerEnabled (bool enabled) |
| Enables or disables the event handler.
|
|
virtual void | SetNextHandler (wxEvtHandler *handler) |
| Sets the pointer to the next handler.
|
|
virtual void | SetPreviousHandler (wxEvtHandler *handler) |
| Sets the pointer to the previous handler.
|
|
void | Unlink () |
| Unlinks this event handler from the chain it's part of (if any); then links the "previous" event handler to the "next" one (so that the chain won't be interrupted).
|
|
bool | IsUnlinked () const |
| Returns true if the next and the previous handler pointers of this event handler instance are NULL.
|
|
| 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.
|
|