Класс QScxmlNullDataModel
Класс QScxmlNullDataModel — это нулевая модель данных для Qt SCXML stateMachine. Подробнее...
| Заголовок: | #include <QScxmlNullDataModel> |
| CMake: | find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
| qmake: | QT += scxml |
| С момента: | Qt 5.7 |
| Наследует: | 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 Нулевая модель данных. Использование значения "null" для атрибута datamodel элемента <scxml> означает, что нет базовой модели данных, но некоторые исполняемые данные, такие как In(...) или <log>, всё ещё могут использоваться.
См. также QScxmlStateMachine и QScxmlDataModel.
Документация по функциям-членам
QScxmlNullDataModel::QScxmlNullDataModel(QObject *parent = nullptr)
Создаёт новую нулевую модель данных Qt SCXML с родительским объектом parent.
[virtual] QScxmlNullDataModel::~QScxmlNullDataModel()
Уничтожает модель данных.
[override virtual] void QScxmlNullDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Переопределяет: QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok).
Выбрасывает ошибку и устанавливает 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).
Выбрасывает ошибку и устанавливает ok в false, так как нулевая модель данных не может обрабатывать блоки <foreach>.
[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, была ли ошибка. Возвращает результат обработки в виде булевого значения. Нулевая модель данных может обрабатывать инструкцию In(...), поэтому это может привести к фактическому значению, а не ошибке.
[override virtual] QString QScxmlNullDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Переопределяет: QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok).
Обрабатывает исполняемый контент, указанный в id, и записывает в ok, была ли ошибка. Возвращает результат обработки в виде строки. Нулевая модель данных может обрабатывать элемент <log>, поэтому это может привести к фактическому значению, а не ошибке.
[override virtual] QVariant QScxmlNullDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Переопределяет: QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok).
Обрабатывает исполняемый контент, указанный в id, и записывает в ok, была ли ошибка. Поскольку это нулевая модель данных, любая обработка фактически приведёт к ошибке, и ok будет установлен в false. Возвращает пустой QVariant.
[override virtual] void QScxmlNullDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Переопределяет: QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok).
Обрабатывает исполняемый контент, указанный в id, и записывает в ok, была ли ошибка. Поскольку это нулевая модель данных, любая обработка фактически приведёт к ошибке, и ok будет установлен в false.
[override virtual] bool QScxmlNullDataModel::hasScxmlProperty(const QString &name) const
Переопределяет: QScxmlDataModel::hasScxmlProperty(const QString &name) const.
Возвращает false, так как нулевая модель данных не поддерживает свойства.
[override virtual] QVariant QScxmlNullDataModel::scxmlProperty(const QString &name) const
Переопределяет: QScxmlDataModel::scxmlProperty(const QString &name) const.
Возвращает недействительный вариант, так как модель нулевых данных не поддерживает свойства.
См. также setScxmlProperty().
[override virtual] void QScxmlNullDataModel::setScxmlEvent(const QScxmlEvent &event)
Переопределяет: QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event).
Фактически не устанавливает 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).
Возвращает false, так как модель нулевых данных не поддерживает свойства.
См. также scxmlProperty().
[override virtual invokable] bool QScxmlNullDataModel::setup(const QVariantMap &initialDataValues)
Переопределяет: QScxmlDataModel::setup(const QVariantMap &initialDataValues).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qscxmlnulldatamodel.html