diff options
Diffstat (limited to 'src/declarative/qml/qmlvmemetaobject_p.h')
-rw-r--r-- | src/declarative/qml/qmlvmemetaobject_p.h | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/src/declarative/qml/qmlvmemetaobject_p.h b/src/declarative/qml/qmlvmemetaobject_p.h index 7fa46fd..3eb776e 100644 --- a/src/declarative/qml/qmlvmemetaobject_p.h +++ b/src/declarative/qml/qmlvmemetaobject_p.h @@ -138,33 +138,18 @@ private: QAbstractDynamicMetaObject *parent; void listChanged(int); - class List : public QmlConcreteList<QObject*> + class List : public QList<QObject*> { public: - List(QmlVMEMetaObject *p, int propIdx) - : parent(p), parentProperty(propIdx) { } - - virtual void append(QObject *v) { - QmlConcreteList<QObject*>::append(v); - parent->listChanged(parentProperty); - } - virtual void insert(int i, QObject *v) { - QmlConcreteList<QObject*>::insert(i, v); - parent->listChanged(parentProperty); - } - virtual void clear() { - QmlConcreteList<QObject*>::clear(); - parent->listChanged(parentProperty); - } - virtual void removeAt(int i) { - QmlConcreteList<QObject*>::removeAt(i); - parent->listChanged(parentProperty); - } - private: - QmlVMEMetaObject *parent; - int parentProperty; + List(int lpi) : notifyIndex(lpi) {} + int notifyIndex; }; QList<List *> listProperties; + + static void list_append(QmlListProperty<QObject> *, QObject *); + static int list_count(QmlListProperty<QObject> *); + static QObject *list_at(QmlListProperty<QObject> *, int); + static void list_clear(QmlListProperty<QObject> *); }; QT_END_NAMESPACE |