From 267b80a0dbfd8c700cb93689152de54c924b2e6b Mon Sep 17 00:00:00 2001 From: Adenilson Cavalcanti Date: Tue, 8 Sep 2009 14:34:54 -0400 Subject: [PATCH] Using scroller as a data member instead of deriving from it. --- kineticscroll.h | 9 +++------ kineticview.cpp | 21 +++++++++++---------- kineticview.h | 7 ++++--- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/kineticscroll.h b/kineticscroll.h index 6d98f1e..059d557 100644 --- a/kineticscroll.h +++ b/kineticscroll.h @@ -33,12 +33,9 @@ class KineticScrolling public: KineticScrolling(); ~KineticScrolling(); - - - protected: - void mouseMoveEvent( QGraphicsSceneMouseEvent *event); - void mousePressEvent( QGraphicsSceneMouseEvent *event); - void mouseReleaseEvent( QGraphicsSceneMouseEvent *event); + void mouseMoveEvent( QGraphicsSceneMouseEvent *event ); + void mousePressEvent( QGraphicsSceneMouseEvent *event ); + void mouseReleaseEvent( QGraphicsSceneMouseEvent *event ); void wheelReleaseEvent( QGraphicsSceneWheelEvent *event ); qreal duration(); diff --git a/kineticview.cpp b/kineticview.cpp index bc0cc87..175e466 100644 --- a/kineticview.cpp +++ b/kineticview.cpp @@ -20,9 +20,8 @@ // 02110-1301 USA // ///////////////////////////////////////////////////////////////////////// #include "kineticview.h" - +#include "kineticscroll.h" #include "scrollbar.h" - #include #include #include @@ -55,11 +54,13 @@ KineticView::KineticView( QGraphicsWidget *parent ) layout->addItem( verticalScrollbar, 0, 1 ); setAcceptedMouseButtons( Qt::LeftButton ); + scroller = new KineticScrolling; } KineticView::~KineticView() { delete mWindow; + delete scroller; } void KineticView::doneOvershut(void) @@ -175,18 +176,18 @@ void KineticView::mousePressEvent( QGraphicsSceneMouseEvent *event ) event->accept(); killTimer( timerID ); timerID = 0; - KineticScrolling::mousePressEvent( event ); + scroller->mousePressEvent( event ); } void KineticView::mouseMoveEvent( QGraphicsSceneMouseEvent *event ) { - KineticScrolling::mouseMoveEvent( event ); - setKineticScrollValue( movement() ); + scroller->mouseMoveEvent( event ); + setKineticScrollValue( scroller->movement() ); } void KineticView::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) { - KineticScrolling::mouseReleaseEvent( event ); + scroller->mouseReleaseEvent( event ); if ( cposition > 0 ) { direction = UP; @@ -195,7 +196,7 @@ void KineticView::mouseReleaseEvent( QGraphicsSceneMouseEvent *event ) direction = DOWN; } else { direction = NONE; - mScrollVelocity = kin_movement(); + mScrollVelocity = scroller->kin_movement(); startTimer( 50 ); return; } @@ -209,9 +210,9 @@ void KineticView::wheelEvent(QGraphicsSceneWheelEvent *event) event->accept(); killTimer( timerID ); timerID = 0; - KineticScrolling::mousePressEvent( NULL ); - KineticScrolling::wheelReleaseEvent( event ); - mScrollVelocity = kin_movement(); + scroller->mousePressEvent( NULL ); + scroller->wheelReleaseEvent( event ); + mScrollVelocity = scroller->kin_movement(); startTimer( 50 ); return; diff --git a/kineticview.h b/kineticview.h index ffbed9e..5166707 100644 --- a/kineticview.h +++ b/kineticview.h @@ -25,12 +25,11 @@ #include #include -#include "kineticscroll.h" - class QGraphicsGridLayout; class ScrollBar; +class KineticScrolling; -class KineticView : public QGraphicsWidget, KineticScrolling +class KineticView : public QGraphicsWidget { Q_OBJECT @@ -50,6 +49,8 @@ class KineticView : public QGraphicsWidget, KineticScrolling int timerID, overshut, cposition, direction, minimalPos, maximumPos; char bounceFlag; void doneOvershut(void); + KineticScrolling *scroller; + protected: void resizeEvent( QGraphicsSceneResizeEvent *event ); -- 2.11.4.GIT