diff options
Diffstat (limited to 'src/declarative/qml/qmlexpression_p.h')
-rw-r--r-- | src/declarative/qml/qmlexpression_p.h | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/src/declarative/qml/qmlexpression_p.h b/src/declarative/qml/qmlexpression_p.h index 501e5d8..33016e6 100644 --- a/src/declarative/qml/qmlexpression_p.h +++ b/src/declarative/qml/qmlexpression_p.h @@ -79,23 +79,13 @@ private: QmlAbstractExpression *m_nextExpression; }; -class QmlExpression; -class QString; -class QmlExpressionPrivate : public QObjectPrivate, public QmlAbstractExpression +class QmlExpressionData : public QmlAbstractExpression, public QmlRefCount { - Q_DECLARE_PUBLIC(QmlExpression) public: - QmlExpressionPrivate(); - ~QmlExpressionPrivate(); - - enum CompiledDataType { - BasicScriptEngineData = 1, - PreTransformedQtScriptData = 2 - }; + QmlExpressionData(); + ~QmlExpressionData(); - - void init(QmlContext *, const QString &, QObject *); - void init(QmlContext *, void *, QmlRefCount *, QObject *); + QmlExpressionPrivate *q; QString expression; bool expressionFunctionValid:1; @@ -109,10 +99,6 @@ public: QString fileName; int line; - QVariant value(QObject *secondaryScope = 0); - QVariant evalSSE(); - QVariant evalQtScript(QObject *secondaryScope); - struct SignalGuard : public QGuard<QObject> { SignalGuard() : isDuplicate(false), notifyIndex(-1) {} @@ -132,6 +118,32 @@ public: }; SignalGuard *guardList; int guardListLength; +}; + +class QmlExpression; +class QString; +class QmlExpressionPrivate : public QObjectPrivate +{ + Q_DECLARE_PUBLIC(QmlExpression) +public: + QmlExpressionPrivate(); + QmlExpressionPrivate(QmlExpressionData *); + ~QmlExpressionPrivate(); + + enum CompiledDataType { + BasicScriptEngineData = 1, + PreTransformedQtScriptData = 2 + }; + + void init(QmlContext *, const QString &, QObject *); + void init(QmlContext *, void *, QmlRefCount *, QObject *); + + QmlExpressionData *data; + + QVariant value(QObject *secondaryScope = 0); + QVariant evalSSE(); + QVariant evalQtScript(QObject *secondaryScope); + void updateGuards(const QPODVector<QmlEnginePrivate::CapturedProperty> &properties); void clearGuards(); |