QwtAbstractScale Class Reference

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

`#include <qwt_abstract_scale.h>`

Inheritance diagram for QwtAbstractScale:
[legend]

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

void | rescale (double lowerBound, double upperBound, double stepSize)
void | setAbstractScaleDraw (QwtAbstractScaleDraw *)
| Set a scale draw. More...
const QwtAbstractScaleDraw * | abstractScaleDraw () const
QwtAbstractScaleDraw * | abstractScaleDraw ()
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 ... ).

## Constructor & Destructor Documentation

## QwtAbstractScale()

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

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.

## Member Function Documentation

## abstractScaleDraw() [1/2]

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

protected

Returns
  Scale draw

See also
  setAbstractScaleDraw()

## abstractScaleDraw() [2/2]

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

protected

Returns
  Scale draw

See also
  setAbstractScaleDraw()

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

## isInverted()

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

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

## lowerBound()

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

Returns
  Lower bound of the scale

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

## maximum()

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

Returns
  The boundary with the larger value

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

## minimum()

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

Returns
  The boundary with the smaller value

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

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

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

## scaleEngine() [1/2]

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

Returns
  Scale engine

See also
  setScaleEngine()

## scaleEngine() [2/2]

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

Returns
  Scale engine

See also
  setScaleEngine()

## scaleMap()

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

Returns
  Map to translate between scale and widget coordinates

## scaleMaxMajor()

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

Returns
  Maximal number of major tick intervals

See also
  setScaleMaxMajor(), scaleMaxMinor()

## scaleMaxMinor()

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

Returns
  Maximal number of minor tick intervals

See also
  setScaleMaxMinor(), scaleMaxMajor()

## scaleStepSize()

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

Returns
  Hint for the step size of the scale

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

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

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

## setScale() [1/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

## setScale() [2/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

## setScale() [3/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()

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

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

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

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

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

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

## upperBound()

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

Returns
  Upper bound of the scale

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