Minimize the number of objects created per item in VisualDataModel.
authorAndrew den Exter <andrew.den-exter@nokia.com>
Thu, 1 Dec 2011 04:01:13 +0000 (14:01 +1000)
committerQt by Nokia <qt-info@nokia.com>
Fri, 23 Dec 2011 06:23:39 +0000 (07:23 +0100)
commit347f84e5aca9423536cb0cd7a2eafaf836a72212
treecdb68529b37190be7f477d7775f8011d39080b36
parent932a195dbaae92ce87b98beca29a25c9b8d6cf5b
Minimize the number of objects created per item in VisualDataModel.

Derive from QDeclarativeContext and reference count the context object
instead of parenting it to the context.  Combined with a weak
persistent v8 handle the allows the context object to be returned by
javascript accessors instead of creating a new instance for every use.

In addition to the efficiency advantages of creating fewer objects,
routing all data access through a single object means that object can
also persist data instead of just acting as a proxy.

Change-Id: I107dc8c901f16f2a4b420ff1cbffa7a6be27de89
Reviewed-by: Martin Jones <martin.jones@nokia.com>
examples/declarative/modelviews/visualdatamodel/dragselection.qml
src/quick/items/items.pri
src/quick/items/qquickvisualadaptormodel.cpp
src/quick/items/qquickvisualadaptormodel_p.h
src/quick/items/qquickvisualdatamodel.cpp
src/quick/items/qquickvisualdatamodel_p.h
src/quick/items/qquickvisualdatamodel_p_p.h [new file with mode: 0644]
src/quick/util/qdeclarativelistcompositor.cpp
src/quick/util/qdeclarativelistcompositor_p.h
tests/auto/declarative/qdeclarativelistcompositor/tst_qdeclarativelistcompositor.cpp
tests/auto/qtquick2/qquickvisualdatamodel/tst_qquickvisualdatamodel.cpp