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.