Класс QScxmlDataModel
Класс QScxmlDataModel — базовый класс модели данных для машины состояний Qt SCXML. Подробнее...
| Заголовок: | #include <QScxmlDataModel> |
| CMake: | find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
| qmake: | QT += scxml |
| С версии: | Qt 5.7 |
| Наследуется от: | QObject |
| Наследуется: |
Открытые типы
| класс | ForeachLoopBody |
Свойства
- stateMachine : QScxmlStateMachine*
Открытые функции
| QScxmlDataModel(QObject *parent = nullptr) | |
| виртуальный void | evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный void | evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body) = 0 |
| виртуальный void | evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный bool | evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный QString | evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный QVariant | evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный void | evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| виртуальный bool | hasScxmlProperty(const QString &name) const = 0 |
| виртуальный QVariant | scxmlProperty(const QString &name) const = 0 |
| виртуальный void | setScxmlEvent(const QScxmlEvent &event) = 0 |
| виртуальный bool | setScxmlProperty(const QString &name, const QVariant &value, const QString &context) = 0 |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
| виртуальный bool | setup(const QVariantMap &initialDataValues) = 0 |
| QScxmlStateMachine * | stateMachine() const |
Сигналы
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Статические открытые члены
| QScxmlDataModel * | createScxmlDataModel(const QString &pluginKey) |
Защищенные функции
| QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr) |
Подробное описание
Модели данных SCXML описаны в Спецификация SCXML — 5 Модель данных и обработка данных. Дополнительную информацию о поддерживаемых моделях данных см. в Соответствии SCXML.
Одна модель данных может принадлежать только одной машине состояний.
См. также QScxmlStateMachine, QScxmlCppDataModel и QScxmlNullDataModel.
Документация по свойствам
stateMachine : QScxmlStateMachine*
Это свойство содержит машину состояний, к которой принадлежит данная модель данных.
Модель данных может принадлежать только одной машине состояний, а машина состояний может иметь только одну модель данных. Эта связь должна быть установлена до запуска машины состояний. Установка этого свойства в модели данных автоматически установит соответствующее dataModel свойство в stateMachine.
Функции доступа:
| QScxmlStateMachine * | stateMachine() const |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
Сигнал уведомления:
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Документация по функциям-членам
[protected] QScxmlDataModel::QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)
Создает новую модель данных из частного объекта dd с родительским объектом parent.
QScxmlDataModel::QScxmlDataModel(QObject *parent = nullptr)
Создает новую модель данных с родительским объектом parent.
[static] QScxmlDataModel *QScxmlDataModel::createScxmlDataModel(const QString &pluginKey)
Создает модель данных из плагина, заданного pluginKey.
[pure virtual] void QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет присваивание, на которое указывает id, и устанавливает ok в false , если произошла ошибка, или в true , если ошибки не было.
[pure virtual] void QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)
Вычисляет цикл foreach, на который указывает id, и устанавливает ok в false , если произошла ошибка, или в true , если ошибки не было. Тело цикла body выполняется на каждой итерации.
[pure virtual] void QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет инициализацию, на которую указывает id, и устанавливает ok в false , если произошла ошибка, или в true , если ошибки не было.
[pure virtual] bool QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет исполняемое содержимое, на которое указывает id, и устанавливает ok в false , если произошла ошибка, или в true , если ошибки не было. Возвращает результат вычисления в виде булевого значения.
[pure virtual] QString QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет исполняемое содержимое, на которое указывает id, и устанавливает ok в false в случае ошибки или в true в противном случае. Возвращает результат вычисления в виде QString.
[pure virtual] QVariant QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет исполняемое содержимое, на которое указывает id, и устанавливает ok в false в случае ошибки или в true в противном случае. Возвращает результат вычисления в виде QVariant.
[pure virtual] void QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет исполняемое содержимое, на которое указывает id, и устанавливает ok в false в случае ошибки или в true в противном случае. Ожидается, что выполнение не вернёт результат.
[pure virtual] bool QScxmlDataModel::hasScxmlProperty(const QString &name) const
Возвращает true если свойство с заданным именем name существует, false в противном случае.
[pure virtual] QVariant QScxmlDataModel::scxmlProperty(const QString &name) const
Возвращает значение свойства name.
См. также setScxmlProperty().
[pure virtual] void QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)
Устанавливает event для использования в последующем выполнении исполняемого содержимого.
[pure virtual] bool QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)
Устанавливает значение value для свойства name.
context — строка, используемая в сообщениях об ошибках для указания расположения в файле SCXML, где произошла ошибка.
Возвращает true при успешном выполнении или false в случае ошибки.
См. также scxmlProperty().
void QScxmlDataModel::setStateMachine(QScxmlStateMachine *stateMachine)
Устанавливает управляющую машину состояний, к которой относится эта модель, в stateMachine. Существует взаимно-однозначное соответствие между управляющими машинами состояний и моделями. После установки управляющей машины состояния её нельзя изменить. Любые последующие попытки установить управляющую машину состояний с помощью этого метода будут проигнорированы.
Примечание: Функция-сеттер для свойства stateMachine.
См. также stateMachine().
[pure virtual invokable] bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)
Инициализирует модель данных начальными значениями, указанными в initialDataValues.
Возвращает false если произошли ошибки разбора или если какой-либо из шагов инициализации завершился неудачей. Возвращает true в противном случае.
Примечание: К этой функции можно обратиться через систему метаобъектов и из QML. См. Q_INVOKABLE.
QScxmlStateMachine *QScxmlDataModel::stateMachine() const
Возвращает управляющую машину состояний, связанную с моделью данных.
Примечание: Функция-геттер для свойства stateMachine.
См. также setStateMachine().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qscxmldatamodel.html