#include <wx/event.h>
This class adds some simple functionality to wxEvent to facilitate inter-thread communication.
This event is not natively emitted by any control/class: it is just a helper class for the user. Its most important feature is the GetEventCategory() implementation which allows thread events NOT to be processed by wxEventLoopBase::YieldFor calls (unless the wxEVT_CATEGORY_THREAD
is specified - which is never in wx code).
Public Member Functions | |
wxThreadEvent (wxEventType eventType=wxEVT_THREAD, int id=wxID_ANY) | |
Constructor. More... | |
virtual wxEvent * | Clone () const |
Clones this event making sure that all internal members which use COW (only m_commandString for now; see Reference Counting) are unshared (see wxObject::UnShare). More... | |
virtual wxEventCategory | GetEventCategory () const |
Returns wxEVT_CATEGORY_THREAD . More... | |
template<typename T > | |
void | SetPayload (const T &payload) |
Sets custom data payload. More... | |
template<typename T > | |
T | GetPayload () const |
Get custom data payload. More... | |
long | GetExtraLong () const |
Returns extra information integer value. More... | |
int | GetInt () const |
Returns stored integer value. More... | |
wxString | GetString () const |
Returns stored string value. More... | |
void | SetExtraLong (long extraLong) |
Sets the extra information value. More... | |
void | SetInt (int intCommand) |
Sets the integer value. More... | |
void | SetString (const wxString &string) |
Sets the string value. More... | |
Public Member Functions inherited from wxEvent | |
wxEvent (int id=0, wxEventType eventType=wxEVT_NULL) | |
Constructor. More... | |
wxObject * | GetEventObject () const |
Returns the object (usually a window) associated with the event, if any. More... | |
wxEventType | GetEventType () const |
Returns the identifier of the given event type, such as wxEVT_BUTTON . More... | |
int | GetId () const |
Returns the identifier associated with this event, such as a button command id. More... | |
wxObject * | GetEventUserData () const |
Return the user data associated with a dynamically connected event handler. More... | |
bool | GetSkipped () const |
Returns true if the event handler should be skipped, false otherwise. More... | |
long | GetTimestamp () const |
Gets the timestamp for the event. More... | |
bool | IsCommandEvent () const |
Returns true if the event is or is derived from wxCommandEvent else it returns false. More... | |
void | ResumePropagation (int propagationLevel) |
Sets the propagation level to the given value (for example returned from an earlier call to wxEvent::StopPropagation). More... | |
void | SetEventObject (wxObject *object) |
Sets the originating object. More... | |
void | SetEventType (wxEventType type) |
Sets the event type. More... | |
void | SetId (int id) |
Sets the identifier associated with this event, such as a button command id. More... | |
void | SetTimestamp (long timeStamp=0) |
Sets the timestamp for the event. More... | |
bool | ShouldPropagate () const |
Test if this event should be propagated or not, i.e. if the propagation level is currently greater than 0. More... | |
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. More... | |
int | StopPropagation () |
Stop the event from propagating to its parent window. More... | |
Public Member Functions inherited from wxObject | |
wxObject () | |
Default ctor; initializes to NULL the internal reference data. More... | |
wxObject (const wxObject &other) | |
Copy ctor. More... | |
virtual | ~wxObject () |
Destructor. More... | |
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). More... | |
wxObjectRefData * | GetRefData () const |
Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More... | |
bool | IsKindOf (const wxClassInfo *info) const |
Determines whether this class is a subclass of (or the same class as) the given class. More... | |
bool | IsSameAs (const wxObject &obj) const |
Returns true if this object has the same data pointer as obj. More... | |
void | Ref (const wxObject &clone) |
Makes this object refer to the data in clone. More... | |
void | SetRefData (wxObjectRefData *data) |
Sets the wxObject::m_refData pointer. More... | |
void | UnRef () |
Decrements the reference count in the associated data, and if it is zero, deletes the data. More... | |
void | UnShare () |
This is the same of AllocExclusive() but this method is public. More... | |
void | operator delete (void *buf) |
The delete operator is defined for debugging versions of the library only, when the identifier WXDEBUG is defined. More... | |
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. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from wxObject | |
void | AllocExclusive () |
Ensure that this object's data is not shared with any other object. More... | |
virtual wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More... | |
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. More... | |
Protected Attributes inherited from wxEvent | |
int | m_propagationLevel |
Indicates how many levels the event can propagate. More... | |
Protected Attributes inherited from wxObject | |
wxObjectRefData * | m_refData |
Pointer to an object which is the object's reference-counted data. More... | |
wxThreadEvent::wxThreadEvent | ( | wxEventType | eventType = wxEVT_THREAD , |
int | id = wxID_ANY |
||
) |
Constructor.
|
virtual |
Clones this event making sure that all internal members which use COW (only m_commandString
for now; see Reference Counting) are unshared (see wxObject::UnShare).
Implements wxEvent.
|
virtual |
Returns wxEVT_CATEGORY_THREAD
.
This is important to avoid unwanted processing of thread events when calling wxEventLoopBase::YieldFor().
Reimplemented from wxEvent.
long wxThreadEvent::GetExtraLong | ( | ) | const |
Returns extra information integer value.
int wxThreadEvent::GetInt | ( | ) | const |
Returns stored integer value.
T wxThreadEvent::GetPayload | ( | ) | const |
Get custom data payload.
Correct type is checked in debug builds.
wxString wxThreadEvent::GetString | ( | ) | const |
Returns stored string value.
void wxThreadEvent::SetExtraLong | ( | long | extraLong | ) |
Sets the extra information value.
void wxThreadEvent::SetInt | ( | int | intCommand | ) |
Sets the integer value.
void wxThreadEvent::SetPayload | ( | const T & | payload | ) |
Sets custom data payload.
The payload argument may be of any type that wxAny can handle (i.e. pretty much anything). Note that T's copy constructor must be thread-safe, i.e. create a copy that doesn't share anything with the original (see Clone()).
void wxThreadEvent::SetString | ( | const wxString & | string | ) |
Sets the string value.