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 *, const QRect & );
00063 void drawWheel( QPainter *, const QRect & );
00064 void drawWheelBackground( QPainter *, const QRect & );
00065 void setColorArray();
00066
00067 virtual void valueChange();
00068 virtual void paletteChange( const QPalette & );
00069
00070 virtual double getValue( const QPoint & );
00071 virtual void getScrollMode( const QPoint &,
00072 int &scrollMode, int &direction );
00073
00074 private:
00075 void initWheel();
00076
00077 class PrivateData;
00078 PrivateData *d_data;
00079 };
00080
00081 #endif