Класс 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) | |
| virtual void | evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual void | evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body) = 0 |
| virtual void | evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual bool | evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual QString | evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual QVariant | evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual void | evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual bool | hasScxmlProperty(const QString &name) const = 0 |
| virtual QVariant | scxmlProperty(const QString &name) const = 0 |
| virtual void | setScxmlEvent(const QScxmlEvent &event) = 0 |
| virtual bool | setScxmlProperty(const QString &name, const QVariant &value, const QString &context) = 0 |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
| virtual 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.
Документация по свойству
[bindable] stateMachine : QScxmlStateMachine*
Примечание: Это свойство поддерживает привязку QProperty.
Это свойство содержит машину состояний, к которой принадлежит эта модель данных.
Модель данных может принадлежать только одной машине состояний, а машина состояний может иметь только одну модель данных. Эта связь должна быть установлена до запуска машины состояний. Установка этого свойства на модели данных автоматически установит соответствующее dataModel свойство на 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. Существует взаимосвязь 1:1 между машинами состояний и моделями. После установки машины состояний её нельзя изменить. Все дальнейшие попытки установки машины состояний с помощью этого метода будут проигнорированы.
Примечание: Функция-сеттер для свойства 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.2/qscxmldatamodel.html