aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlboundsignal_p.h
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-03-23 08:22:02 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-26 07:24:29 +0200
commit68ac4c57c46f72b4db16cf02ba67953c9cf4bdc4 (patch)
tree3a22ab063e86ca88004d103fa21c53ff82aae927 /src/qml/qml/qqmlboundsignal_p.h
parentfa3ef5376acc69b147718f49eddb842fdd5d2dd2 (diff)
Remove QObject parenting from QQmlAbstractBoundSignal.
Change-Id: If549cf57bbac18a986a2a0e63fdc76902d2dae43 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlboundsignal_p.h')
-rw-r--r--src/qml/qml/qqmlboundsignal_p.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlboundsignal_p.h b/src/qml/qml/qqmlboundsignal_p.h
index ab14de018d..03b6008e45 100644
--- a/src/qml/qml/qqmlboundsignal_p.h
+++ b/src/qml/qml/qqmlboundsignal_p.h
@@ -61,31 +61,40 @@
QT_BEGIN_NAMESPACE
-class Q_QML_EXPORT QQmlAbstractBoundSignal : public QObject
+class Q_QML_EXPORT QQmlAbstractBoundSignal
{
- Q_OBJECT
public:
- QQmlAbstractBoundSignal(QObject *parent = 0);
- virtual ~QQmlAbstractBoundSignal() = 0;
+ QQmlAbstractBoundSignal();
+ virtual ~QQmlAbstractBoundSignal();
virtual int index() const = 0;
virtual QQmlExpression *expression() const = 0;
virtual QQmlExpression *setExpression(QQmlExpression *) = 0;
+ virtual QObject *object() = 0;
+
+ void addToObject();
+
+private:
+ friend class QQmlData;
+ friend class QQmlPropertyPrivate;
+ friend class QQmlEngineDebugService;
+ QQmlAbstractBoundSignal **m_prevSignal;
+ QQmlAbstractBoundSignal *m_nextSignal;
};
class QQmlBoundSignalParameters;
-class Q_QML_EXPORT QQmlBoundSignal : public QQmlAbstractBoundSignal
+class Q_QML_EXPORT QQmlBoundSignal : public QObject,
+ public QQmlAbstractBoundSignal
{
public:
- QQmlBoundSignal(QObject *scope, const QMetaMethod &signal, QObject *parent);
- QQmlBoundSignal(QQmlContext *ctxt, const QString &val, QObject *scope,
- const QMetaMethod &signal, QObject *parent);
+ QQmlBoundSignal(QObject *scope, const QMetaMethod &signal, QObject *owner);
virtual ~QQmlBoundSignal();
int index() const;
QQmlExpression *expression() const;
QQmlExpression *setExpression(QQmlExpression *);
+ QObject *object() { return m_owner; }
bool isEvaluating() const { return m_isEvaluating; }
@@ -98,6 +107,7 @@ private:
bool m_paramsValid : 1;
bool m_isEvaluating : 1;
QQmlBoundSignalParameters *m_params;
+ QObject *m_owner;
};
QT_END_NAMESPACE