Qwt User's Guide  6.0.2
qwt_double_range.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_DOUBLE_RANGE_H
11 #define QWT_DOUBLE_RANGE_H
12 
13 #include "qwt_global.h"
14 
31 class QWT_EXPORT QwtDoubleRange
32 {
33 public:
35  virtual ~QwtDoubleRange();
36 
37  void setRange( double vmin, double vmax,
38  double vstep = 0.0, int pagesize = 1 );
39 
40  void setValid( bool );
41  bool isValid() const;
42 
43  virtual void setValue( double );
44  double value() const;
45 
46  void setPeriodic( bool tf );
47  bool periodic() const;
48 
49  void setStep( double );
50  double step() const;
51 
52  double maxValue() const;
53  double minValue() const;
54 
55  int pageSize() const;
56 
57  virtual void incValue( int );
58  virtual void incPages( int );
59  virtual void fitValue( double );
60 
61 protected:
62 
63  double exactValue() const;
64  double exactPrevValue() const;
65  double prevValue() const;
66 
67  virtual void valueChange();
68  virtual void stepChange();
69  virtual void rangeChange();
70 
71 private:
72  void setNewValue( double value, bool align = false );
73 
74  class PrivateData;
75  PrivateData *d_data;
76 };
77 
78 #endif