QScxmlEvent Class

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

Header: #include <QScxmlEvent>
qmake: QT += scxml
Since: Qt 5.7
Inherits: QEvent

Public Types

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

Properties

  • 1 property inherited from QEvent

Public Functions

QScxmlEvent()
QScxmlEvent(const QScxmlEvent &other)
~QScxmlEvent()
void clear()
QVariant data() const
int delay() const
QString errorMessage() const
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 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)
  • 6 public functions inherited from QEvent

Additional Inherited Members

  • 1 static public member inherited from QEvent

Detailed Description

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

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

eventType : const QString

This property holds the type of the event.

Access functions:

QString scxmlType() const

invokeId : const QString

This property holds the ID of the invoked state machine if the event is generated by one.

Access functions:

QString invokeId() const

name : const 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

origin : const 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

originType : const 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

sendId : const 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

Member Function Documentation

QScxmlEvent::QScxmlEvent()

Creates a new external SCXML event.

QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)

Constructs a copy of other.

QScxmlEvent::~QScxmlEvent()

Destroys the SCXML event.

void QScxmlEvent::clear()

Clears the contents of the event.

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.

See also setDelay().

QString QScxmlEvent::errorMessage() const

If this is an error event, returns the error message. Otherwise, returns an empty QString.

See also setErrorMessage().

EventType QScxmlEvent::eventType() const

Returns the type of this event.

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.

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

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.

See also QScxmlEvent::data.

void QScxmlEvent::setDelay(int delayInMiliSecs)

Sets the delay in milliseconds as the value of delayInMiliSecs.

See also QScxmlEvent::delay.

void QScxmlEvent::setErrorMessage(const QString &message)

If this is an error event, the message is set as the error message.

See also errorMessage().

void QScxmlEvent::setEventType(const EventType &type)

Sets the event type to type.

See also QScxmlEvent::eventType and QScxmlEvent::EventType.

void QScxmlEvent::setInvokeId(const QString &invokeid)

Sets the ID of an invoked state machine to invokeid.

See also QScxmlEvent::invokeId.

void QScxmlEvent::setName(const QString &name)

Sets the name of the event to name.

See also name().

void QScxmlEvent::setOrigin(const QString &origin)

Sets the origin of an SCXML event to origin.

See also QScxmlEvent::origin.

void QScxmlEvent::setOriginType(const QString &origintype)

Sets the origin type of an SCXML event to origintype.

See also QScxmlEvent::originType.

void QScxmlEvent::setSendId(const QString &sendid)

Sets the ID sendid for this event.

See also sendId().

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

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

© 2016 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.