QScxmlDataModel Class
The QScxmlDataModel class is the data model base class for a Qt SCXML state machine. More...
Header: | #include <QScxmlDataModel> |
qmake: | QT += scxml |
Since: | Qt 5.7 |
Inherits: | QObject |
Inherited By: | QScxmlCppDataModel, QScxmlEcmaScriptDataModel, and QScxmlNullDataModel |
Properties
- stateMachine : QScxmlStateMachine *
- 1 property inherited from QObject
Public Functions
QScxmlDataModel(QObject *parent = nullptr) | |
virtual bool | hasScxmlProperty(const QString &name) const = 0 |
virtual QVariant | scxmlProperty(const QString &name) const = 0 |
virtual void | setScxmlEvent(const QScxmlEvent &event) = 0 |
virtual bool | setScxmlProperty(const QString &name, const QVariant &value, const QString &context) = 0 |
void | setStateMachine(QScxmlStateMachine *stateMachine) |
virtual bool | setup(const QVariantMap &initialDataValues) = 0 |
QScxmlStateMachine * | stateMachine() const |
- 31 public functions inherited from QObject
Signals
void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
- 2 signals inherited from QObject
Additional Inherited Members
- 1 public slot inherited from QObject
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 9 protected functions inherited from QObject
- 2 protected variables inherited from QObject
Detailed Description
The QScxmlDataModel class is the data model base class for a Qt SCXML state machine.
SCXML data models are described in SCXML Specification - 5 Data Model and Data Manipulation. For more information about supported data models, see SCXML Compliance.
One data model can only belong to one state machine.
See also QScxmlStateMachine, QScxmlCppDataModel, QScxmlEcmaScriptDataModel, and QScxmlNullDataModel.
Property Documentation
stateMachine : QScxmlStateMachine *
This property holds the state machine this data model belongs to.
A data model can only belong to a single state machine and a state machine can only have one data model. This relation needs to be set up before the state machine is started. Setting this property on a data model will automatically set the corresponding dataModel
property on the stateMachine.
Access functions:
QScxmlStateMachine * | stateMachine() const |
void | setStateMachine(QScxmlStateMachine *stateMachine) |
Notifier signal:
void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Member Function Documentation
QScxmlDataModel::QScxmlDataModel(QObject *parent = nullptr)
Creates a new data model, with the parent object parent.
[pure virtual]
bool QScxmlDataModel::hasScxmlProperty(const QString &name) const
Returns true
if a property with the given name exists, false
otherwise.
[pure virtual]
QVariant QScxmlDataModel::scxmlProperty(const QString &name) const
Returns the value of the property name.
See also setScxmlProperty().
[pure virtual]
void QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)
Sets the event to use in the subsequent executable content execution.
[pure virtual]
bool QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)
Sets a the value value for the property name.
The context is a string that is used in error messages to indicate the location in the SCXML file where the error occurred.
Returns true
if successful or false
if an error occurred.
See also scxmlProperty().
void QScxmlDataModel::setStateMachine(QScxmlStateMachine *stateMachine)
Sets the state machine this model belongs to to stateMachine. There is a 1:1 relation between state machines and models. After setting the state machine once you cannot change it anymore. Any further attempts to set the state machine using this method will be ignored.
Note: Setter function for property stateMachine.
See also stateMachine().
[pure virtual]
bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)
Initializes the data model with the initial values specified by initialDataValues.
Returns false
if parse errors occur or if any of the initialization steps fail. Returns true
otherwise.
QScxmlStateMachine *QScxmlDataModel::stateMachine() const
Returns the state machine associated with the data model.
Note: Getter function for property stateMachine.
See also setStateMachine().