Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

QwtDblRange Class Reference

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

#include <qwt_drange.h>

Inheritance diagram for QwtDblRange:

QwtCounter QwtSliderBase QwtDial QwtKnob QwtSlider QwtWheel QwtCompass List of all members.

Public Member Functions

 QwtDblRange ()
virtual ~QwtDblRange ()
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 ()

Private Member Functions

void setNewValue (double x, int align=0)

Private Attributes

double d_minValue
double d_maxValue
double d_step
int d_pageSize
bool d_isValid
double d_value
double d_exactValue
double d_exactPrevValue
double d_prevValue
bool d_periodic

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 QwtDblRange::setValue), or it can be fitted into a step raster (see QwtDblRange::fitValue and QwtDblRange::incValue).

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

Definition at line 31 of file qwt_drange.h.


Constructor & Destructor Documentation

QwtDblRange::QwtDblRange  ) 
 

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

Definition at line 21 of file qwt_drange.cpp.

QwtDblRange::~QwtDblRange  )  [virtual]
 

Destroys the QwtDblRange.

Definition at line 36 of file qwt_drange.cpp.


Member Function Documentation

double QwtDblRange::exactPrevValue  )  const [protected]
 

Returns the exact previous value.

Definition at line 378 of file qwt_drange.cpp.

References d_exactPrevValue.

Referenced by QwtSliderBase::mouseMoveEvent().

double QwtDblRange::exactValue  )  const [protected]
 

Returns the exact value.

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

Definition at line 372 of file qwt_drange.cpp.

References d_exactValue.

Referenced by QwtSliderBase::mouseMoveEvent(), and QwtSliderBase::timerEvent().

void QwtDblRange::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 QwtDblRange::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 QwtSliderBase.

Definition at line 130 of file qwt_drange.cpp.

References setNewValue().

Referenced by QwtSliderBase::fitValue(), QwtSliderBase::mouseReleaseEvent(), QwtSliderBase::setPosition(), and QwtSliderBase::timerEvent().

void QwtDblRange::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.

Definition at line 269 of file qwt_drange.cpp.

References d_pageSize, d_step, d_value, isValid(), and setNewValue().

Referenced by QwtSliderBase::mouseReleaseEvent(), QwtSliderBase::timerEvent(), and QwtSliderBase::wheelEvent().

void QwtDblRange::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 QwtSliderBase.

Definition at line 257 of file qwt_drange.cpp.

References d_step, d_value, isValid(), and setNewValue().

Referenced by QwtCounter::btnClicked(), QwtSliderBase::incValue(), and QwtSliderBase::keyPressEvent().

bool QwtDblRange::isValid  )  const
 

Definition at line 49 of file qwt_drange.cpp.

References d_isValid.

Referenced by QwtDial::drawContents(), QwtCompass::drawScaleContents(), incPages(), incValue(), QwtSliderBase::keyPressEvent(), QwtSliderBase::mouseMoveEvent(), QwtSliderBase::mousePressEvent(), QwtSliderBase::mouseReleaseEvent(), and QwtSliderBase::wheelEvent().

double QwtDblRange::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 QwtDblRange::setRange.

See also:
QwtDblRange::setRange()

Definition at line 324 of file qwt_drange.cpp.

References d_maxValue.

Referenced by QwtDial::drawContents(), QwtWheel::drawWheel(), QwtWheel::getValue(), QwtSlider::getValue(), QwtKnob::getValue(), QwtDial::getValue(), QwtCounter::maxVal(), QwtSlider::rangeChange(), QwtKnob::rangeChange(), QwtKnob::recalcAngle(), QwtSlider::scaleChange(), QwtCounter::setMinValue(), QwtCounter::sizeHint(), QwtCounter::updateButtons(), QwtDial::updateScale(), and QwtSlider::xyPosition().

double QwtDblRange::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:
QwtDblRange::setRange()

Definition at line 337 of file qwt_drange.cpp.

References d_minValue.

Referenced by QwtDial::drawContents(), QwtWheel::drawWheel(), QwtWheel::getValue(), QwtSlider::getValue(), QwtKnob::getValue(), QwtDial::getValue(), QwtCounter::minVal(), QwtSlider::rangeChange(), QwtKnob::rangeChange(), QwtKnob::recalcAngle(), QwtSlider::scaleChange(), QwtCounter::setMaxValue(), QwtCounter::sizeHint(), QwtCounter::updateButtons(), QwtDial::updateScale(), and QwtSlider::xyPosition().

int QwtDblRange::pageSize  )  const
 

Returns the page size in steps.

Definition at line 352 of file qwt_drange.cpp.

References d_pageSize.

bool QwtDblRange::periodic  )  const
 

Returns TRUE if the range is periodic.

See also:
QwtDblRange::setPeriodic()

Definition at line 346 of file qwt_drange.cpp.

References d_periodic.

double QwtDblRange::prevValue  )  const [protected]
 

Returns the previous value.

Definition at line 384 of file qwt_drange.cpp.

References d_prevValue.

Referenced by QwtSliderBase::buttonReleased(), QwtSliderBase::keyPressEvent(), QwtSliderBase::mouseMoveEvent(), and QwtSliderBase::wheelEvent().

void QwtDblRange::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, QwtKnob, and QwtSlider.

Definition at line 292 of file qwt_drange.cpp.

