| Version: 3.3.1

Public Member Functions | List of all members
wxThreadEvent Class Reference
Class List by Category » Events | Class List by Category » Threading

`#include <wx/event.h>`

Inheritance diagram for wxThreadEvent:
[legend]

## Detailed Description

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).

##

Library: wxCore
Category: Events, Threading

See also
  Multithreading Overview, wxEventLoopBase::YieldFor

Since
  2.9.0

## 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 nullptr 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=nullptr, 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...

## Constructor & Destructor Documentation

## ◆ wxThreadEvent()

wxThreadEvent::wxThreadEvent | ( | wxEventType | eventType = `wxEVT_THREAD`,
|  | int | id = `wxID_ANY`
| ) |  |

Constructor.

## Member Function Documentation

## ◆ Clone()

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.

## ◆ GetEventCategory()

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.

## ◆ GetExtraLong()

long wxThreadEvent::GetExtraLong | ( |  | ) | const

Returns extra information integer value.

## ◆ GetInt()

int wxThreadEvent::GetInt | ( |  | ) | const

Returns stored integer value.

## ◆ GetPayload()

template<typename T >

T wxThreadEvent::GetPayload | ( |  | ) | const

Get custom data payload.

Correct type is checked in debug builds.

Note
  This method is not available with Visual C++ 6.

Since
  2.9.1

See also
  SetPayload(), wxAny

## ◆ GetString()

wxString wxThreadEvent::GetString | ( |  | ) | const

Returns stored string value.

## ◆ SetExtraLong()

void wxThreadEvent::SetExtraLong | ( | long | extraLong | ) |

Sets the extra information value.

## ◆ SetInt()

void wxThreadEvent::SetInt | ( | int | intCommand | ) |

Sets the integer value.

## ◆ SetPayload()

template<typename T >

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()).

Note
  This method is not available with Visual C++ 6.

Since
  2.9.1

See also
  GetPayload(), wxAny

## ◆ SetString()

void wxThreadEvent::SetString | ( | const wxString & | string | ) |

Sets the string value.