00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PANNER_H
00011 #define QWT_PANNER_H 1
00012
00013 #include <qnamespace.h>
00014 #include <qwidget.h>
00015 #include "qwt_global.h"
00016
00017 class QCursor;
00018
00035 class QWT_EXPORT QwtPanner: public QWidget
00036 {
00037 Q_OBJECT
00038
00039 public:
00040 QwtPanner(QWidget* parent);
00041 virtual ~QwtPanner();
00042
00043 void setEnabled(bool);
00044 bool isEnabled() const;
00045
00046 void setMouseButton(int button, int buttonState = Qt::NoButton);
00047 void getMouseButton(int &button, int &buttonState) const;
00048 void setAbortKey(int key, int state = Qt::NoButton);
00049 void getAbortKey(int &key, int &state) const;
00050
00051 void setCursor(const QCursor &);
00052 const QCursor cursor() const;
00053
00054 virtual bool eventFilter(QObject *, QEvent *);
00055
00056 signals:
00063 void panned(int dx, int dy);
00064
00072 void moved(int dx, int dy);
00073
00074 protected:
00075 virtual void widgetMousePressEvent(QMouseEvent *);
00076 virtual void widgetMouseReleaseEvent(QMouseEvent *);
00077 virtual void widgetMouseMoveEvent(QMouseEvent *);
00078 virtual void widgetKeyPressEvent(QKeyEvent *);
00079 virtual void widgetKeyReleaseEvent(QKeyEvent *);
00080
00081 virtual void paintEvent(QPaintEvent *);
00082
00083 private:
00084 #ifndef QT_NO_CURSOR
00085 void showCursor(bool);
00086 #endif
00087
00088 class PrivateData;
00089 PrivateData *d_data;
00090 };
00091
00092 #endif