Referenced by QwtSlider::rangeChange(), and setRange().

void QwtDblRange::setNewValue double  x,
int  align = 0
[private]
 

No docs.

Description

Parameters:
x ???
align 
Todo:
Documentation

Definition at line 62 of file qwt_drange.cpp.

References d_exactPrevValue, d_exactValue, d_isValid, d_maxValue, d_minValue, d_periodic, d_prevValue, d_step, d_value, MinEps, qwtAbs, qwtMax, qwtMin, and valueChange().

Referenced by fitValue(), incPages(), incValue(), setRange(), and setValue().

void QwtDblRange::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

Definition at line 246 of file qwt_drange.cpp.

References d_periodic.

void QwtDblRange::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.

Definition at line 167 of file qwt_drange.cpp.

References d_maxValue, d_minValue, d_pageSize, d_step, d_value, qwtAbs, qwtLim(), rangeChange(), setNewValue(), and setStep().

Referenced by QwtCounter::QwtCounter(), QwtDial::QwtDial(), QwtSliderBase::QwtSliderBase(), QwtCounter::setMaxValue(), and QwtCounter::setMinValue().

void QwtDblRange::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.

Definition at line 206 of file qwt_drange.cpp.

References d_maxValue, d_minValue, d_step, DefaultRelStep, MinRelStep, and stepChange().

Referenced by setRange(), and QwtCounter::setStep().

void QwtDblRange::setValid bool   ) 
 

Definition at line 40 of file qwt_drange.cpp.

References d_isValid, and valueChange().

void QwtDblRange::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 QwtDblRange::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 QwtSliderBase.

Definition at line 145 of file qwt_drange.cpp.

References setNewValue().

Referenced by QwtSliderBase::setValue(), and QwtCounter::setValue().

double QwtDblRange::step  )  const
 

Returns:
the step size
See also:
QwtDblRange::setStep, QwtDblRange::setRange

Reimplemented in QwtCounter.

Definition at line 311 of file qwt_drange.cpp.

References d_step, and qwtAbs.

Referenced by QwtSliderBase::mouseReleaseEvent(), QwtCounter::setMaxValue(), QwtCounter::setMinValue(), QwtCounter::step(), and QwtSliderBase::timerEvent().

void QwtDblRange::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.

Definition at line 303 of file qwt_drange.cpp.

Referenced by setStep().

double QwtDblRange::value  )  const
 

Returns the current value.

Reimplemented in QwtCounter.

Definition at line 358 of file qwt_drange.cpp.

References d_value.

Referenced by QwtSliderBase::buttonReleased(), QwtDial::drawContents(), QwtCompass::drawScaleContents(), QwtSlider::drawSlider(), QwtWheel::drawWheel(), QwtSlider::getScrollMode(), QwtKnob::getValue(), QwtDial::getValue(), QwtSliderBase::keyPressEvent(), QwtCompass::keyPressEvent(), QwtSliderBase::mouseMoveEvent(), QwtSliderBase::mousePressEvent(), QwtSliderBase::mouseReleaseEvent(), QwtKnob::recalcAngle(), QwtSliderBase::timerEvent(), QwtCounter::value(), QwtSliderBase::valueChange(), and QwtSliderBase::wheelEvent().

void QwtDblRange::valueChange  )  [protected, virtual]
 

Notify a change of value.

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

Reimplemented in QwtCounter, QwtDial, QwtKnob, QwtSliderBase, QwtSlider, and QwtWheel.

Definition at line 281 of file qwt_drange.cpp.

Referenced by setNewValue(), and setValid().


Member Data Documentation

double QwtDblRange::d_exactPrevValue [private]
 

Definition at line 82 of file qwt_drange.h.

Referenced by exactPrevValue(), and setNewValue().

double QwtDblRange::d_exactValue [private]
 

Definition at line 81 of file qwt_drange.h.

Referenced by exactValue(), and setNewValue().

bool QwtDblRange::d_isValid [private]
 

Definition at line 79 of file qwt_drange.h.

Referenced by isValid(), setNewValue(), and setValid().

double QwtDblRange::d_maxValue [private]
 

Definition at line 75 of file qwt_drange.h.

Referenced by maxValue(), setNewValue(), setRange(), and setStep().

double QwtDblRange::d_minValue [private]
 

Definition at line 74 of file qwt_drange.h.

Referenced by minValue(), setNewValue(), setRange(), and setStep().

int QwtDblRange::d_pageSize [private]
 

Definition at line 77 of file qwt_drange.h.

Referenced by incPages(), pageSize(), and setRange().

bool QwtDblRange::d_periodic [private]
 

Definition at line 85 of file qwt_drange.h.

Referenced by periodic(), setNewValue(), and setPeriodic().

double QwtDblRange::d_prevValue [private]
 

Definition at line 83 of file qwt_drange.h.

Referenced by prevValue(), and setNewValue().

double QwtDblRange::d_step [private]
 

Definition at line 76 of file qwt_drange.h.

Referenced by incPages(), incValue(), setNewValue(), setRange(), setStep(), and step().

double QwtDblRange::d_value [private]
 

Definition at line 80 of file qwt_drange.h.

Referenced by incPages(), incValue(), setNewValue(), setRange(), and value().


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 14:11:47 2003 for Qwt Developer's Guide by doxygen 1.3.2