aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickpositioners_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickpositioners_p.h')
-rw-r--r--src/quick/items/qquickpositioners_p.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/quick/items/qquickpositioners_p.h b/src/quick/items/qquickpositioners_p.h
index 8921bfa39b..c13d9975af 100644
--- a/src/quick/items/qquickpositioners_p.h
+++ b/src/quick/items/qquickpositioners_p.h
@@ -133,22 +133,39 @@ 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;
};
QPODVector<PositionedItem,8> positionedItems;
QPODVector<PositionedItem,8> unpositionedItems;//Still 'in' the positioner, just not positioned
+
void positionItem(qreal x, qreal y, PositionedItem *target);
void positionItemX(qreal, PositionedItem *target);
void positionItemY(qreal, PositionedItem *target);
+ void removePositionedItem(QPODVector<PositionedItem,8> *items, int index);
+ void clearPositionedItems(QPODVector<PositionedItem,8> *items);
+
private:
Q_DISABLE_COPY(QQuickBasePositioner)
Q_DECLARE_PRIVATE(QQuickBasePositioner)