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.