diff options
author | Bea Lam <bea.lam@nokia.com> | 2012-03-07 13:29:20 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-10 00:58:12 +0100 |
commit | 78356f6038065227acb2dc898994765f49f07b42 (patch) | |
tree | 2749621a6209b809660c128e0cb06402f786b5ec /src/quick/items/qquickitemview_p_p.h | |
parent | 3c94c7eb7e622051677eb319f6a79e5edb8e2a12 (diff) |
Avoid using QQuickViewItem as base class
This patch renames it to QQuickItemViewTransitionableItem, and
FxViewItem and PositionedItem now create instances of this instead of
subclassing it, to reduce the memory used when transitions are not
required.
Change-Id: Ie050cda5a121bff9542c7ba7356f6eacf37d241a
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'src/quick/items/qquickitemview_p_p.h')
-rw-r--r-- | src/quick/items/qquickitemview_p_p.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/quick/items/qquickitemview_p_p.h b/src/quick/items/qquickitemview_p_p.h index 80dacc0cb4..216f10aa23 100644 --- a/src/quick/items/qquickitemview_p_p.h +++ b/src/quick/items/qquickitemview_p_p.h @@ -57,12 +57,27 @@ QT_BEGIN_NAMESPACE QT_MODULE(Quick) -class FxViewItem : public QQuickViewItem +class FxViewItem { public: FxViewItem(QQuickItem *, bool own); virtual ~FxViewItem(); + qreal itemX() const; + qreal itemY() const; + + void moveTo(const QPointF &pos); + void setVisible(bool visible); + + QQuickItemViewTransitioner::TransitionType scheduledTransitionType() const; + bool transitionScheduledOrRunning() const; + bool transitionRunning() const; + bool isPendingRemoval() const; + + void transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget); + bool prepareTransition(QQuickItemViewTransitioner *transitioner, const QRectF &viewBounds); + void startTransition(QQuickItemViewTransitioner *transitioner); + // these are positions and sizes along the current direction of scrolling/flicking virtual qreal position() const = 0; virtual qreal endPosition() const = 0; @@ -71,7 +86,10 @@ public: virtual bool contains(qreal x, qreal y) const = 0; + QQuickItem *item; + QQuickItemViewTransitionableItem *transitionableItem; QQuickItemViewAttached *attached; + int index; bool ownItem; bool releaseAfterTransition; }; @@ -192,7 +210,7 @@ public: void prepareVisibleItemTransitions(); void prepareRemoveTransitions(QHash<QQuickChangeSet::MoveKey, FxViewItem *> *removedItems); bool prepareNonVisibleItemTransition(FxViewItem *item, const QRectF &viewBounds); - virtual void viewItemTransitionFinished(QQuickViewItem *item); + virtual void viewItemTransitionFinished(QQuickItemViewTransitionableItem *item); int findMoveKeyIndex(QQuickChangeSet::MoveKey key, const QVector<QQuickChangeSet::Remove> &changes) const; |