From 9ace4e68eb0636284ecf73ed82e4518bbf0208be Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 25 Mar 2010 07:08:15 +0100 Subject: Port Flickable and Flipable to support QGraphicsObject. Replacing QDeclarativeItem* members by QGraphicsObject*. Build fix too. Reviewed-by:akennedy --- .../graphicsitems/qdeclarativeflickable.cpp | 4 ++-- .../graphicsitems/qdeclarativeflickable_p.h | 4 ++-- .../graphicsitems/qdeclarativeflipable.cpp | 21 +++++++++++---------- .../graphicsitems/qdeclarativeflipable_p.h | 12 ++++++------ 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 9ccb3b6..98502fd 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -990,10 +990,10 @@ QDeclarativeListProperty QDeclarativeFlickable::flickableData() return QDeclarativeListProperty(this, (void *)d, QDeclarativeFlickablePrivate::data_append); } -QDeclarativeListProperty QDeclarativeFlickable::flickableChildren() +QDeclarativeListProperty QDeclarativeFlickable::flickableChildren() { Q_D(QDeclarativeFlickable); - return d->viewport->fxChildren(); + return QGraphicsItemPrivate::get(d->viewport)->childrenList(); } /*! diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h index 7dcab98..1fa2c74 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h @@ -82,7 +82,7 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlickable : public QDeclarativeItem Q_PROPERTY(QDeclarativeFlickableVisibleArea *visibleArea READ visibleArea CONSTANT) Q_PROPERTY(QDeclarativeListProperty flickableData READ flickableData) - Q_PROPERTY(QDeclarativeListProperty flickableChildren READ flickableChildren) + Q_PROPERTY(QDeclarativeListProperty flickableChildren READ flickableChildren) Q_CLASSINFO("DefaultProperty", "flickableData") Q_ENUMS(FlickDirection) @@ -92,7 +92,7 @@ public: ~QDeclarativeFlickable(); QDeclarativeListProperty flickableData(); - QDeclarativeListProperty flickableChildren(); + QDeclarativeListProperty flickableChildren(); bool overShoot() const; void setOverShoot(bool); diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp index 0e2ae63..cb4044f 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp @@ -59,8 +59,8 @@ public: void updateSceneTransformFromParent(); QDeclarativeFlipable::Side current; - QDeclarativeGuard front; - QDeclarativeGuard back; + QDeclarativeGuard front; + QDeclarativeGuard back; }; /*! @@ -112,13 +112,13 @@ QDeclarativeFlipable::~QDeclarativeFlipable() The front and back sides of the flipable. */ -QDeclarativeItem *QDeclarativeFlipable::front() +QGraphicsObject *QDeclarativeFlipable::front() { Q_D(const QDeclarativeFlipable); return d->front; } -void QDeclarativeFlipable::setFront(QDeclarativeItem *front) +void QDeclarativeFlipable::setFront(QGraphicsObject *front) { Q_D(QDeclarativeFlipable); if (d->front) { @@ -131,13 +131,13 @@ void QDeclarativeFlipable::setFront(QDeclarativeItem *front) d->front->setOpacity(0.); } -QDeclarativeItem *QDeclarativeFlipable::back() +QGraphicsObject *QDeclarativeFlipable::back() { Q_D(const QDeclarativeFlipable); return d->back; } -void QDeclarativeFlipable::setBack(QDeclarativeItem *back) +void QDeclarativeFlipable::setBack(QGraphicsObject *back) { Q_D(QDeclarativeFlipable); if (d->back) { @@ -195,12 +195,13 @@ void QDeclarativeFlipablePrivate::updateSceneTransformFromParent() current = newSide; if (current == QDeclarativeFlipable::Back && back) { QTransform mat; - mat.translate(back->width()/2,back->height()/2); - if (back->width() && p1.x() >= p2.x()) + QGraphicsItemPrivate *dBack = QGraphicsItemPrivate::get(back); + mat.translate(dBack->width()/2,dBack->height()/2); + if (dBack->width() && p1.x() >= p2.x()) mat.rotate(180, Qt::YAxis); - if (back->height() && p2.y() >= p3.y()) + if (dBack->height() && p2.y() >= p3.y()) mat.rotate(180, Qt::XAxis); - mat.translate(-back->width()/2,-back->height()/2); + mat.translate(-dBack->width()/2,-dBack->height()/2); back->setTransform(mat); } if (front) diff --git a/src/declarative/graphicsitems/qdeclarativeflipable_p.h b/src/declarative/graphicsitems/qdeclarativeflipable_p.h index 8b9c24c..302f083 100644 --- a/src/declarative/graphicsitems/qdeclarativeflipable_p.h +++ b/src/declarative/graphicsitems/qdeclarativeflipable_p.h @@ -60,8 +60,8 @@ class Q_DECLARATIVE_EXPORT QDeclarativeFlipable : public QDeclarativeItem Q_OBJECT Q_ENUMS(Side) - Q_PROPERTY(QDeclarativeItem *front READ front WRITE setFront) - Q_PROPERTY(QDeclarativeItem *back READ back WRITE setBack) + Q_PROPERTY(QGraphicsObject *front READ front WRITE setFront) + Q_PROPERTY(QGraphicsObject *back READ back WRITE setBack) Q_PROPERTY(Side side READ side NOTIFY sideChanged) //### flipAxis //### flipRotation @@ -69,11 +69,11 @@ public: QDeclarativeFlipable(QDeclarativeItem *parent=0); ~QDeclarativeFlipable(); - QDeclarativeItem *front(); - void setFront(QDeclarativeItem *); + QGraphicsObject *front(); + void setFront(QGraphicsObject *); - QDeclarativeItem *back(); - void setBack(QDeclarativeItem *); + QGraphicsObject *back(); + void setBack(QGraphicsObject *); enum Side { Front, Back }; Side side() const; -- cgit v0.12