| Version: 3.0.1

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
wxThreadEvent Class Reference
Events | 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.
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.
long | GetExtraLong () const
| Returns extra information integer value.
int | GetInt () const
| Returns stored integer value.
wxString | GetString () const
| Returns stored string value.
void | SetExtraLong (long extraLong)
| Sets the extra information value.
void | SetInt (int intCommand)
| Sets the integer value.
void | SetString (const wxString &string)
| Sets the string value.
Public Member Functions inherited from wxEvent
| wxEvent (int id=0, wxEventType eventType=wxEVT_NULL)
| Constructor.
wxObject * | GetEventObject () const
| Returns the object (usually a window) associated with the event, if any.
wxEventType | GetEventType () const
| Returns the identifier of the given event type, such as `wxEVT_BUTTON`.
int | GetId () const
| Returns the identifier associated with this event, such as a button command id.
wxObject * | GetEventUserData () const
| Return the user data associated with a dynamically connected event handler.
bool | GetSkipped () const
| Returns true if the event handler should be skipped, false otherwise.
long | GetTimestamp () const
| Gets the timestamp for the event.
bool | IsCommandEvent () const
| Returns true if the event is or is derived from wxCommandEvent else it returns false.
void | ResumePropagation (int propagationLevel)
| Sets the propagation level to the given value (for example returned from an earlier call to wxEvent::StopPropagation).
void | SetEventObject (wxObject *object)
| Sets the originating object.
void | SetEventType (wxEventType type)
| Sets the event type.
void | SetId (int id)
| Sets the identifier associated with this event, such as a button command id.
void | SetTimestamp (long timeStamp=0)
| Sets the timestamp for the event.
bool | ShouldPropagate () const
| Test if this event should be propagated or not, i.e. if the propagation level is currently greater than 0.
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.
int | StopPropagation ()
| Stop the event from propagating to its parent window.
Public Member Functions inherited from wxObject
| 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.

## Additional Inherited Members

Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object.
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it.
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.
Protected Attributes inherited from wxEvent
int | m_propagationLevel
| Indicates how many levels the event can propagate.

## Constructor & Destructor Documentation

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

Constructor.

## Member Function Documentation

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.

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

Returns extra information integer value.

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

Returns stored integer value.

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

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.

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

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

Sets the string value.