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 #if QT_VERSION < 0x040000
00037 explicit QwtWheel(QWidget *parent, const char *name);
00038 #endif
00039 virtual ~QwtWheel();
00040
00041 virtual void setOrientation(Qt::Orientation);
00042
00043 double totalAngle() const;
00044 double viewAngle() const;
00045 int tickCnt() const;
00046 int internalBorder() const;
00047
00048 double mass() const;
00049
00050 void setTotalAngle (double angle);
00051 void setTickCnt(int cnt);
00052 void setViewAngle(double angle);
00053 void setInternalBorder(int width);
00054 void setMass(double val);
00055 void setWheelWidth( int w );
00056
00057 virtual QSize sizeHint() const;
00058 virtual QSize minimumSizeHint() const;
00059
00060 protected:
00061 virtual void resizeEvent(QResizeEvent *e);
00062 virtual void paintEvent(QPaintEvent *e);
00063
00064 void layoutWheel( bool update = true );
00065 void draw(QPainter *p, const QRect& update_rect);
00066 void drawWheel(QPainter *p, const QRect &r);
00067 void drawWheelBackground(QPainter *p, const QRect &r);
00068 void setColorArray();
00069
00070 virtual void valueChange();
00071 virtual void paletteChange( const QPalette &);
00072
00073 virtual double getValue(const QPoint &p);
00074 virtual void getScrollMode(const QPoint &p,
00075 int &scrollMode, int &direction);
00076
00077 private:
00078 void initWheel();
00079
00080 class PrivateData;
00081 PrivateData *d_data;
00082 };
00083
00084 #endif