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 <qwidget.h>
00014 #include "qwt_global.h"
00015 #include "qwt_double_range.h"
00016
00028 class QWT_EXPORT QwtAbstractSlider : public QWidget, public QwtDoubleRange
00029 {
00030 Q_OBJECT
00031 Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
00032 Q_PROPERTY( bool valid READ isValid WRITE setValid )
00033 Q_PROPERTY( double mass READ mass WRITE setMass )
00034 #ifndef Q_MOC_RUN // Qt3 moc
00035 #define QWT_PROPERTY Q_PROPERTY
00036 Q_PROPERTY( Orientation orientation
00037 READ orientation WRITE setOrientation )
00038 #else // Qt4 moc
00039
00040 Q_PROPERTY( Qt::Orientation orientation
00041 READ orientation WRITE setOrientation )
00042
00043 #endif
00044
00045 public:
00050 enum ScrollMode
00051 {
00052 ScrNone,
00053 ScrMouse,
00054 ScrTimer,
00055 ScrDirect,
00056 ScrPage
00057 };
00058
00059 explicit QwtAbstractSlider(Qt::Orientation, QWidget *parent = NULL);
00060 virtual ~QwtAbstractSlider();
00061
00062 void setUpdateTime(int t);
00063 void stopMoving();
00064 void setTracking(bool enable);
00065
00066 virtual void setMass(double val);
00067 virtual double mass() const;
00068
00069 #if QT_VERSION >= 0x040000
00070 virtual void setOrientation(Qt::Orientation o);
00071 Qt::Orientation orientation() const;
00072 #else
00073 virtual void setOrientation(Orientation o);
00074 Orientation orientation() const;
00075 #endif
00076
00077 bool isReadOnly() const;
00078
00079
00080
00081
00082
00083
00087 bool isValid() const { return QwtDoubleRange::isValid(); }
00088
00093 void setValid(bool valid) { QwtDoubleRange::setValid(valid); }
00094
00095 public slots:
00096 virtual void setValue(double val);
00097 virtual void fitValue(double val);
00098 virtual void incValue(int steps);
00099
00100 virtual void setReadOnly(bool);
00101
00102 signals:
00103
00112 void valueChanged(double value);
00113
00118 void sliderPressed();
00119
00125 void sliderReleased();
00131 void sliderMoved(double value);
00132
00133 protected:
00134 virtual void setPosition(const QPoint &);
00135 virtual void valueChange();
00136
00137 virtual void timerEvent(QTimerEvent *e);
00138 virtual void mousePressEvent(QMouseEvent *e);
00139 virtual void mouseReleaseEvent(QMouseEvent *e);
00140 virtual void mouseMoveEvent(QMouseEvent *e);
00141 virtual void keyPressEvent(QKeyEvent *e);
00142 virtual void wheelEvent(QWheelEvent *e);
00143
00152 virtual double getValue(const QPoint & p) = 0;
00178 virtual void getScrollMode( const QPoint &p,
00179 int &scrollMode, int &direction) = 0;
00180
00181 void setMouseOffset(double);
00182 double mouseOffset() const;
00183
00184 int scrollMode() const;
00185
00186 private:
00187 void buttonReleased();
00188
00189 class PrivateData;
00190 PrivateData *d_data;
00191 };
00192
00193 #endif