Класс QScxmlDataModel
Класс QScxmlDataModel — базовый класс модели данных для машины состояний Qt SCXML. Подробнее...
| Заголовок: | #include <QScxmlDataModel> |
| qmake: | QT += scxml |
| С момента: | Qt 5.7 |
| Наследует: | QObject |
| Наследуется в: | QScxmlCppDataModel, QScxmlEcmaScriptDataModel и QScxmlNullDataModel |
Типы публичного интерфейса
| класс | ForeachLoopBody |
Свойства
- stateMachine : QScxmlStateMachine *
- 1 свойство унаследовано от QObject
Публичные функции
| QScxmlDataModel(QObject *parent = nullptr) | |
| virtual void | evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual void | evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, 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 |
- 32 public functions inherited from QObject
Сигналы
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
- 2 signals inherited from QObject
Защищённые функции
| QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr) |
- 9 protected functions inherited from QObject
Дополнительные унаследованные члены
Подробное описание
Класс QScxmlDataModel — базовый класс модели данных для машины состояний Qt SCXML.
Модели данных SCXML описаны в Спецификации SCXML — 5 Модель данных и манипуляции с данными. Дополнительную информацию о поддерживаемых моделях данных см. в Соответствии SCXML.
Одна модель данных может принадлежать только одной машине состояний.
См. также QScxmlStateMachine, QScxmlCppDataModel, QScxmlEcmaScriptDataModel и QScxmlNullDataModel.
Документация по свойству
stateMachine : QScxmlStateMachine *
Это свойство хранит машину состояний, к которой принадлежит эта модель данных.
Модель данных может принадлежать только одной машине состояний, а машина состояний может иметь только одну модель данных. Это отношение необходимо установить до запуска машины состояний. Установка этого свойства в модели данных автоматически установит соответствующее dataModel свойство в stateMachine.
Функции доступа:
| QScxmlStateMachine * | stateMachine() const |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
Сигнал уведомления:
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Документация по функции-члену
QScxmlDataModel::QScxmlDataModel(QObject *parent = nullptr)
Создаёт новую модель данных с родительским объектом parent.
[protected] QScxmlDataModel::QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)
Создаёт новую модель данных из частного объекта dd с родительским объектом parent.
[pure virtual] void QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Вычисляет присваивание, указанное по id, и устанавливает ok в false в случае ошибки или в true в противном случае.
[pure virtual] void QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, 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] bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)
Инициализирует модель данных начальными значениями, указанными в initialDataValues.
Возвращает false если произошли ошибки разбора или любой из шагов инициализации завершился неудачно. Возвращает true в противном случае.
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-5.9/qscxmldatamodel.html