00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_WHEEL_H
00011 #define QWT_WHEEL_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_abstract_slider.h"
00015
00025 class QWT_EXPORT QwtWheel : public QwtAbstractSlider
00026 {
00027 Q_OBJECT
00028 Q_PROPERTY( double totalAngle READ totalAngle WRITE setTotalAngle )
00029 Q_PROPERTY( double viewAngle READ viewAngle WRITE setViewAngle )
00030 Q_PROPERTY( int tickCnt READ tickCnt WRITE setTickCnt )
00031 Q_PROPERTY( int internalBorder READ internalBorder WRITE setInternalBorder )
00032 Q_PROPERTY( double mass READ mass WRITE setMass )
00033
00034 public:
00035 explicit QwtWheel(QWidget *parent = NULL);
00036 virtual ~QwtWheel();
00037
00038 virtual void setOrientation(Qt::Orientation);
00039
00040 double totalAngle() const;
00041 double viewAngle() const;
00042 int tickCnt() const;
00043 int internalBorder() const;
00044
00045 double mass() const;
00046
00047 void setTotalAngle (double angle);
00048 void setTickCnt(int cnt);
00049 void setViewAngle(double angle);
00050 void setInternalBorder(int width);
00051 void setMass(double val);
00052 void setWheelWidth( int w );
00053
00054 virtual QSize sizeHint() const;
00055 virtual QSize minimumSizeHint() const;
00056
00057 protected:
00058 virtual void resizeEvent(QResizeEvent *e);
00059 virtual void paintEvent(QPaintEvent *e);
00060
00061 void layoutWheel( bool update = true );
00062 void draw(QPainter *p, const QRect& update_rect);
00063 void drawWheel(QPainter *p, const QRect &r);
00064 void drawWheelBackground(QPainter *p, const QRect &r);
00065 void setColorArray();
00066
00067 virtual void valueChange();
00068 virtual void paletteChange( const QPalette &);
00069
00070 virtual double getValue(const QPoint &p);
00071 virtual void getScrollMode(const QPoint &p,
00072 int &scrollMode, int &direction);
00073
00074 private:
00075 void initWheel();
00076
00077 class PrivateData;
00078 PrivateData *d_data;
00079 };
00080
00081 #endif