QScxmlEcmaScriptDataModel Class

The QScxmlEcmaScriptDataModel class is the ECMAScript data model for a Qt SCXML state machine. More...

Header: #include <QScxmlEcmaScriptDataModel>
qmake: QT += scxml
Since: Qt 5.7
Inherits: QScxmlDataModel

Public Functions

QScxmlEcmaScriptDataModel(QObject *parent = nullptr)

Reimplemented Public Functions

virtual void evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual void evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body) override
virtual void evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual bool evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual QString evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual QVariant evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual void evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual bool hasScxmlProperty(const QString &name) const override
virtual QVariant scxmlProperty(const QString &name) const override
virtual void setScxmlEvent(const QScxmlEvent &event) override
virtual bool setScxmlProperty(const QString &name, const QVariant &value, const QString &context) override
virtual bool setup(const QVariantMap &initialDataValues) override

Additional Inherited Members

Detailed Description

The QScxmlEcmaScriptDataModel class is the ECMAScript data model for a Qt SCXML state machine.

This class implements the ECMAScript data model as described in SCXML Specification - B.2 The ECMAScript Data Model. It can be subclassed to perform custom initialization.

See also QScxmlStateMachine and QScxmlDataModel.

Member Function Documentation

QScxmlEcmaScriptDataModel::QScxmlEcmaScriptDataModel(QObject *parent = nullptr)

Creates a new ECMAScript data model, with the parent object parent.

[override virtual] void QScxmlEcmaScriptDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateAssignment().

[override virtual] void QScxmlEcmaScriptDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)

Reimplemented from QScxmlDataModel::evaluateForeach().

[override virtual] void QScxmlEcmaScriptDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateInitialization().

[override virtual] bool QScxmlEcmaScriptDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateToBool().

[override virtual] QString QScxmlEcmaScriptDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateToString().

[override virtual] QVariant QScxmlEcmaScriptDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateToVariant().

[override virtual] void QScxmlEcmaScriptDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Reimplemented from QScxmlDataModel::evaluateToVoid().

[override virtual] bool QScxmlEcmaScriptDataModel::hasScxmlProperty(const QString &name) const

Reimplemented from QScxmlDataModel::hasScxmlProperty().

[override virtual] QVariant QScxmlEcmaScriptDataModel::scxmlProperty(const QString &name) const

Reimplemented from QScxmlDataModel::scxmlProperty().

See also setScxmlProperty().

[override virtual] void QScxmlEcmaScriptDataModel::setScxmlEvent(const QScxmlEvent &event)

Reimplemented from QScxmlDataModel::setScxmlEvent().

[override virtual] bool QScxmlEcmaScriptDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)

Reimplemented from QScxmlDataModel::setScxmlProperty().

See also scxmlProperty().

[override virtual] bool QScxmlEcmaScriptDataModel::setup(const QVariantMap &initialDataValues)

Reimplemented from QScxmlDataModel::setup().

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.