diff options
author | Alan Alpert <[email protected]> | 2013-01-15 14:26:59 -0800 |
---|---|---|
committer | The Qt Project <[email protected]> | 2013-01-24 17:14:23 +0100 |
commit | 7cad0e52c5a020bd29635e9912fd8946a6b48124 (patch) | |
tree | 2f1530f14b8c595d2ad85a229588a988f7f5aba9 /src/quick/items/qquicklistview.cpp | |
parent | bbb3d5b403511f6e0bc1966835983b2574596e25 (diff) |
Move the model classes from QtQuick to QtQml
This is needed for proper support of non-GUI instantiators in QtQml.
Only private C++ classes are affected. Aside from name changes, model
classes now operate on QObjects instead of QQuickItems, leading to minor
changes in the implementation of QtQuick classes using them.
The old QML type names will still be registered in the QtQuick import
for the forseeable future, but pointing to the new classes. The new QML
types will be added in a second commit.
Classes Affected:
QQuickVisualDataGroup -> QQmlDataGroup
QQuickVisualDataModel -> QQmlDelegateModel
QQuickVisualItemModel -> QQmlObjectModel
QQuickVisualModel -> QQmlInstanceModel
QQuickChangeSet -> QQmlChangeSet
QQuickListAccessor -> QQmlListAccessor
QQuickListCompositor -> QQmlListCompositor
QQuickPackage -> QQuickPackage (just moved for now)
Change-Id: Ia19e630e53bfa9e5d459e289596cd11df1ea3930
Reviewed-by: Andrew den Exter <[email protected]>
Diffstat (limited to 'src/quick/items/qquicklistview.cpp')
-rw-r--r-- | src/quick/items/qquicklistview.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 57f1b99456..297f64176c 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -41,8 +41,8 @@ #include "qquicklistview_p.h" #include "qquickitemview_p_p.h" -#include "qquickvisualitemmodel_p.h" +#include <private/qqmlobjectmodel_p.h> #include <QtQml/qqmlexpression.h> #include <QtQml/qqmlengine.h> #include <QtQml/qqmlinfo.h> @@ -106,7 +106,7 @@ public: virtual void setPosition(qreal pos); virtual void layoutVisibleItems(int fromModelIndex = 0); - virtual bool applyInsertionChange(const QQuickChangeSet::Insert &insert, ChangeResult *changeResult, QList<FxViewItem *> *addedItems, QList<MovedItem> *movingIntoView); + virtual bool applyInsertionChange(const QQmlChangeSet::Insert &insert, ChangeResult *changeResult, QList<FxViewItem *> *addedItems, QList<MovedItem> *movingIntoView); virtual void translateAndTransitionItemsAfter(int afterIndex, const ChangeResult &insertionResult, const ChangeResult &removalResult); virtual void updateSectionCriteria(); @@ -2803,13 +2803,16 @@ void QQuickListView::geometryChanged(const QRectF &newGeometry, const QRectF &ol QQuickItemView::geometryChanged(newGeometry, oldGeometry); } -void QQuickListView::initItem(int index, QQuickItem *item) +void QQuickListView::initItem(int index, QObject *object) { - QQuickItemView::initItem(index, item); - QQuickListViewAttached *attached = static_cast<QQuickListViewAttached *>( - qmlAttachedPropertiesObject<QQuickListView>(item)); - if (attached) - attached->setView(this); + QQuickItemView::initItem(index, object); + QQuickItem *item = qmlobject_cast<QQuickItem*>(object); + if (item) { + QQuickListViewAttached *attached = static_cast<QQuickListViewAttached *>( + qmlAttachedPropertiesObject<QQuickListView>(item)); + if (attached) + attached->setView(this); + } } @@ -2867,7 +2870,7 @@ void QQuickListViewPrivate::updateSectionCriteria() } } -bool QQuickListViewPrivate::applyInsertionChange(const QQuickChangeSet::Insert &change, ChangeResult *insertResult, QList<FxViewItem *> *addedItems, QList<MovedItem> *movingIntoView) +bool QQuickListViewPrivate::applyInsertionChange(const QQmlChangeSet::Insert &change, ChangeResult *insertResult, QList<FxViewItem *> *addedItems, QList<MovedItem> *movingIntoView) { int modelIndex = change.index; int count = change.count; |