Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_ABSTRACT_SLIDER_H
00011 #define QWT_ABSTRACT_SLIDER_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_abstract_scale.h"
00015
00032 class QWT_EXPORT QwtAbstractSlider: public QwtAbstractScale
00033 {
00034 Q_OBJECT
00035
00036 Q_PROPERTY( double value READ value WRITE setValue NOTIFY valueChanged USER true )
00037
00038 Q_PROPERTY( uint totalSteps READ totalSteps WRITE setTotalSteps )
00039 Q_PROPERTY( uint singleSteps READ singleSteps WRITE setSingleSteps )
00040 Q_PROPERTY( uint pageSteps READ pageSteps WRITE setPageSteps )
00041 Q_PROPERTY( bool stepAlignment READ stepAlignment WRITE setStepAlignment )
00042
00043 Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
00044 Q_PROPERTY( bool tracking READ isTracking WRITE setTracking )
00045 Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
00046
00047 Q_PROPERTY( bool invertedControls READ invertedControls WRITE setInvertedControls )
00048
00049 public:
00050 explicit QwtAbstractSlider( QWidget *parent = NULL );
00051 virtual ~QwtAbstractSlider();
00052
00053 void setValid( bool );
00054 bool isValid() const;
00055
00056 double value() const;
00057
00058 void setWrapping( bool );
00059 bool wrapping() const;
00060
00061 void setTotalSteps( uint );
00062 uint totalSteps() const;
00063
00064 void setSingleSteps( uint );
00065 uint singleSteps() const;
00066
00067 void setPageSteps( uint );
00068 uint pageSteps() const;
00069
00070 void setStepAlignment( bool );
00071 bool stepAlignment() const;
00072
00073 void setTracking( bool );
00074 bool isTracking() const;
00075
00076 void setReadOnly( bool );
00077 bool isReadOnly() const;
00078
00079 void setInvertedControls( bool );
00080 bool invertedControls() const;
00081
00082 public Q_SLOTS:
00083 void setValue( double val );
00084
00085 Q_SIGNALS:
00086
00097 void valueChanged( double value );
00098
00103 void sliderPressed();
00104
00109 void sliderReleased();
00110
00119 void sliderMoved( double value );
00120
00121 protected:
00122 virtual void mousePressEvent( QMouseEvent * );
00123 virtual void mouseReleaseEvent( QMouseEvent * );
00124 virtual void mouseMoveEvent( QMouseEvent * );
00125 virtual void keyPressEvent( QKeyEvent * );
00126 virtual void wheelEvent( QWheelEvent * );
00127
00136 virtual bool isScrollPosition( const QPoint &pos ) const = 0;
00137
00147 virtual double scrolledTo( const QPoint &pos ) const = 0;
00148
00149 void incrementValue( int numSteps );
00150
00151 virtual void scaleChange();
00152
00153 protected:
00154 virtual void sliderChange();
00155
00156 double incrementedValue(
00157 double value, int stepCount ) const;
00158
00159 private:
00160 double alignedValue( double ) const;
00161 double boundedValue( double ) const;
00162
00163 class PrivateData;
00164 PrivateData *d_data;
00165 };
00166
00167 #endif