qwt_double_range.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_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, double vstep = 0.0,
00038         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 x, bool align = false);
00073 
00074     double d_minValue;
00075     double d_maxValue;
00076     double d_step;
00077     int d_pageSize;
00078 
00079     bool d_isValid;
00080     double d_value;
00081     double d_exactValue;
00082     double d_exactPrevValue;
00083     double d_prevValue;
00084 
00085     bool d_periodic;
00086 };
00087 
00088 #endif

Generated on Mon Feb 26 21:22:36 2007 for Qwt User's Guide by  doxygen 1.4.6