#include <wx/event.h>
This class adds some simple functionalities to wxCommandEvent coinceived for inter-threads communications.
This event is not natively emitted by any control/class: this is just an helper class for the user. Its most important feature is the GetEventCategory() implementation which allows thread events to NOT 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_COMMAND_THREAD, int id=wxID_ANY) | |
Constructor. | |
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). | |
virtual wxEventCategory | GetEventCategory () const |
Returns wxEVT_CATEGORY_THREAD . | |
template<typename T > | |
void | SetPayload (const T &payload) |
Sets custom data payload. | |
template<typename T > | |
T | GetPayload () const |
Get custom data payload. |
wxThreadEvent::wxThreadEvent | ( | wxEventType | eventType = wxEVT_COMMAND_THREAD , |
|
int | id = wxID_ANY | |||
) |
Constructor.
virtual wxEvent* wxThreadEvent::Clone | ( | ) | const [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 wxEventCategory wxThreadEvent::GetEventCategory | ( | ) | const [virtual] |
Returns wxEVT_CATEGORY_THREAD
.
This is important to avoid unwanted processing of thread events when calling wxEventLoopBase::YieldFor().
Reimplemented from wxEvent.
T wxThreadEvent::GetPayload | ( | ) | const [inline] |
Get custom data payload.
Correct type is checked in debug builds.
void wxThreadEvent::SetPayload | ( | const T & | payload | ) | [inline] |
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()).
![]() |
[ top ] |