QScxmlEvent Class
The QScxmlEvent class is an event for a Qt SCXML state machine. More...
Header: | #include <QScxmlEvent> |
CMake: | find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
qmake: | QT += scxml |
Since: | Qt 5.7 |
Public Types
enum | EventType { PlatformEvent, InternalEvent, ExternalEvent } |
Properties
|
|
Public Functions
QScxmlEvent(const QScxmlEvent &other) | |
QScxmlEvent() | |
QScxmlEvent & | operator=(const QScxmlEvent &other) |
~QScxmlEvent() | |
void | clear() |
QVariant | data() const |
int | delay() const |
QString | errorMessage() const |
QScxmlEvent::EventType | eventType() const |
QString | invokeId() const |
bool | isErrorEvent() const |
QString | name() const |
QString | origin() const |
QString | originType() const |
QString | scxmlType() const |
QString | sendId() const |
void | setData(const QVariant &data) |
void | setDelay(int delayInMiliSecs) |
void | setErrorMessage(const QString &message) |
void | setEventType(const QScxmlEvent::EventType &type) |
void | setInvokeId(const QString &invokeid) |
void | setName(const QString &name) |
void | setOrigin(const QString &origin) |
void | setOriginType(const QString &origintype) |
void | setSendId(const QString &sendid) |
Detailed Description
SCXML events drive transitions. Most events are generated by using the <raise>
and <send>
elements in the application. The state machine automatically generates some mandatory events, such as errors.
For more information, see SCXML Specification - 5.10.1 The Internal Structure of Events. For more information about how the Qt SCXML API differs from the specification, see SCXML Compliance.
See also QScxmlStateMachine.
Member Type Documentation
enum QScxmlEvent::EventType
This enum type specifies the type of an SCXML event:
Constant | Value | Description |
---|---|---|
QScxmlEvent::PlatformEvent | 0 | An event generated internally by the state machine. For example, errors. |
QScxmlEvent::InternalEvent | 1 | An event generated by a <raise> element. |
QScxmlEvent::ExternalEvent | 2 | An event generated by a <send> element. |
Property Documentation
data : QVariant
This property holds the data included by the sender.
When <param>
elements are used in the <send>
element, the data will contain a QVariantMap where the key is the name attribute, and the value is taken from the expr attribute or the location attribute.
When a <content>
element is used, the data will contain a single item with either the value of the expr attribute of the <content>
element or the child data of the <content>
element.
Access functions:
delay : int
This property holds the delay in milliseconds after which the event is to be delivered after processing the <send>
element.
Access functions:
[read-only]
errorEvent : const bool
This property holds whether the event represents an error.
Access functions:
bool | isErrorEvent() const |
errorMessage : QString
This property holds an error message for an error event, or an empty QString.
Access functions:
QString | errorMessage() const |
void | setErrorMessage(const QString &message) |
eventType : EventType
This property holds the type of the event.
Access functions:
QScxmlEvent::EventType | eventType() const |
void | setEventType(const QScxmlEvent::EventType &type) |
invokeId : QString
This property holds the ID of the invoked state machine if the event is generated by one.
Access functions:
QString | invokeId() const |
void | setInvokeId(const QString &invokeid) |
name : QString
This property holds the name of the event.
If the event is generated inside the SCXML document, this property holds the value of the event attribute specified inside the <raise>
or <send>
element.
If the event is created in the C++ code and submitted to the QScxmlStateMachine, the value of this property is matched against the value of the event attribute specified inside the <transition>
element in the SCXML document.
Access functions:
origin : QString
This property holds the URI that points to the origin of an SCXML event.
The origin is equivalent to the target attribute of the <send>
element.
Access functions:
originType : QString
This property holds the origin type of an SCXML event.
The origin type is equivalent to the type attribute of the <send>
element.
Access functions:
QString | originType() const |
void | setOriginType(const QString &origintype) |
[read-only]
scxmlType : const QString
This property holds the event type.
Access functions:
QString | scxmlType() const |
sendId : QString
This property holds the ID of the event.
The ID is used by the <cancel>
element to identify the event to be canceled.
Note: The state machine generates a unique ID if the id attribute is not specified in the <send>
element. The generated ID can be accessed through this property.
Access functions:
Member Function Documentation
QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)
Constructs a copy of other.
QScxmlEvent::QScxmlEvent()
Creates a new external SCXML event.
QScxmlEvent &QScxmlEvent::operator=(const QScxmlEvent &other)
Assigns other to this SCXML event and returns a reference to this SCXML event.
QScxmlEvent::~QScxmlEvent()
Destroys the SCXML event.
[invokable]
void QScxmlEvent::clear()
Clears the contents of the event.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
QVariant QScxmlEvent::data() const
Returns the data included by the sender.
Note: Getter function for property data.
See also setData().
int QScxmlEvent::delay() const
Returns the delay in milliseconds after which this event is to be delivered after processing the <send>
element.
Note: Getter function for property delay.
See also setDelay().
QString QScxmlEvent::errorMessage() const
If this is an error event, returns the error message. Otherwise, returns an empty QString.
Note: Getter function for property errorMessage.
See also setErrorMessage().
QScxmlEvent::EventType QScxmlEvent::eventType() const
Returns the type of this event.
Note: Getter function for property eventType.
See also setEventType() and QScxmlEvent::EventType.
QString QScxmlEvent::invokeId() const
If this event is generated by an invoked state machine, returns the ID of the <invoke>
element. Otherwise, returns an empty value.
Note: Getter function for property invokeId.
See also setInvokeId().
bool QScxmlEvent::isErrorEvent() const
Returns true
when this is an error event, false
otherwise.
Note: Getter function for property errorEvent.
QString QScxmlEvent::name() const
Returns the name of the event.
Note: Getter function for property name.
See also setName().
QString QScxmlEvent::origin() const
Returns a URI that points to the origin of an SCXML event.
Note: Getter function for property origin.
See also setOrigin().
QString QScxmlEvent::originType() const
Returns the origin type of an SCXML event.
Note: Getter function for property originType.
See also setOriginType().
QString QScxmlEvent::scxmlType() const
Returns the event type.
Note: Getter function for property scxmlType.
QString QScxmlEvent::sendId() const
Returns the ID of the event.
Note: Getter function for property sendId.
See also setSendId().
void QScxmlEvent::setData(const QVariant &data)
Sets the payload data to data.
Note: Setter function for property data.
See also QScxmlEvent::data.
void QScxmlEvent::setDelay(int delayInMiliSecs)
Sets the delay in milliseconds as the value of delayInMiliSecs.
Note: Setter function for property delay.
See also QScxmlEvent::delay.
void QScxmlEvent::setErrorMessage(const QString &message)
If this is an error event, the message is set as the error message.
Note: Setter function for property errorMessage.
See also errorMessage().
void QScxmlEvent::setEventType(const QScxmlEvent::EventType &type)
Sets the event type to type.
Note: Setter function for property eventType.
See also QScxmlEvent::eventType and QScxmlEvent::EventType.
void QScxmlEvent::setInvokeId(const QString &invokeid)
Sets the ID of an invoked state machine to invokeid.
Note: Setter function for property invokeId.
See also QScxmlEvent::invokeId.
void QScxmlEvent::setName(const QString &name)
Sets the name of the event to name.
Note: Setter function for property name.
See also name().
void QScxmlEvent::setOrigin(const QString &origin)
Sets the origin of an SCXML event to origin.
Note: Setter function for property origin.
See also QScxmlEvent::origin.
void QScxmlEvent::setOriginType(const QString &origintype)
Sets the origin type of an SCXML event to origintype.
Note: Setter function for property originType.
See also QScxmlEvent::originType.
void QScxmlEvent::setSendId(const QString &sendid)
Sets the ID sendid for this event.
Note: Setter function for property sendId.
See also sendId().