QScxmlNullDataModel Class

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

Header: #include <QScxmlNullDataModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml
Inherits: 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)。

ヌル・データ・モデルはデータを初期化できないので、エラーをスローし、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)。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。