diff options
Diffstat (limited to 'src/scxml/qscxmlecmascriptdatamodel.cpp')
-rw-r--r-- | src/scxml/qscxmlecmascriptdatamodel.cpp | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/src/scxml/qscxmlecmascriptdatamodel.cpp b/src/scxml/qscxmlecmascriptdatamodel.cpp index 5532a9b..869afec 100644 --- a/src/scxml/qscxmlecmascriptdatamodel.cpp +++ b/src/scxml/qscxmlecmascriptdatamodel.cpp @@ -121,25 +121,26 @@ public: QJSEngine *engine = assertEngine(); dataModel = engine->globalObject(); - qCDebug(qscxmlLog) << stateMachine() << "initializing the datamodel"; + qCDebug(qscxmlLog) << m_stateMachine << "initializing the datamodel"; setupSystemVariables(); } void setupSystemVariables() { setReadonlyProperty(&dataModel, QStringLiteral("_sessionid"), - stateMachine()->sessionId()); + m_stateMachine->sessionId()); - setReadonlyProperty(&dataModel, QStringLiteral("_name"), stateMachine()->name()); + setReadonlyProperty(&dataModel, QStringLiteral("_name"), m_stateMachine->name()); QJSEngine *engine = assertEngine(); auto scxml = engine->newObject(); - scxml.setProperty(QStringLiteral("location"), QStringLiteral("#_scxml_%1").arg(stateMachine()->sessionId())); + scxml.setProperty(QStringLiteral("location"), QStringLiteral("#_scxml_%1") + .arg(m_stateMachine->sessionId())); auto ioProcs = engine->newObject(); setReadonlyProperty(&ioProcs, QStringLiteral("scxml"), scxml); setReadonlyProperty(&dataModel, QStringLiteral("_ioprocessors"), ioProcs); - auto platformVars = QScxmlPlatformProperties::create(engine, stateMachine()); + auto platformVars = QScxmlPlatformProperties::create(engine, m_stateMachine); dataModel.setProperty(QStringLiteral("_x"), platformVars->jsValue()); dataModel.setProperty(QStringLiteral("In"), engine->evaluate( @@ -204,12 +205,6 @@ public: return engine->toScriptValue(data); } - QScxmlStateMachine *stateMachine() const - { - Q_Q(const QScxmlEcmaScriptDataModel); - return q->stateMachine(); - } - QJSEngine *assertEngine() { if (!jsEngine) { @@ -230,8 +225,7 @@ public: QString string(StringId id) const { - Q_Q(const QScxmlEcmaScriptDataModel); - return q->tableData()->string(id); + return m_stateMachine->tableData()->string(id); } bool hasProperty(const QString &name) const @@ -265,7 +259,7 @@ public: void submitError(const QString &type, const QString &msg, const QString &sendid = QString()) { - QScxmlStateMachinePrivate::get(stateMachine())->submitError(type, msg, sendid); + QScxmlStateMachinePrivate::get(m_stateMachine)->submitError(type, msg, sendid); } public: @@ -381,7 +375,7 @@ bool QScxmlEcmaScriptDataModel::setup(const QVariantMap &initialDataValues) bool ok = true; QJSValue undefined(QJSValue::UndefinedValue); // See B.2.1, and test456. int count; - StringId *names = tableData()->dataNames(&count); + StringId *names = d->m_stateMachine->tableData()->dataNames(&count); for (int i = 0; i < count; ++i) { auto name = d->string(names[i]); QJSValue v = undefined; @@ -402,7 +396,7 @@ bool QScxmlEcmaScriptDataModel::setup(const QVariantMap &initialDataValues) QString QScxmlEcmaScriptDataModel::evaluateToString(EvaluatorId id, bool *ok) { Q_D(QScxmlEcmaScriptDataModel); - const EvaluatorInfo &info = tableData()->evaluatorInfo(id); + const EvaluatorInfo &info = d->m_stateMachine->tableData()->evaluatorInfo(id); return d->evalStr(d->string(info.expr), d->string(info.context), ok); } @@ -410,7 +404,7 @@ QString QScxmlEcmaScriptDataModel::evaluateToString(EvaluatorId id, bool *ok) bool QScxmlEcmaScriptDataModel::evaluateToBool(EvaluatorId id, bool *ok) { Q_D(QScxmlEcmaScriptDataModel); - const EvaluatorInfo &info = tableData()->evaluatorInfo(id); + const EvaluatorInfo &info = d->m_stateMachine->tableData()->evaluatorInfo(id); return d->evalBool(d->string(info.expr), d->string(info.context), ok); } @@ -418,7 +412,7 @@ bool QScxmlEcmaScriptDataModel::evaluateToBool(EvaluatorId id, bool *ok) QVariant QScxmlEcmaScriptDataModel::evaluateToVariant(EvaluatorId id, bool *ok) { Q_D(QScxmlEcmaScriptDataModel); - const EvaluatorInfo &info = tableData()->evaluatorInfo(id); + const EvaluatorInfo &info = d->m_stateMachine->tableData()->evaluatorInfo(id); return d->evalJSValue(d->string(info.expr), d->string(info.context), ok).toVariant(); } @@ -426,7 +420,7 @@ QVariant QScxmlEcmaScriptDataModel::evaluateToVariant(EvaluatorId id, bool *ok) void QScxmlEcmaScriptDataModel::evaluateToVoid(EvaluatorId id, bool *ok) { Q_D(QScxmlEcmaScriptDataModel); - const EvaluatorInfo &info = tableData()->evaluatorInfo(id); + const EvaluatorInfo &info = d->m_stateMachine->tableData()->evaluatorInfo(id); d->eval(d->string(info.expr), d->string(info.context), ok); } @@ -436,7 +430,7 @@ void QScxmlEcmaScriptDataModel::evaluateAssignment(EvaluatorId id, bool *ok) Q_D(QScxmlEcmaScriptDataModel); Q_ASSERT(ok); - const AssignmentInfo &info = tableData()->assignmentInfo(id); + const AssignmentInfo &info = d->m_stateMachine->tableData()->assignmentInfo(id); QString dest = d->string(info.dest); @@ -454,7 +448,7 @@ void QScxmlEcmaScriptDataModel::evaluateAssignment(EvaluatorId id, bool *ok) void QScxmlEcmaScriptDataModel::evaluateInitialization(EvaluatorId id, bool *ok) { Q_D(QScxmlEcmaScriptDataModel); - const AssignmentInfo &info = tableData()->assignmentInfo(id); + const AssignmentInfo &info = d->m_stateMachine->tableData()->assignmentInfo(id); QString dest = d->string(info.dest); if (d->initialDataNames.contains(dest)) { *ok = true; // silently ignore the <data> tag @@ -469,7 +463,7 @@ void QScxmlEcmaScriptDataModel::evaluateForeach(EvaluatorId id, bool *ok, Foreac Q_D(QScxmlEcmaScriptDataModel); Q_ASSERT(ok); Q_ASSERT(body); - const ForeachInfo &info = tableData()->foreachInfo(id); + const ForeachInfo &info = d->m_stateMachine->tableData()->foreachInfo(id); QJSValue jsArray = d->property(d->string(info.array)); if (!jsArray.isArray()) { |