summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlexpression_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlexpression_p.h')
-rw-r--r--src/declarative/qml/qmlexpression_p.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/declarative/qml/qmlexpression_p.h b/src/declarative/qml/qmlexpression_p.h
index bf95c0e0..997bf8d 100644
--- a/src/declarative/qml/qmlexpression_p.h
+++ b/src/declarative/qml/qmlexpression_p.h
@@ -61,19 +61,33 @@
QT_BEGIN_NAMESPACE
+class QmlAbstractExpression
+{
+public:
+ QmlAbstractExpression();
+ virtual ~QmlAbstractExpression();
+
+ bool isValid() const;
+
+ QmlContext *context() const;
+ void setContext(QmlContext *);
+
+private:
+ friend class QmlContext;
+ QmlContext *m_context;
+ QmlAbstractExpression **m_prevExpression;
+ QmlAbstractExpression *m_nextExpression;
+};
+
class QmlExpression;
class QString;
-class QmlExpressionPrivate : public QObjectPrivate
+class QmlExpressionPrivate : public QObjectPrivate, public QmlAbstractExpression
{
Q_DECLARE_PUBLIC(QmlExpression)
public:
QmlExpressionPrivate();
~QmlExpressionPrivate();
- // Forms the QmlContext "expressions" linked list
- QmlExpressionPrivate *nextExpression;
- QmlExpressionPrivate **prevExpression;
-
enum CompiledDataType {
BasicScriptEngineData = 1,
PreTransformedQtScriptData = 2
@@ -82,7 +96,6 @@ public:
void init(QmlContext *, const QString &, QObject *);
void init(QmlContext *, void *, QmlRefCount *, QObject *);
- QmlContext *ctxt;
QString expression;
bool expressionFunctionValid:1;
bool expressionRewritten:1;