QScxmlNullDataModel Class

Die Klasse QScxmlNullDataModel ist das Null-Datenmodell für eine Qt SCXML stateMachine. Mehr...

Kopfzeile: #include <QScxmlNullDataModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml
Vererbungen: QScxmlDataModel

Öffentliche Funktionen

QScxmlNullDataModel(QObject *parent = nullptr)
virtual ~QScxmlNullDataModel()

Reimplementierte öffentliche Funktionen

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

Detaillierte Beschreibung

Diese Klasse implementiert das Null-Datenmodell, wie in der SCXML-Spezifikation - B.1 Das Null-Datenmodell beschrieben. Die Verwendung des Wertes "null" für das datamodel-Attribut des <scxml> -Elements bedeutet, dass es kein zugrunde liegendes Datenmodell gibt, aber einige ausführbare Inhalte, wie In(...) oder <log>, können trotzdem verwendet werden.

Siehe auch QScxmlStateMachine und QScxmlDataModel.

Dokumentation der Mitgliedsfunktionen

[explicit] QScxmlNullDataModel::QScxmlNullDataModel(QObject *parent = nullptr)

Erzeugt ein neues Datenmodell Qt SCXML null, mit dem übergeordneten Objekt parent.

[virtual noexcept] QScxmlNullDataModel::~QScxmlNullDataModel()

Zerstört das Datenmodell.

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

Reimplements: QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wirft einen Fehler und setzt ok auf false, da das Null-Datenmodell keine Zuweisungen auswerten kann.

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

Reimplements: QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body).

Wirft einen Fehler und setzt ok auf false, da das Null-Datenmodell keine <foreach> Blöcke auswerten kann.

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

Reimplements: QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wirft einen Fehler und setzt ok auf false, da das Null-Datenmodell keine Daten initialisieren kann.

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

Reimplements: QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und hält in ok fest, ob ein Fehler aufgetreten ist. Gibt das Ergebnis der Auswertung als boolschen Wert zurück. Das Null-Datenmodell kann die Anweisung In(...) auswerten, so dass dies zu einem tatsächlichen Wert und nicht zu einem Fehler führen kann.

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

Reimplements: QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und hält in ok fest, ob ein Fehler aufgetreten ist. Gibt das Ergebnis der Auswertung als String zurück. Das Null-Datenmodell kann das Element <log> auswerten, so dass dies zu einem tatsächlichen Wert und nicht zu einem Fehler führen kann

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

Reimplements: QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und hält in ok fest, ob ein Fehler aufgetreten ist. Da es sich um das Null-Datenmodell handelt, führt jede Auswertung tatsächlich zu einem Fehler, wobei ok auf false gesetzt wird. Gibt ein leeres QVariant zurück.

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

Reimplements: QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Bewertet den ausführbaren Inhalt, auf den id verweist, und hält in ok fest, ob ein Fehler aufgetreten ist. Da es sich um das Null-Datenmodell handelt, führt jede Auswertung tatsächlich zu einem Fehler, wobei ok auf false gesetzt wird.

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

Reimplements: QScxmlDataModel::hasScxmlProperty(const QString &name) const.

Gibt false zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

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

Reimplements: QScxmlDataModel::scxmlProperty(const QString &name) const.

Gibt eine ungültige Variante zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

Siehe auch setScxmlProperty().

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

Reimplements: QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event).

Setzt nicht wirklich die event, da das Null-Datenmodell keine Ereignisse verarbeitet.

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

Reimplements: QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context).

Gibt false zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

Siehe auch scxmlProperty().

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

Reimplements: QScxmlDataModel::setup(const QVariantMap &initialDataValues).

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.