QwtAbstractScale Class Reference

An abstract base class for widgets having a scale. More...

`#include <qwt_abstract_scale.h>`

Inheritance diagram for QwtAbstractScale:

## Public Member Functions

| QwtAbstractScale (QWidget *parent=NULL)
virtual | ~QwtAbstractScale ()
| Destructor.
void | setScale (double lowerBound, double upperBound)
| Specify a scale. More...
void | setScale (const QwtInterval &)
| Specify a scale. More...
void | setScale (const QwtScaleDiv &)
| Specify a scale. More...
const QwtScaleDiv & | scaleDiv () const
void | setLowerBound (double value)
double | lowerBound () const
void | setUpperBound (double value)
double | upperBound () const
void | setScaleStepSize (double stepSize)
| Set the step size used for calculating a scale division. More...
double | scaleStepSize () const
void | setScaleMaxMajor (int ticks)
| Set the maximum number of major tick intervals. More...
int | scaleMaxMinor () const
void | setScaleMaxMinor (int ticks)
| Set the maximum number of minor tick intervals. More...
int | scaleMaxMajor () const
void | setScaleEngine (QwtScaleEngine *)
| Set a scale engine. More...
const QwtScaleEngine * | scaleEngine () const
QwtScaleEngine * | scaleEngine ()
int | transform (double) const
double | invTransform (int) const
bool | isInverted () const
double | minimum () const
double | maximum () const
const QwtScaleMap & | scaleMap () const

## Protected Member Functions

virtual void | changeEvent (QEvent *) override
void | rescale (double lowerBound, double upperBound, double stepSize)
void | setAbstractScaleDraw (QwtAbstractScaleDraw *)
| Set a scale draw. More...
const QwtAbstractScaleDraw * | abstractScaleDraw () const
QwtAbstractScaleDraw * | abstractScaleDraw ()
void | updateScaleDraw ()
virtual void | scaleChange ()
| Notify changed scale.

## Detailed Description

An abstract base class for widgets having a scale.

The scale of an QwtAbstractScale is determined by a QwtScaleDiv definition, that contains the boundaries and the ticks of the scale. The scale is painted using a QwtScaleDraw object.

The scale division might be assigned explicitly - but usually it is calculated from the boundaries using a QwtScaleEngine.

The scale engine also decides the type of transformation of the scale ( linear, logarithmic ... ).

Definition at line 36 of file qwt_abstract_scale.h.

## Constructor & Destructor Documentation

## QwtAbstractScale()

QwtAbstractScale::QwtAbstractScale | ( | QWidget * | parent = `NULL` | ) |

explicit

Constructor

Parameters

  parent | Parent widget

Creates a default QwtScaleDraw and a QwtLinearScaleEngine. The initial scale boundaries are set to [ 0.0, 100.0 ]

The scaleStepSize() is initialized to 0.0, scaleMaxMajor() to 5 and scaleMaxMajor to 3.

Definition at line 57 of file qwt_abstract_scale.cpp.

## Member Function Documentation

## abstractScaleDraw() [1/2]

QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw | ( |  | ) |

protected

Returns
  Scale draw

See also
  setAbstractScaleDraw()

Definition at line 293 of file qwt_abstract_scale.cpp.

## abstractScaleDraw() [2/2]

const QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw | ( |  | ) | const

protected

Returns
  Scale draw

See also
  setAbstractScaleDraw()

Definition at line 302 of file qwt_abstract_scale.cpp.

## changeEvent()

void QwtAbstractScale::changeEvent | ( | QEvent * | event | ) |

override protected virtual

Change Event handler

Parameters

  event | Change event

Invalidates internal caches if necessary

Reimplemented in QwtThermo, QwtSlider, QwtKnob, and QwtDial.

Definition at line 453 of file qwt_abstract_scale.cpp.

## invTransform()

double QwtAbstractScale::invTransform | ( | int | value | ) | const

Translate a widget coordinate into a scale value

Parameters

  value | Widget coordinate

Returns
  Corresponding scale coordinate for value

See also
  scaleMap(), transform()

Definition at line 381 of file qwt_abstract_scale.cpp.

## isInverted()

bool QwtAbstractScale::isInverted | ( |  | ) | const

