00001 #ifndef QMOUSETRACKINGWIDGET_H
00002 #define QMOUSETRACKINGWIDGET_H
00003
00010 #include <QWidget>
00011 #include <QMouseEvent>
00012 #include <QDebug>
00013 #include <QGraphicsView>
00014 #include <QApplication>
00015 #include <QScrollBar>
00016 #include <QMouseEvent>
00017
00025 #ifdef Q_WS_MAEMO_5
00026 #define NUM_MOVE_EVENTS 5
00027 #else
00028 #define NUM_MOVE_EVENTS 10
00029 #endif
00030
00037 class QMouseTrackingView : public QGraphicsView
00038 {
00039 Q_OBJECT
00040
00041 public:
00049 QMouseTrackingView(QGraphicsScene *scene, QWidget *parent);
00050
00056 void reset();
00057
00058 private:
00059 QList<QPoint> mousePoints;
00060
00061 void getDirection();
00062 QMouseEvent lastMouseEvent;
00063 void storeMouseEvent(QMouseEvent *event);
00064
00065 signals:
00066 void mouseDragged(Qt::ArrowType);
00067 void mouseDoubleClick();
00068
00069 private slots:
00070 void mouseMoveEvent(QMouseEvent *);
00071 void mousePressEvent(QMouseEvent *);
00072 void mouseReleaseEvent(QMouseEvent *event);
00073 void mouseDoubleClickEvent(QMouseEvent *event);
00074
00075 };
00076
00077 #endif // QMOUSETRACKINGWIDGET_H