1 /***********************************************************************/
4 /* Copyright(C) 2009 Igor Trindade Oliveira <igor.oliveira@indt.org.br>*/
5 /* Copyright(C) 2009 Adenilson Cavalcanti <adenilson.silva@idnt.org.br>*/
7 /* This library is free software; you can redistribute it and/or */
8 /* modify it under the terms of the GNU Lesser General Public */
9 /* License as published by the Free Software Foundation; either */
10 /* version 2.1 of the License, or (at your option) any later version. */
12 /* This library is distributed in the hope that it will be useful, */
13 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
14 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
15 /* Lesser General Public License for more details. */
17 /* You should have received a copy of the GNU Lesser General Public */
18 /* License along with this library; if not, write to the Free Software */
19 /* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA */
21 /***********************************************************************/
22 #ifndef KINETICLAYOUT_H
23 #define KINETICLAYOUT_H
25 #include <QGraphicsWidget>
26 #include <QGraphicsSceneMouseEvent>
28 class QGraphicsGridLayout
;
30 class KineticScrollingPrivate
;
31 class QPropertyAnimation
;
33 class KineticView
: public QGraphicsWidget
38 KineticView(QGraphicsWidget
*parent
= 0);
41 void setWidget(QGraphicsWidget
*item
);
45 QGraphicsGridLayout
*layout
;
46 ScrollBar
*verticalScrollbar
;
47 KineticScrollingPrivate
*d
;
48 QPropertyAnimation
*scrollAnimation
;
51 void resizeEvent( QGraphicsSceneResizeEvent
*event
);
52 bool eventFilter( QObject
*watched
, QEvent
*event
);
54 void mousePressEvent(QGraphicsSceneMouseEvent
*event
);
55 void mouseMoveEvent(QGraphicsSceneMouseEvent
*event
);
56 void mouseReleaseEvent(QGraphicsSceneMouseEvent
*event
);
57 void wheelEvent(QGraphicsSceneWheelEvent
*event
);
59 int thresholdPosition( int value
);
60 void resetAnimation( int duration
);
63 void setVerticalScrollValue(int value
);
67 void adjustScrollBar();