QScxmlEvent Class | Qt SCXML 5.7

Qt 5.7 | Qt SCXML | C++ Classes | QScxmlEvent

Qt 5.7.1 Reference Documentation

# 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

- List of all members, including inherited members

## Public Types

enum | EventType { PlatformEvent, InternalEvent, ExternalEvent }

## Properties

data : const QVariant eventType : const QString invokeId : const QString name : const QString | origin : const QString originType : const QString sendId : const QString

## 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)

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

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