diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-12-09 21:39:21 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-12-09 21:39:21 (GMT) |
commit | 0d0f02be045f05838d0c219321809b46db16b50d (patch) | |
tree | e2536960abee06d581e531b227085c3e8df49f0e /src/declarative/util/qmlopenmetaobject_p.h | |
parent | f107c0d9dfe5c854c1235d34755bbf1de34c4cb4 (diff) | |
download | Qt-0d0f02be045f05838d0c219321809b46db16b50d.zip Qt-0d0f02be045f05838d0c219321809b46db16b50d.tar.gz Qt-0d0f02be045f05838d0c219321809b46db16b50d.tar.bz2 |
Avoid creating a new dynamic metaobject for each delegate.
Diffstat (limited to 'src/declarative/util/qmlopenmetaobject_p.h')
-rw-r--r-- | src/declarative/util/qmlopenmetaobject_p.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/declarative/util/qmlopenmetaobject_p.h b/src/declarative/util/qmlopenmetaobject_p.h index 6045678..b33f99b 100644 --- a/src/declarative/util/qmlopenmetaobject_p.h +++ b/src/declarative/util/qmlopenmetaobject_p.h @@ -53,12 +53,27 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) +class QmlEngine; +class QmlOpenMetaObjectTypePrivate; +class QmlOpenMetaObjectType +{ +public: + QmlOpenMetaObjectType(QmlEngine *engine); + ~QmlOpenMetaObjectType(); + +private: + QmlOpenMetaObjectTypePrivate *d; + friend class QmlOpenMetaObject; + friend class QmlOpenMetaObjectPrivate; +}; + class QmlOpenMetaObjectPrivate; class QMetaPropertyBuilder; class Q_DECLARATIVE_EXPORT QmlOpenMetaObject : public QAbstractDynamicMetaObject { public: QmlOpenMetaObject(QObject *, bool = true); + QmlOpenMetaObject(QObject *, QmlOpenMetaObjectType *, bool = true); ~QmlOpenMetaObject(); QVariant value(const QByteArray &) const; @@ -71,13 +86,14 @@ public: QByteArray name(int) const; QObject *object() const; + virtual QVariant initialValue(int); protected: virtual int metaCall(QMetaObject::Call _c, int _id, void **_a); virtual int createProperty(const char *, const char *); virtual void propertyRead(int); virtual void propertyWrite(int); - virtual QVariant propertyCreated(int, QMetaPropertyBuilder &); + virtual void propertyCreated(int, QMetaPropertyBuilder &); private: int doCreateProperty(const char *); |