#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 ] |