QScxmlNullDataModel Class

QScxmlNullDataModel クラスは、Qt SCXML stateMachine のヌル・データ・モデルです。詳細...

ヘッダー #include <QScxmlNullDataModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml
継承: QScxmlDataModel

パブリック関数

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

再実装されたパブリック関数

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

詳細な説明

このクラスはSCXML 仕様書 - B.1 The Null Data Model に記述されている NULL データモデルを実装する。<scxml> 要素のdatamodel属性に値"null" を使用することは、基礎となるデータモデルが存在しないことを意味しますが、In(...)<log> のような実行可能なコンテンツを使用することはできます。

QScxmlStateMachineQScxmlDataModelも参照してください

メンバ関数ドキュメント

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

親オブジェクトparent を持つ、新しいQt SCXML null データモデルを作成します。

[virtual noexcept] QScxmlNullDataModel::~QScxmlNullDataModel()

データモデルを破棄する。

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

再実装:QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

NULL データモデルでは代入を評価できないため、エラーをスローし、okfalse に設定します。

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

再実装:QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)。

NULL データモデルでは<foreach> ブロックを評価できないため、エラーをスローし、okfalse に設定します。

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

再実装:QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

NULL データモデルはデータを初期化できないので、エラーをスローし、okfalse に設定します。

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

再実装:QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

id が指す実行可能コンテンツを評価し、エラーがあったかどうかをok に記録します。評価結果をブール値で返す。NULLデータモデルは命令In(...) を評価できるので、これはエラーではなく実際の値になるかもしれない。

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

再実装:QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

id が指す実行可能コンテンツを評価し、エラーがあったかどうかをok に記録します。評価結果を文字列として返します。nullデータモデルは<log> 要素を評価できるので、これはエラーではなく実際の値になるかもしれません。

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

再実装:QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

id が指す実行可能コンテンツを評価し、エラーがあったかどうかをok に記録します。これはNULLデータモデルであるため、どのような評価も実際にはエラーとなり、okfalse に設定されます。空のQVariant を返します。

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

再実装:QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)。

id が指す実行可能コンテンツを評価し、エラーがあったかどうかをok に記録します。これはNULLデータモデルであるため、どのような評価も実際にはエラーとなり、okfalse に設定されます。

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

再実装:QScxmlDataModel::hasScxmlProperty(const QString &name) const.

null データモデルはプロパティをサポートしていないため、false を返します。

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

再実装:QScxmlDataModel::scxmlProperty(const QString &name) const.

null データモデルがプロパティをサポートしていないため、無効なバリアントを返します。

setScxmlProperty()も参照してください

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

再実装:QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)。

null データモデルはイベントを扱わないため、実際にはevent を設定しません。

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

再実装:QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)。

null データ・モデルはプロパティをサポートしていないため、false を返します。

scxmlProperty()も参照してください

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

再実装: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.