Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_SCALE_DIV_H
00011 #define QWT_SCALE_DIV_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_valuelist.h"
00015 #include "qwt_double_interval.h"
00016
00017 class QwtDoubleInterval;
00018
00030 class QWT_EXPORT QwtScaleDiv
00031 {
00032 public:
00034 enum TickType
00035 {
00036 NoTick = -1,
00037
00038 MinorTick,
00039 MediumTick,
00040 MajorTick,
00041
00042 NTickTypes
00043 };
00044
00045 explicit QwtScaleDiv();
00046 explicit QwtScaleDiv(const QwtDoubleInterval &,
00047 QwtValueList[NTickTypes]);
00048 explicit QwtScaleDiv(double lowerBound, double upperBound,
00049 QwtValueList[NTickTypes]);
00050
00051 int operator==(const QwtScaleDiv &s) const;
00052 int operator!=(const QwtScaleDiv &s) const;
00053
00054 void setInterval(double lowerBound, double upperBound);
00055 void setInterval(const QwtDoubleInterval &);
00056 QwtDoubleInterval interval() const;
00057
00058 inline double lowerBound() const;
00059 inline double upperBound() const;
00060 inline double range() const;
00061
00062 bool contains(double v) const;
00063
00064 void setTicks(int type, const QwtValueList &);
00065 const QwtValueList &ticks(int type) const;
00066
00067 void invalidate();
00068 bool isValid() const;
00069
00070 void invert();
00071
00072 private:
00073 double d_lowerBound;
00074 double d_upperBound;
00075 QwtValueList d_ticks[NTickTypes];
00076
00077 bool d_isValid;
00078 };
00079
00085 inline void QwtScaleDiv::setInterval(double lowerBound, double upperBound)
00086 {
00087 d_lowerBound = lowerBound;
00088 d_upperBound = upperBound;
00089 }
00090
00094 inline QwtDoubleInterval QwtScaleDiv::interval() const
00095 {
00096 return QwtDoubleInterval(d_lowerBound, d_upperBound);
00097 }
00098
00103 inline double QwtScaleDiv::lowerBound() const
00104 {
00105 return d_lowerBound;
00106 }
00107
00112 inline double QwtScaleDiv::upperBound() const
00113 {
00114 return d_upperBound;
00115 }
00116
00120 inline double QwtScaleDiv::range() const
00121 {
00122 return d_upperBound - d_lowerBound;
00123 }
00124 #endif