QScxmlEvent Class

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

头文件: #include <QScxmlEvent>
qmake: QT += scxml
开始支持版本: Qt 5.7

公有类型

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

属性

公有函数

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)

详细描述

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.

参见 QScxmlStateMachine.

成员类型

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.

属性

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.

访问函数:

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.

访问函数:

int delay() const
void setDelay(int delayInMiliSecs)

errorEvent : const bool

This property holds whether the event represents an error.

访问函数:

bool isErrorEvent() const

errorMessage : QString

This property holds an error message for an error event, or an empty QString.

访问函数:

QString errorMessage() const
void setErrorMessage(const QString &message)

eventType : EventType

This property holds the type of the event.

访问函数:

EventType eventType() const
void setEventType(const EventType &type)

invokeId : QString

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

访问函数:

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.

访问函数:

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.

访问函数:

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.

访问函数:

QString originType() const
void setOriginType(const QString &origintype)

scxmlType : const QString

This property holds the event type.

访问函数:

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.

访问函数:

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

成员函数

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.

参见 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.

参见 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.

参见 setErrorMessage().

EventType QScxmlEvent::eventType() const

Returns the type of this event.

Note: Getter function for property eventType.

参见 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.

参见 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.

参见 setName().

QString QScxmlEvent::origin() const

Returns a URI that points to the origin of an SCXML event.

Note: Getter function for property origin.

参见 setOrigin().

QString QScxmlEvent::originType() const

Returns the origin type of an SCXML event.

Note: Getter function for property originType.

参见 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.

参见 setSendId().

void QScxmlEvent::setData(const QVariant &data)

Sets the payload data to data.

Note: Setter function for property data.

参见 QScxmlEvent::data.

void QScxmlEvent::setDelay(int delayInMiliSecs)

Sets the delay in milliseconds as the value of delayInMiliSecs.

Note: Setter function for property delay.

参见 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.

参见 errorMessage().

void QScxmlEvent::setEventType(const EventType &type)

Sets the event type to type.

Note: Setter function for property eventType.

参见 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.

参见 QScxmlEvent::invokeId.

void QScxmlEvent::setName(const QString &name)

Sets the name of the event to name.

Note: Setter function for property name.

参见 name().

void QScxmlEvent::setOrigin(const QString &origin)

Sets the origin of an SCXML event to origin.

Note: Setter function for property origin.

参见 QScxmlEvent::origin.

void QScxmlEvent::setOriginType(const QString &origintype)

Sets the origin type of an SCXML event to origintype.

Note: Setter function for property originType.

参见 QScxmlEvent::originType.

void QScxmlEvent::setSendId(const QString &sendid)

Sets the ID sendid for this event.

Note: Setter function for property sendId.

参见 sendId().

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

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