00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_ABSTRACT_SCALE_H
00011 #define QWT_ABSTRACT_SCALE_H
00012
00013 #include "qwt_global.h"
00014
00015 class QwtScaleEngine;
00016 class QwtScaleDraw;
00017 class QwtScaleDiv;
00018 class QwtDoubleInterval;
00019
00028 class QWT_EXPORT QwtAbstractScale
00029 {
00030 public:
00031 QwtAbstractScale();
00032 virtual ~QwtAbstractScale();
00033
00034 void setScale(double vmin, double vmax, double step = 0.0);
00035 void setScale(const QwtDoubleInterval &, double step = 0.0);
00036 void setScale(const QwtScaleDiv &s);
00037
00038 void setAutoScale();
00039 bool autoScale() const;
00040
00041 void setScaleMaxMajor( int ticks);
00042 int scaleMaxMinor() const;
00043
00044 void setScaleMaxMinor( int ticks);
00045 int scaleMaxMajor() const;
00046
00047 void setScaleDraw(QwtScaleDraw *);
00048 const QwtScaleDraw *scaleDraw() const;
00049
00050 void setScaleEngine(QwtScaleEngine *);
00051 const QwtScaleEngine *scaleEngine() const;
00052 QwtScaleEngine *scaleEngine();
00053
00054 protected:
00055 void rescale(double vmin, double vmax, double step = 0.0);
00056
00057 QwtScaleDraw *scaleDraw();
00058
00059 virtual void scaleChange();
00060
00061 private:
00062 void updateScaleDraw();
00063
00064 class PrivateData;
00065 PrivateData *d_data;
00066 };
00067
00068 #endif