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>
のような実行可能なコンテンツはまだ使用できます。
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)。
ヌル・データ・モデルはデータを初期化できないので、エラーをスローし、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)。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。