Returns
  True, when the scale is increasing in opposite direction to the widget coordinates

Definition at line 390 of file qwt_abstract_scale.cpp.

## lowerBound()

double QwtAbstractScale::lowerBound | ( |  | ) | const

Returns
  Lower bound of the scale

See also
  setLowerBound(), setScale(), upperBound()

Definition at line 88 of file qwt_abstract_scale.cpp.

## maximum()

double QwtAbstractScale::maximum | ( |  | ) | const

Returns
  The boundary with the larger value

See also
  minimum(), lowerBound(), upperBound()

Definition at line 409 of file qwt_abstract_scale.cpp.

## minimum()

double QwtAbstractScale::minimum | ( |  | ) | const

Returns
  The boundary with the smaller value

See also
  maximum(), lowerBound(), upperBound()

Definition at line 399 of file qwt_abstract_scale.cpp.

## rescale()

void QwtAbstractScale::rescale | ( | double | lowerBound,
|  | double | upperBound,
|  | double | stepSize
| ) |  |

protected

Recalculate the scale division and update the scale.

Parameters

  lowerBound | Lower limit of the scale interval
  upperBound | Upper limit of the scale interval
  stepSize | Major step size

See also
  scaleChange()

Definition at line 429 of file qwt_abstract_scale.cpp.

## scaleDiv()

const QwtScaleDiv & QwtAbstractScale::scaleDiv | ( |  | ) | const

Returns
  Scale boundaries and positions of the ticks

The scale division might have been assigned explicitly or calculated implicitly by rescale().

Definition at line 349 of file qwt_abstract_scale.cpp.

## scaleEngine() [1/2]

QwtScaleEngine * QwtAbstractScale::scaleEngine | ( |  | ) |

Returns
  Scale engine

See also
  setScaleEngine()

Definition at line 338 of file qwt_abstract_scale.cpp.

## scaleEngine() [2/2]

const QwtScaleEngine * QwtAbstractScale::scaleEngine | ( |  | ) | const

Returns
  Scale engine

See also
  setScaleEngine()

Definition at line 329 of file qwt_abstract_scale.cpp.

## scaleMap()

const QwtScaleMap & QwtAbstractScale::scaleMap | ( |  | ) | const

Returns
  Map to translate between scale and widget coordinates

Definition at line 357 of file qwt_abstract_scale.cpp.

## scaleMaxMajor()

int QwtAbstractScale::scaleMaxMajor | ( |  | ) | const

Returns
  Maximal number of major tick intervals

See also
  setScaleMaxMajor(), scaleMaxMinor()

Definition at line 202 of file qwt_abstract_scale.cpp.

## scaleMaxMinor()

int QwtAbstractScale::scaleMaxMinor | ( |  | ) | const

Returns
  Maximal number of minor tick intervals

See also
  setScaleMaxMinor(), scaleMaxMajor()

Definition at line 232 of file qwt_abstract_scale.cpp.

## scaleStepSize()

double QwtAbstractScale::scaleStepSize | ( |  | ) | const

Returns
  Hint for the step size of the scale

See also
  setScaleStepSize(), QwtScaleEngine::divideScale()

Definition at line 264 of file qwt_abstract_scale.cpp.

## setAbstractScaleDraw()

void QwtAbstractScale::setAbstractScaleDraw | ( | QwtAbstractScaleDraw * | scaleDraw | ) |

protected

Set a scale draw.

scaleDraw has to be created with new and will be deleted in the destructor or the next call of setAbstractScaleDraw().

See also
  abstractScaleDraw()

Definition at line 277 of file qwt_abstract_scale.cpp.

## setLowerBound()

void QwtAbstractScale::setLowerBound | ( | double | value | ) |

Set the lower bound of the scale

Parameters

  value | Lower bound

See also
  lowerBound(), setScale(), setUpperBound()

Note
  For inverted scales the lower bound is greater than the upper bound

Definition at line 79 of file qwt_abstract_scale.cpp.

## setScale() [1/3]

void QwtAbstractScale::setScale | ( | const QwtInterval & | interval | ) |

Specify a scale.

Define a scale by an interval

