# QwtAbstractScale Class Reference

An abstract base class for classes containing a scale. More...

`#include <qwt_abstract_scale.h>`

Inheritance diagram for QwtAbstractScale:
[legend]

List of all members.

## Public Member Functions

bool | autoScale () const
| QwtAbstractScale ()
const QwtScaleEngine * | scaleEngine () const
QwtScaleEngine * | scaleEngine ()
const QwtScaleMap & | scaleMap () const
int | scaleMaxMajor () const
int | scaleMaxMinor () const
void | setAutoScale ()
void | setScale (const QwtDoubleInterval &, double step=0.0)
void | setScale (const QwtScaleDiv &s)
void | setScale (double vmin, double vmax, double step=0.0)
void | setScaleEngine (QwtScaleEngine *)
void | setScaleMaxMajor (int ticks)
void | setScaleMaxMinor (int ticks)
virtual | ~QwtAbstractScale ()

## Protected Member Functions

const QwtAbstractScaleDraw * | abstractScaleDraw () const
QwtAbstractScaleDraw * | abstractScaleDraw ()
void | rescale (double vmin, double vmax, double step=0.0)
virtual void | scaleChange ()
void | setAbstractScaleDraw (QwtAbstractScaleDraw *)

## Detailed Description

An abstract base class for classes containing a scale.

QwtAbstractScale is used to provide classes with a QwtScaleDraw, and a QwtScaleDiv. The QwtScaleDiv might be set explicitely or calculated by a QwtScaleEngine.

## Constructor & Destructor Documentation

QwtAbstractScale::QwtAbstractScale | ( |  | ) |

Constructor

Creates a default QwtScaleDraw and a QwtLinearScaleEngine. Autoscaling is enabled, and the stepSize is initialized by 0.0.

QwtAbstractScale::~QwtAbstractScale | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

const QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw | ( |  | ) | const`[protected]`

Returns:
  Scale draw

See also:
  setAbstractScaleDraw()

QwtAbstractScaleDraw * QwtAbstractScale::abstractScaleDraw | ( |  | ) | `[protected]`

Returns:
  Scale draw

See also:
  setAbstractScaleDraw()

bool QwtAbstractScale::autoScale | ( |  | ) | const

Returns:
  `true` if autoscaling is enabled

void QwtAbstractScale::rescale | ( | double | vmin,
|  | double | vmax,
|  | double | stepSize = `0.0`
| ) |  | `[protected]`

Recalculate the scale division and update the scale draw.

Parameters:

  vmin | Lower limit of the scale interval
  vmax | Upper limit of the scale interval
  stepSize | Major step size

See also:
  scaleChange()

void QwtAbstractScale::scaleChange | ( |  | ) | `[protected, virtual]`

Notify changed scale.

Dummy empty implementation, intended to be overloaded by derived classes

Reimplemented in QwtSlider, and QwtThermo.

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

Returns:
  Scale engine

See also:
  setScaleEngine()

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

Returns:
  Scale engine

See also:
  setScaleEngine()

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

Returns:
  abstractScaleDraw()->scaleMap()

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

Returns:
  Max. number of major tick intervals The default value is 5.

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

Returns:
  Max. number of minor tick intervals The default value is 3.

void QwtAbstractScale::setAbstractScaleDraw | ( | QwtAbstractScaleDraw * | scaleDraw | ) | `[protected]`

Set a scale draw.

scaleDraw has to be created with new and will be deleted in ~QwtAbstractScale or the next call of setAbstractScaleDraw.

void QwtAbstractScale::setAutoScale | ( |  | ) |

Advise the widget to control the scale range internally.

Autoscaling is on by default.

See also:
  setScale(), autoScale()

void QwtAbstractScale::setScale | ( | double | vmin,
|  | double | vmax,
|  | double | stepSize = `0.0`
| ) |  |

Specify a scale.

Disable autoscaling and define a scale by an interval and a step size

Parameters:

  vmin | lower limit of the scale interval
  vmax | upper limit of the scale interval
  stepSize | major step size

See also:
  setAutoScale()

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

Specify a scale.

Disable autoscaling and define a scale by a scale division

Parameters:

  scaleDiv | Scale division

See also:
  setAutoScale()

void QwtAbstractScale::setScale | ( | const QwtDoubleInterval & | interval,
|  | double | stepSize = `0.0`
| ) |  |

Specify a scale.

Disable autoscaling and define a scale by an interval and a step size

Parameters:

  interval | Interval
  stepSize | major step size

See also:
  setAutoScale()

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

Set a scale engine.

The scale engine is responsible for calculating the scale division, and in case of auto scaling how to align the scale.

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

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:
  QwtAbstractScaleDraw

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 |

See also:
  QwtAbstractScaleDraw