aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickpositioners_p.h
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-02-27 13:16:11 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-02 06:14:49 +0100
commit79608d6f72ea5963aed2fa161b9ef6781adbc41e (patch)
tree2837eb82b5b45a73ead1045d473359b4dcb97592 /src/quick/items/qquickpositioners_p.h
parent3b01983d4f21cbd53745bb9132b9b2fffb019077 (diff)
Improved transitions for Row, Column, Grid, Flow
The view transitions functionality for ListView and GridView has been integrated into the positioner elements. Not all of this functionality is available for positioners, though, since they don't have models (and thus cannot identify certain model operations) and they don't manage the lifetime of their children. Task-number: QTBUG-24336 Change-Id: I71588de289555d2ef5a763af11358bc0af7b31a7 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.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/quick/items/qquickpositioners_p.h b/src/quick/items/qquickpositioners_p.h
index a4f18cfc21..32dd9030fe 100644
--- a/src/quick/items/qquickpositioners_p.h
+++ b/src/quick/items/qquickpositioners_p.h
@@ -43,6 +43,7 @@
#define QQUICKPOSITIONERS_P_H
#include "qquickimplicitsizeitem_p.h"
+#include "qquickitemviewtransition_p.h"
#include <QtQuick/private/qdeclarativestate_p.h>
#include <private/qpodvector_p.h>
@@ -96,6 +97,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickBasePositioner : public QQuickImplicitSizeIte
Q_PROPERTY(QDeclarativeTransition *add READ add WRITE setAdd NOTIFY addChanged)
public:
enum PositionerType { None = 0x0, Horizontal = 0x1, Vertical = 0x2, Both = 0x3 };
+
QQuickBasePositioner(PositionerType, QQuickItem *parent);
~QQuickBasePositioner();
@@ -116,7 +118,6 @@ protected:
QQuickBasePositioner(QQuickBasePositionerPrivate &dd, PositionerType at, QQuickItem *parent);
virtual void componentComplete();
virtual void itemChange(ItemChange, const ItemChangeData &);
- void finishApplyTransitions();
virtual void updatePolish();
@@ -131,19 +132,22 @@ protected Q_SLOTS:
protected:
virtual void doPositioning(QSizeF *contentSize)=0;
virtual void reportConflictingAnchors()=0;
- class PositionedItem {
+
+ class PositionedItem : public QQuickViewItem
+ {
public :
- PositionedItem(QQuickItem *i) : item(i), isNew(false), isVisible(true) {}
+ PositionedItem(QQuickItem *i) : QQuickViewItem(i), isNew(false), isVisible(true) {}
bool operator==(const PositionedItem &other) const { return other.item == item; }
- QQuickItem *item;
+
bool isNew;
bool isVisible;
};
QPODVector<PositionedItem,8> positionedItems;
QPODVector<PositionedItem,8> unpositionedItems;//Still 'in' the positioner, just not positioned
- void positionX(qreal,const PositionedItem &target);
- void positionY(qreal,const PositionedItem &target);
+ void positionItem(qreal x, qreal y, PositionedItem *target);
+ void positionItemX(qreal, PositionedItem *target);
+ void positionItemY(qreal, PositionedItem *target);
private:
Q_DISABLE_COPY(QQuickBasePositioner)