Sur cette page

QScxmlNullDataModel Class

La classe QScxmlNullDataModel est le modèle de données nulles d'une machine d'état Qt SCXML. Plus d'informations...

En-tête : #include <QScxmlNullDataModel>
CMake : find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake : QT += scxml
Héritages : QScxmlDataModel

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Description détaillée

Cette classe met en œuvre le modèle de données nul comme décrit dans la spécification SCXML - B.1 Le modèle de données nul. L'utilisation de la valeur "null" pour l'attribut datamodel de l'élément <scxml> signifie qu'il n'y a pas de modèle de données sous-jacent, mais que certains contenus exécutables, comme In(...) ou <log>, peuvent encore être utilisés.

Voir également QScxmlStateMachine et QScxmlDataModel.

Documentation des fonctions membres

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

Crée un nouveau modèle de données Qt SCXML null, avec l'objet parent parent.

[virtual noexcept] QScxmlNullDataModel::~QScxmlNullDataModel()

Détruit le modèle de données.

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

Réimplémente : QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Lance une erreur et attribue à ok la valeur false, car le modèle de données null ne peut pas évaluer les affectations.

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

Réimplémente : QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body).

Lance une erreur et attribue à ok la valeur false, car le modèle de données null ne peut pas évaluer les blocs <foreach>.

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

Réimplémente : QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Lance une erreur et attribue à ok la valeur false, car le modèle de données null ne peut pas initialiser les données.

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

Réimplémente : QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Évalue le contenu exécutable indiqué par id et enregistre dans ok s'il y a eu une erreur. Renvoie le résultat de l'évaluation sous la forme d'une valeur booléenne. Le modèle de données null peut évaluer l'instruction In(...), de sorte que le résultat peut être une valeur réelle plutôt qu'une erreur.

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

Réimplémente : QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Évalue le contenu exécutable indiqué par id et enregistre dans ok s'il y a eu une erreur. Renvoie le résultat de l'évaluation sous la forme d'une chaîne de caractères. Le modèle de données null peut évaluer l'élément <log>, de sorte qu'il peut en résulter une valeur réelle plutôt qu'une erreur

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

Réimplémente : QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Évalue le contenu exécutable indiqué par id et enregistre dans ok s'il y a eu une erreur. Comme il s'agit du modèle de données null, toute évaluation aboutira en fait à une erreur, ok étant remplacé par false. Renvoie une adresse QVariant vide.

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

Réimplémente : QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Évalue le contenu exécutable indiqué par id et enregistre dans ok s'il y a eu une erreur. Comme il s'agit du modèle de données null, toute évaluation aboutira en fait à une erreur, ok étant remplacé par false.

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

Réimplémente : QScxmlDataModel::hasScxmlProperty(const QString &name) const.

Renvoie false, car le modèle de données null ne prend pas en charge les propriétés.

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

Réimplémente : QScxmlDataModel::scxmlProperty(const QString &name) const.

Renvoie une variante invalide, car le modèle de données null ne prend pas en charge les propriétés.

Voir aussi setScxmlProperty().

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

Réimplémente : QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event).

Ne définit pas réellement event, car le modèle de données null ne gère pas les événements.

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

Réimplémente : QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context).

Renvoie false, car le modèle de données null ne prend pas en charge les propriétés.

Voir aussi scxmlProperty().

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

Réimplémente : QScxmlDataModel::setup(const QVariantMap &initialDataValues).

© 2026 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.