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.
成员类型
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. |
属性
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.
访问函数:
delay : int
This property holds the delay in milliseconds after which the event is to be delivered after processing the <send>
element.
访问函数:
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.
访问函数:
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.
访问函数:
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.
访问函数:
成员函数
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.
void QScxmlEvent::setDelay(int delayInMiliSecs)
Sets the delay in milliseconds as the value of delayInMiliSecs.
Note: Setter function for property 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.
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.
void QScxmlEvent::setOriginType(const QString &origintype)
Sets the origin type of an SCXML event to origintype.
Note: Setter function for property 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.