qwt_scale_div.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 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
Generated on Wed Sep 2 18:37:22 2009 for Qwt User's Guide by 1.6.1