QScxmlDataModel Class
Die Klasse QScxmlDataModel ist die Datenmodell-Basisklasse für einen Qt SCXML Zustandsautomaten. Mehr...
Kopfzeile: | #include <QScxmlDataModel> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Scxml) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
qmake: | QT += scxml |
Vererbt: | QObject |
Vererbt von: |
Öffentliche Typen
class | ForeachLoopBody |
Eigenschaften
- stateMachine : QScxmlStateMachine*
Öffentliche Funktionen
QScxmlDataModel(QObject *parent = nullptr) | |
QBindable<QScxmlStateMachine *> | bindableStateMachine() |
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 |
Signale
void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Statische öffentliche Mitglieder
QScxmlDataModel * | createScxmlDataModel(const QString &pluginKey) |
Geschützte Funktionen
QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr) |
Detaillierte Beschreibung
SCXML-Datenmodelle werden in SCXML-Spezifikation - 5 Datenmodell und Datenmanipulation beschrieben. Weitere Informationen über unterstützte Datenmodelle finden Sie unter SCXML Compliance.
Ein Datenmodell kann nur zu einem Zustandsautomaten gehören.
Siehe auch QScxmlStateMachine, QScxmlCppDataModel, und QScxmlNullDataModel.
Dokumentation der Eigenschaften
[bindable]
stateMachine : QScxmlStateMachine*
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält den Zustandsautomaten, zu dem dieses Datenmodell gehört.
Ein Datenmodell kann nur zu einem einzigen Zustandsautomaten gehören und ein Zustandsautomat kann nur ein Datenmodell haben. Diese Beziehung muss eingerichtet werden, bevor der Zustandsautomat gestartet wird. Wenn diese Eigenschaft für ein Datenmodell gesetzt wird, wird automatisch die entsprechende Eigenschaft dataModel
auf stateMachine gesetzt.
Dokumentation der Mitgliedsfunktionen
[explicit]
QScxmlDataModel::QScxmlDataModel(QObject *parent = nullptr)
Erzeugt ein neues Datenmodell mit dem übergeordneten Objekt parent.
[explicit protected]
QScxmlDataModel::QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)
Erzeugt ein neues Datenmodell aus dem privaten Objekt dd, mit dem übergeordneten Objekt parent.
[static]
QScxmlDataModel *QScxmlDataModel::createScxmlDataModel(const QString &pluginKey)
Erzeugt ein Datenmodell aus einem Plugin, das durch ein pluginKey spezifiziert wird.
[pure virtual]
void QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet die Zuweisung aus, auf die id verweist, und setzt ok auf false
, wenn ein Fehler auftrat, oder auf true
, wenn kein Fehler auftrat.
[pure virtual]
void QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)
Wertet die foreach-Schleife aus, auf die id verweist, und setzt ok auf false
, wenn ein Fehler aufgetreten ist, oder auf true
, wenn nicht. body wird bei jeder Iteration ausgeführt.
[pure virtual]
void QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet die Initialisierung aus, auf die id verweist, und setzt ok auf false
, wenn ein Fehler aufgetreten ist, oder auf true
, wenn kein Fehler aufgetreten ist.
[pure virtual]
bool QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet den ausführbaren Inhalt aus, auf den id verweist, und setzt ok auf false
, wenn ein Fehler aufgetreten ist, oder auf true
, wenn kein Fehler aufgetreten ist. Gibt das Ergebnis der Auswertung als booleschen Wert zurück.
[pure virtual]
QString QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet den ausführbaren Inhalt aus, auf den id verweist, und setzt ok auf false
, wenn ein Fehler auftrat, oder auf true
, wenn dies nicht der Fall war. Gibt das Ergebnis der Auswertung als QString zurück.
[pure virtual]
QVariant QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet den ausführbaren Inhalt aus, auf den id verweist, und setzt ok auf false
, wenn ein Fehler auftrat, oder auf true
, wenn dies nicht der Fall war. Gibt das Ergebnis der Auswertung als QVariant zurück.
[pure virtual]
void QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Wertet den ausführbaren Inhalt aus, auf den id verweist, und setzt ok auf false
, wenn ein Fehler aufgetreten ist, oder auf true
, wenn kein Fehler aufgetreten ist. Es wird erwartet, dass die Ausführung kein Ergebnis liefert.
[pure virtual]
bool QScxmlDataModel::hasScxmlProperty(const QString &name) const
Gibt true
zurück, wenn eine Eigenschaft mit der angegebenen name existiert, andernfalls false
.
[pure virtual]
QVariant QScxmlDataModel::scxmlProperty(const QString &name) const
Gibt den Wert der Eigenschaft name zurück.
Siehe auch setScxmlProperty().
[pure virtual]
void QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)
Legt die event fest, die bei der anschließenden Ausführung des ausführbaren Inhalts verwendet werden soll.
[pure virtual]
bool QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)
Legt den Wert value für die Eigenschaft name fest.
context ist eine Zeichenfolge, die in Fehlermeldungen verwendet wird, um die Stelle in der SCXML-Datei anzugeben, an der der Fehler aufgetreten ist.
Gibt bei Erfolg true
zurück oder false
, wenn ein Fehler aufgetreten ist.
Siehe auch scxmlProperty().
void QScxmlDataModel::setStateMachine(QScxmlStateMachine *stateMachine)
Setzt den Zustandsautomaten, zu dem dieses Modell gehört, auf stateMachine. Es besteht eine 1:1 Beziehung zwischen Zustandsautomaten und Modellen. Nachdem Sie den Zustandsautomaten einmal gesetzt haben, können Sie ihn nicht mehr ändern. Alle weiteren Versuche, den Zustandsautomaten mit dieser Methode zu setzen, werden ignoriert.
Hinweis: Setter-Funktion für die Eigenschaft stateMachine.
Siehe auch stateMachine().
[pure virtual invokable]
bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)
Initialisiert das Datenmodell mit den durch initialDataValues angegebenen Anfangswerten.
Gibt false
zurück, wenn Parse-Fehler auftreten oder wenn einer der Initialisierungsschritte fehlschlägt. Gibt ansonsten true
zurück.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
QScxmlStateMachine *QScxmlDataModel::stateMachine() const
Gibt den mit dem Datenmodell verbundenen Zustandsautomaten zurück.
Hinweis: Getter-Funktion für die Eigenschaft stateMachine.
Siehe auch setStateMachine().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.