---
name: "QwtDoubleRange"
section: "3"
platform: "linux"
package: "libqwt5-doc"
version: "5.2.3-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtDoubleRange"
---

# QwtDoubleRange(3)

## NAME

QwtDoubleRange -

## SYNOPSIS

`#include <qwt_double_range.h>`

Inherited by **QwtAbstractSlider**, and **QwtCounter**.

### Public Member Functions

**QwtDoubleRange** ()\
 virtual **~QwtDoubleRange** ()\
 virtual void **fitValue** (double)\
 virtual void **incPages** (int)\
 virtual void **incValue** (int)\
 bool **isValid** () const \
 double **maxValue** () const \
 double **minValue** () const \
 int **pageSize** () const \
 bool **periodic** () const \
 void **setPeriodic** (bool tf)\
 void **setRange** (double vmin, double vmax, double vstep=0.0, int pagesize=1)\
 void **setStep** (double)\
 void **setValid** (bool)\
 virtual void **setValue** (double)\
 double **step** () const \
 double **value** () const \

### Protected Member Functions

double **exactPrevValue** () const \
 double **exactValue** () const \
 double **prevValue** () const \
 virtual void **rangeChange** ()\
 virtual void **stepChange** ()\
 virtual void **valueChange** ()\

## 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.

## Member Function Documentation

### 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 (doublex)` [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 (intnPages)` [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 (intnSteps)` [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**.

### 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()**

### bool QwtDoubleRange::periodic () const

Returns true if the range is periodic. **See also:**

**setPeriodic()**

### 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 **QwtDial**, **QwtCounter**, and **QwtSlider**.

### void QwtDoubleRange::setPeriodic (booltf)

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 .fi
```

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 (doublevmin, doublevmax, doublevstep = `0.0`, intpageSize = `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 (doublevstep)

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::setValue (doublex)` [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 **QwtCounter**, and **QwtAbstractSlider**.

### 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.

### 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 **QwtDial**, **QwtAbstractSlider**, **QwtSlider**, and **QwtWheel**.

## Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
