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>
のような実行可能なコンテンツを使用することはできます。
QScxmlStateMachine とQScxmlDataModelも参照してください 。
メンバ関数ドキュメント
[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 データモデルでは代入を評価できないため、エラーをスローし、ok をfalse
に設定します。
[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>
ブロックを評価できないため、エラーをスローし、ok をfalse
に設定します。
[override virtual]
void QScxmlNullDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)
再実装:QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)。
NULL データモデルはデータを初期化できないので、エラーをスローし、ok をfalse
に設定します。
[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データモデルであるため、どのような評価も実際にはエラーとなり、ok はfalse
に設定されます。空のQVariant を返します。
[override virtual]
void QScxmlNullDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)
再実装:QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)。
id が指す実行可能コンテンツを評価し、エラーがあったかどうかをok に記録します。これはNULLデータモデルであるため、どのような評価も実際にはエラーとなり、ok はfalse
に設定されます。
[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.