QScxmlEvent Class

The QScxmlEvent class is an event for a Qt SCXML state machine. More...

Header: #include <QScxmlEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml

Public Types

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

Properties

Public Functions

QScxmlEvent()
QScxmlEvent(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)
QScxmlEvent &operator=(const QScxmlEvent &other)

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:

ConstantValueDescription
QScxmlEvent::PlatformEvent0An event generated internally by the state machine. For example, errors.
QScxmlEvent::InternalEvent1An event generated by a <raise> element.
QScxmlEvent::ExternalEvent2An 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:

QVariant data() const
void setData(const QVariant &data)

delay : int

This property holds the delay in milliseconds after which the event is to be delivered after processing the <send> element.

Access functions:

int delay() const
void setDelay(int delayInMiliSecs)

[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:

QString name() const
void setName(const QString &name)

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:

QString origin() const
void setOrigin(const QString &origin)

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:

QString sendId() const
void setSendId(const QString &sendid)

Member Function Documentation

QScxmlEvent::QScxmlEvent()

Creates a new external SCXML event.

QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)

Constructs a copy of other.

[noexcept] 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().

QScxmlEvent &QScxmlEvent::operator=(const QScxmlEvent &other)

Assigns other to this SCXML event and returns a reference to this SCXML event.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.