00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_DOUBLE_RANGE_H
00011 #define QWT_DOUBLE_RANGE_H
00012
00013 #include "qwt_global.h"
00014
00031 class QWT_EXPORT QwtDoubleRange
00032 {
00033 public:
00034 QwtDoubleRange();
00035 virtual ~QwtDoubleRange();
00036
00037 void setRange( double vmin, double vmax,
00038 double vstep = 0.0, int pagesize = 1 );
00039
00040 void setValid( bool );
00041 bool isValid() const;
00042
00043 virtual void setValue( double );
00044 double value() const;
00045
00046 void setPeriodic( bool tf );
00047 bool periodic() const;
00048
00049 void setStep( double );
00050 double step() const;
00051
00052 double maxValue() const;
00053 double minValue() const;
00054
00055 int pageSize() const;
00056
00057 virtual void incValue( int );
00058 virtual void incPages( int );
00059 virtual void fitValue( double );
00060
00061 protected:
00062
00063 double exactValue() const;
00064 double exactPrevValue() const;
00065 double prevValue() const;
00066
00067 virtual void valueChange();
00068 virtual void stepChange();
00069 virtual void rangeChange();
00070
00071 private:
00072 void setNewValue( double value, bool align = false );
00073
00074 class PrivateData;
00075 PrivateData *d_data;
00076 };
00077
00078 #endif