summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlboundsignal_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2009-09-22 12:18:56 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2009-09-22 12:18:56 (GMT)
commit5085d5027f168db01e60e2161d44d9445f9c7beb (patch)
tree8c356970804cc36090c5201c3a521caddad97f94 /src/declarative/qml/qmlboundsignal_p.h
parent8d5a395e176239b7e3ee8822cb251b2e631c21de (diff)
downloadQt-5085d5027f168db01e60e2161d44d9445f9c7beb.zip
Qt-5085d5027f168db01e60e2161d44d9445f9c7beb.tar.gz
Qt-5085d5027f168db01e60e2161d44d9445f9c7beb.tar.bz2
Add plumbing for more advanced signal property control
Diffstat (limited to 'src/declarative/qml/qmlboundsignal_p.h')
-rw-r--r--src/declarative/qml/qmlboundsignal_p.h55
1 files changed, 18 insertions, 37 deletions
diff --git a/src/declarative/qml/qmlboundsignal_p.h b/src/declarative/qml/qmlboundsignal_p.h
index de8f91d..51c7155 100644
--- a/src/declarative/qml/qmlboundsignal_p.h
+++ b/src/declarative/qml/qmlboundsignal_p.h
@@ -58,56 +58,37 @@
QT_BEGIN_NAMESPACE
-class QmlBoundSignal : public QmlExpression
+class QmlAbstractBoundSignal : public QObject
{
-Q_OBJECT
+ Q_OBJECT
public:
- QmlBoundSignal(QmlContext *, const QString &, QObject *me, int idx, QObject *parent);
-
- int index() const { return _idx; }
-protected:
- static int evaluateIdx;
-private:
- int _idx;
+ QmlAbstractBoundSignal(QObject *parent = 0);
+ virtual ~QmlAbstractBoundSignal() = 0;
};
-class QmlBoundSignalParameters : public QObject
+class QmlBoundSignalParameters;
+class QmlBoundSignal : public QmlAbstractBoundSignal
{
-Q_OBJECT
public:
- QmlBoundSignalParameters(const QMetaMethod &, QObject * = 0);
- ~QmlBoundSignalParameters();
-
- void setValues(void **);
- void clearValues();
-
-private:
- friend class MetaObject;
- int metaCall(QMetaObject::Call, int _id, void **);
- struct MetaObject : public QAbstractDynamicMetaObject {
- MetaObject(QmlBoundSignalParameters *b)
- : parent(b) {}
+ QmlBoundSignal(QObject *scope, const QMetaMethod &signal, QObject *parent);
+ QmlBoundSignal(QmlContext *ctxt, const QString &val, QObject *scope,
+ const QMetaMethod &signal, QObject *parent);
+ virtual ~QmlBoundSignal();
- int metaCall(QMetaObject::Call c, int id, void **a) {
- return parent->metaCall(c, id, a);
- }
- QmlBoundSignalParameters *parent;
- };
+ int index() const;
- int *types;
- void **values;
- QMetaObject *myMetaObject;
-};
+ QmlExpression *expression() const;
+ QmlExpression *setExpression(QmlExpression *);
-class QmlBoundSignalProxy : public QmlBoundSignal
-{
-public:
- QmlBoundSignalProxy(QmlContext *, const QString &, QObject *me, int idx, QObject *parent);
+ static QmlBoundSignal *cast(QObject *);
protected:
virtual int qt_metacall(QMetaObject::Call c, int id, void **a);
+
private:
- QmlBoundSignalParameters *params;
+ QmlExpression *m_expression;
+ int m_idx;
+ QmlBoundSignalParameters *m_params;
};
QT_END_NAMESPACE