00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef QT_SCROLL_WHEEL_H
00010 #define QT_SCROLL_WHEEL_H
00011
00012 #include <QAbstractSlider>
00013 #include "qtsvgpixmapcache.h"
00014
00015 class QMouseEvent;
00016
00017 class QtScrollWheel : public QAbstractSlider
00018 {
00019 Q_OBJECT
00020 Q_PROPERTY(QString skin READ skin WRITE setSkin)
00021 public:
00022 QtScrollWheel(QWidget* parent = NULL);
00023 ~QtScrollWheel();
00024
00025 void setSkin(const QString& skin);
00026 QString skin() const;
00027 protected:
00028 virtual void mousePressEvent(QMouseEvent* event);
00029 virtual void mouseMoveEvent(QMouseEvent* event);
00030 virtual void wheelEvent(QWheelEvent* event);
00031 virtual void paintEvent(QPaintEvent* event);
00032 virtual QSize sizeHint() const;
00033
00034 void init();
00035 void changeValue(int delta);
00036
00037 private:
00039 QtSvgPixmapCache m_wheel[3];
00041 QSize m_defaultSize;
00043 int m_currentIndex;
00044 QPoint m_lastMousePosition;
00046 QString m_skin;
00047 };
00048
00049 #endif // QT_SCROLL_WHEEL_H