# QwtDoubleRange Class Reference

A class which controls a value within an interval. More...

`#include <qwt_double_range.h>`

Inheritance diagram for QwtDoubleRange:
[legend]

List of all members.

## Public Member Functions
| QwtDoubleRange ()
virtual | ~QwtDoubleRange ()
void | setRange (double vmin, double vmax, double vstep=0.0, int pagesize=1)
void | setValid (bool)
bool | isValid () const
virtual void | setValue (double)
double | value () const
void | setPeriodic (bool tf)
bool | periodic () const
void | setStep (double)
double | step () const
double | maxValue () const
double | minValue () const
int | pageSize () const
virtual void | incValue (int)
virtual void | incPages (int)
virtual void | fitValue (double)
## Protected Member Functions
double | exactValue () const
double | exactPrevValue () const
double | prevValue () const
virtual void | valueChange ()
virtual void | stepChange ()
virtual void | rangeChange ()

## Detailed Description

A class which controls a value within an interval.

This class is useful as a base class or a member for sliders. It represents an interval of type double within which a value can be moved. The value can be either an arbitrary point inside the interval (see QwtDoubleRange::setValue), or it can be fitted into a step raster (see QwtDoubleRange::fitValue and QwtDoubleRange::incValue).

As a special case, a QwtDoubleRange can be periodic, which means that a value outside the interval will be mapped to a value inside the interval when QwtDoubleRange::setValue(), QwtDoubleRange::fitValue(), QwtDoubleRange::incValue() or QwtDoubleRange::incPages() are called.

## Constructor & Destructor Documentation

QwtDoubleRange::QwtDoubleRange | ( |  | ) |

The range is initialized to [0.0, 100.0], the step size to 1.0, and the value to 0.0.

QwtDoubleRange::~QwtDoubleRange | ( |  | ) | `[virtual]`

Destroys the QwtDoubleRange.

## Member Function Documentation

double QwtDoubleRange::exactPrevValue | ( |  | ) | const`[protected]`

Returns the exact previous value.

double QwtDoubleRange::exactValue | ( |  | ) | const`[protected]`

Returns the exact value.

The exact value is the value which QwtDoubleRange::value would return if the value were not adjusted to the step raster. It differs from the current value only if QwtDoubleRange::fitValue or QwtDoubleRange::incValue have been used before. This function is intended for internal use in derived classes.

void QwtDoubleRange::fitValue | ( | double | x | ) | `[virtual]`

Adjust the value to the closest point in the step raster.

Parameters:

  | x | value

Warning:
  The value is clipped when it lies outside the range. When the range is QwtDoubleRange::periodic, it will be mapped to a point in the interval such that

      new value := x + n * (max. value - min. value)

  with an integer number n.

Reimplemented in QwtAbstractSlider.

void QwtDoubleRange::incPages | ( | int | nPages | ) | `[virtual]`

Increment the value by a specified number of pages.

Parameters:

  | nPages | Number of pages to increment. A negative number decrements the value.

Warning:
  The Page size is specified in the constructor.

void QwtDoubleRange::incValue | ( | int | nSteps | ) | `[virtual]`

Increment the value by a specified number of steps.

Parameters:

  | nSteps | Number of steps to increment

Warning:
  As a result of this operation, the new value will always be adjusted to the step raster.

Reimplemented in QwtAbstractSlider.

bool QwtDoubleRange::isValid | ( |  | ) | const

Indicates if the value is valid.

Reimplemented in QwtAbstractSlider.

double QwtDoubleRange::maxValue | ( |  | ) | const

Returns the value of the second border of the range.

maxValue returns the value which has been specified as the second parameter in QwtDoubleRange::setRange.

See also:
  setRange()

double QwtDoubleRange::minValue | ( |  | ) | const

Returns the value at the first border of the range.

minValue returns the value which has been specified as the first parameter in setRange().

See also:
  setRange()

int QwtDoubleRange::pageSize | ( |  | ) | const

Returns the page size in steps.

bool QwtDoubleRange::periodic | ( |  | ) | const

Returns true if the range is periodic.

See also:
  setPeriodic()

double QwtDoubleRange::prevValue | ( |  | ) | const`[protected]`

Returns the previous value.

void QwtDoubleRange::rangeChange | ( |  | ) | `[protected, virtual]`

Notify a change of the range.

This virtual function is called whenever the range changes. The default implementation does nothing.

Reimplemented in QwtCounter, QwtDial, and QwtSlider.

void QwtDoubleRange::setPeriodic | ( | bool | tf | ) |

Make the range periodic.

When the range is periodic, the value will be set to a point inside the interval such that

    point = value + n * width

if the user tries to set a new value which is outside the range. If the range is nonperiodic (the default), values outside the range will be clipped.

Parameters:

  | tf | true for a periodic range

void QwtDoubleRange::setRange | ( | double | vmin,
|  | double | vmax,
|  | double | vstep = `0.0`,
|  | int | pageSize = `1` |
| ) |  |  |

Specify range and step size.

Parameters:

  | vmin | lower boundary of the interval
  | vmax | higher boundary of the interval
  | vstep | step width
  | pageSize | page size in steps

Warning:
  - A change of the range changes the value if it lies outside the new range. The current value will *not* be adjusted to the new step raster.
  - vmax < vmin is allowed.
  - If the step size is left out or set to zero, it will be set to 1/100 of the interval length.
  - If the step size has an absurd value, it will be corrected to a better one.

void QwtDoubleRange::setStep | ( | double | vstep | ) |

Change the step raster.

Parameters:

  | vstep | new step width

Warning:
  The value will not be adjusted to the new step raster.

Reimplemented in QwtCounter.

void QwtDoubleRange::setValid | ( | bool | isValid | ) |

Set the value to be valid/invalid.

Reimplemented in QwtAbstractSlider.

void QwtDoubleRange::setValue | ( | double | x | ) | `[virtual]`

Set a new value without adjusting to the step raster.

Parameters:

  | x | new value

Warning:
  The value is clipped when it lies outside the range. When the range is QwtDoubleRange::periodic, it will be mapped to a point in the interval such that

      new value := x + n * (max. value - min. value)

  with an integer number n.

Reimplemented in QwtAbstractSlider, and QwtCounter.

double QwtDoubleRange::step | ( |  | ) | const

Returns:
  the step size

See also:
  setStep(), setRange()

Reimplemented in QwtCounter.

void QwtDoubleRange::stepChange | ( |  | ) | `[protected, virtual]`

Notify a change of the step size.

This virtual function is called whenever the step size changes. The default implementation does nothing.

double QwtDoubleRange::value | ( |  | ) | const

Returns the current value.

Reimplemented in QwtCounter.

void QwtDoubleRange::valueChange | ( |  | ) | `[protected, virtual]`

Notify a change of value.

This virtual function is called whenever the value changes. The default implementation does nothing.

Reimplemented in QwtAbstractSlider, QwtDial, QwtSlider, and QwtWheel.