The ticks are calculated using scaleMaxMinor(), scaleMaxMajor() and scaleStepSize().

Parameters

  interval | Interval

Definition at line 145 of file qwt_abstract_scale.cpp.

## setScale() [2/3]

void QwtAbstractScale::setScale | ( | const QwtScaleDiv & | scaleDiv | ) |

Specify a scale.

scaleMaxMinor(), scaleMaxMajor() and scaleStepSize() and have no effect.

Parameters

  scaleDiv | Scale division

See also
  setAutoScale()

Definition at line 158 of file qwt_abstract_scale.cpp.

## setScale() [3/3]

void QwtAbstractScale::setScale | ( | double | lowerBound,
|  | double | upperBound
| ) |  |

Specify a scale.

Define a scale by an interval

The ticks are calculated using scaleMaxMinor(), scaleMaxMajor() and scaleStepSize().

Parameters

  lowerBound | lower limit of the scale interval
  upperBound | upper limit of the scale interval

Note
  For inverted scales the lower bound is greater than the upper bound

Definition at line 130 of file qwt_abstract_scale.cpp.

## setScaleEngine()

void QwtAbstractScale::setScaleEngine | ( | QwtScaleEngine * | scaleEngine | ) |

Set a scale engine.

The scale engine is responsible for calculating the scale division and provides a transformation between scale and widget coordinates.

scaleEngine has to be created with new and will be deleted in the destructor or the next call of setScaleEngine.

Definition at line 316 of file qwt_abstract_scale.cpp.

## setScaleMaxMajor()

void QwtAbstractScale::setScaleMaxMajor | ( | int | ticks | ) |

Set the maximum number of major tick intervals.

The scale's major ticks are calculated automatically such that the number of major intervals does not exceed ticks.

The default value is 5.

Parameters

  ticks | Maximal number of major ticks.

See also
  scaleMaxMajor(), setScaleMaxMinor(), setScaleStepSize(), QwtScaleEngine::divideInterval()

Definition at line 189 of file qwt_abstract_scale.cpp.

## setScaleMaxMinor()

void QwtAbstractScale::setScaleMaxMinor | ( | int | ticks | ) |

Set the maximum number of minor tick intervals.

The scale's minor ticks are calculated automatically such that the number of minor intervals does not exceed ticks. The default value is 3.

Parameters

  ticks | Maximal number of minor ticks.

See also
  scaleMaxMajor(), setScaleMaxMinor(), setScaleStepSize(), QwtScaleEngine::divideInterval()

Definition at line 219 of file qwt_abstract_scale.cpp.

## setScaleStepSize()

void QwtAbstractScale::setScaleStepSize | ( | double | stepSize | ) |

Set the step size used for calculating a scale division.

The step size is hint for calculating the intervals for the major ticks of the scale. A value of 0.0 is interpreted as no hint.

Parameters

  stepSize | Hint for the step size of the scale

See also
  scaleStepSize(), QwtScaleEngine::divideScale()

Note
  Position and distance between the major ticks also depends on scaleMaxMajor().

Definition at line 251 of file qwt_abstract_scale.cpp.

## setUpperBound()

void QwtAbstractScale::setUpperBound | ( | double | value | ) |

Set the upper bound of the scale

Parameters

  value | Upper bound

See also
  upperBound(), setScale(), setLowerBound()

Note
  For inverted scales the lower bound is greater than the upper bound

Definition at line 102 of file qwt_abstract_scale.cpp.

## transform()

int QwtAbstractScale::transform | ( | double | value | ) | const

Translate a scale value into a widget coordinate

Parameters

  value | Scale value

Returns
  Corresponding widget coordinate for value

See also
  scaleMap(), invTransform()

Definition at line 369 of file qwt_abstract_scale.cpp.

## updateScaleDraw()

void QwtAbstractScale::updateScaleDraw | ( |  | ) |

protected

Recalculate ticks and scale boundaries.

Definition at line 466 of file qwt_abstract_scale.cpp.

## upperBound()

double QwtAbstractScale::upperBound | ( |  | ) | const

Returns
  Upper bound of the scale

See also
  setUpperBound(), setScale(), lowerBound()

Definition at line 111 of file qwt_abstract_scale.cpp.