aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickpositioners_p.h
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-07 13:29:20 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-10 00:58:12 +0100
commit78356f6038065227acb2dc898994765f49f07b42 (patch)
tree2749621a6209b809660c128e0cb06402f786b5ec /src/quick/items/qquickpositioners_p.h
parent3c94c7eb7e622051677eb319f6a79e5edb8e2a12 (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/qquickpositioners_p.h')
-rw-r--r--src/quick/items/qquickpositioners_p.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/quick/items/qquickpositioners_p.h b/src/quick/items/qquickpositioners_p.h
index 8921bfa39b..1e456a9bb9 100644
--- a/src/quick/items/qquickpositioners_p.h
+++ b/src/quick/items/qquickpositioners_p.h
@@ -133,12 +133,25 @@ protected:
virtual void doPositioning(QSizeF *contentSize)=0;
virtual void reportConflictingAnchors()=0;
- class PositionedItem : public QQuickViewItem
+ class PositionedItem
{
public :
- PositionedItem(QQuickItem *i) : QQuickViewItem(i), isNew(false), isVisible(true) {}
+ PositionedItem(QQuickItem *i);
+ ~PositionedItem();
bool operator==(const PositionedItem &other) const { return other.item == item; }
+ qreal itemX() const;
+ qreal itemY() const;
+
+ void moveTo(const QPointF &pos);
+
+ void transitionNextReposition(QQuickItemViewTransitioner *transitioner, QQuickItemViewTransitioner::TransitionType type, bool asTarget);
+ bool prepareTransition(QQuickItemViewTransitioner *transitioner, const QRectF &viewBounds);
+ void startTransition(QQuickItemViewTransitioner *transitioner);
+
+ QQuickItem *item;
+ QQuickItemViewTransitionableItem *transitionableItem;
+ int index;
bool isNew;
bool isVisible;
};