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\fC [protected]\fP

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)\fC [virtual]\fP

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)\fC [virtual]\fP

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)\fC [virtual]\fP

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 ()\fC [protected]\fP, \fC [virtual]\fP

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 = \fC0.0\fP, intpageSize = \fC1\fP)

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)\fC [virtual]\fP

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 ()\fC [protected]\fP, \fC [virtual]\fP

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 ()\fC [protected]\fP, \fC [virtual]\fP

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.