Qwt User's Guide 5.2.3

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Member Functions
QwtPlotRescaler Class Reference

`#include <qwt_plot_rescaler.h>`

List of all members.

## Public Types

enum | ExpandingDirection { ExpandUp, ExpandDown, ExpandBoth }
enum | RescalePolicy { Fixed, Expanding, Fitting }

## Public Member Functions

| QwtPlotRescaler (QwtPlotCanvas *, int referenceAxis=QwtPlot::xBottom, RescalePolicy=Expanding)
virtual | ~QwtPlotRescaler ()
double | aspectRatio (int axis) const
QwtPlotCanvas * | canvas ()
const QwtPlotCanvas * | canvas () const
virtual bool | eventFilter (QObject *, QEvent *)
ExpandingDirection | expandingDirection (int axis) const
QwtDoubleInterval | intervalHint (int axis) const
bool | isEnabled () const
QwtPlot * | plot ()
const QwtPlot * | plot () const
int | referenceAxis () const
void | rescale () const
RescalePolicy | rescalePolicy () const
void | setAspectRatio (double ratio)
void | setAspectRatio (int axis, double ratio)
void | setEnabled (bool)
void | setExpandingDirection (ExpandingDirection)
void | setExpandingDirection (int axis, ExpandingDirection)
void | setIntervalHint (int axis, const QwtDoubleInterval &)
void | setReferenceAxis (int axis)
void | setRescalePolicy (RescalePolicy)

## Protected Member Functions

virtual void | canvasResizeEvent (QResizeEvent *)
QwtDoubleInterval | expandInterval (const QwtDoubleInterval &, double width, ExpandingDirection) const
virtual QwtDoubleInterval | expandScale (int axis, const QSize &oldSize, const QSize &newSize) const
QwtDoubleInterval | interval (int axis) const
Qt::Orientation | orientation (int axis) const
virtual void | rescale (const QSize &oldSize, const QSize &newSize) const
virtual QwtDoubleInterval | syncScale (int axis, const QwtDoubleInterval &reference, const QSize &size) const
virtual void | updateScales (QwtDoubleInterval intervals[QwtPlot::axisCnt]) const

## Detailed Description

QwtPlotRescaler takes care of fixed aspect ratios for plot scales.

QwtPlotRescaler autoadjusts the axes of a QwtPlot according to fixed aspect ratios.

## Member Enumeration Documentation

enum QwtPlotRescaler::RescalePolicy

Rescale Policy.

The rescale policy defines how to rescale the reference axis and their depending axes.

- Fixed

  The interval of the reference axis remains unchanged, when the geometry of the canvas changes. All other axes will be adjusted according to their aspect ratio.

- Expanding

  The interval of the reference axis will be shrinked/expanded, when the geometry of the canvas changes. All other axes will be adjusted according to their aspect ratio.

  The interval, that is represented by one pixel is fixed.

- Fitting

  The intervals of the axes are calculated, so that all axes include their minimal interval.

## Constructor & Destructor Documentation

QwtPlotRescaler::QwtPlotRescaler | ( | QwtPlotCanvas * | canvas,
|  | int | referenceAxis = `QwtPlot::xBottom`,
|  | RescalePolicy | policy = `Expanding`
| ) |  |

explicit

Constructor

Parameters:

  canvas | Canvas
  referenceAxis | Reference axis, see RescalePolicy
  policy | Rescale policy

See also:
  setRescalePolicy(), setReferenceAxis()

## Member Function Documentation

double QwtPlotRescaler::aspectRatio | ( | int | axis | ) | const

Return aspect ratio between an axis and the reference axis.

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )

See also:
  setAspectRatio()

QwtPlotCanvas * QwtPlotRescaler::canvas | ( |  | ) |

Returns:
  plot canvas

const QwtPlotCanvas * QwtPlotRescaler::canvas | ( |  | ) | const

Returns:
  plot canvas

QwtPlotRescaler::ExpandingDirection QwtPlotRescaler::expandingDirection | ( | int | axis | ) | const

Return direction in which an axis should be expanded

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )

See also:
  setExpandingDirection()

QwtDoubleInterval QwtPlotRescaler::expandInterval | ( | const QwtDoubleInterval & | interval,
|  | double | width,
|  | ExpandingDirection | direction
| ) |  | const

protected

Expand the interval

Parameters:

  interval | Interval to be expanded
  width | Distance to be added to the interval
  direction | Direction of the expand operation

Returns:
  Expanded interval

QwtDoubleInterval QwtPlotRescaler::expandScale | ( | int | axis,
|  | const QSize & | oldSize,
|  | const QSize & | newSize
| ) |  | const

protected virtual

Calculate the new scale interval of a plot axis

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )
  oldSize | Previous size of the canvas
  newSize | New size of the canvas

Returns:
  Calculated new interval for the axis

QwtDoubleInterval QwtPlotRescaler::interval | ( | int | axis | ) | const

protected

Return interval of an axis

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )

bool QwtPlotRescaler::isEnabled | ( |  | ) | const

Returns:
  true when enabled, false otherwise

See also:
  setEnabled, eventFilter()

Qt::Orientation QwtPlotRescaler::orientation | ( | int | axis | ) | const

protected

Return orientation of an axis

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )

QwtPlot * QwtPlotRescaler::plot | ( |  | ) |

Returns:
  plot widget

const QwtPlot * QwtPlotRescaler::plot | ( |  | ) | const

Returns:
  plot widget

int QwtPlotRescaler::referenceAxis | ( |  | ) | const

Returns:
  Reference axis ( see RescalePolicy )

See also:
  setReferenceAxis()

void QwtPlotRescaler::rescale | ( | const QSize & | oldSize,
|  | const QSize & | newSize
| ) |  | const

protected virtual

Adjust the plot axes scales

Parameters:

  oldSize | Previous size of the canvas
  newSize | New size of the canvas

QwtPlotRescaler::RescalePolicy QwtPlotRescaler::rescalePolicy | ( |  | ) | const

Returns:
  Rescale policy

See also:
  setRescalePolicy()

void QwtPlotRescaler::setAspectRatio | ( | double | ratio | ) |

Set the aspect ratio between the scale of the reference axis and the other scales. The default ratio is 1.0

Parameters:

  ratio | Aspect ratio

See also:
  aspectRatio()

void QwtPlotRescaler::setAspectRatio | ( | int | axis,
|  | double | ratio
| ) |  |

Set the aspect ratio between the scale of the reference axis and another scale. The default ratio is 1.0

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )
  ratio | Aspect ratio

See also:
  aspectRatio()

void QwtPlotRescaler::setEnabled | ( | bool | on | ) |

En/disable the rescaler.

When enabled is true an event filter is installed for the canvas, otherwise the event filter is removed.

Parameters:

  on | true or false

See also:
  isEnabled(), eventFilter()

void QwtPlotRescaler::setExpandingDirection | ( | ExpandingDirection | direction | ) |

Set the direction in which all axis should be expanded

Parameters:

  direction | Direction

See also:
  expandingDirection()

void QwtPlotRescaler::setExpandingDirection | ( | int | axis,
|  | ExpandingDirection | direction
| ) |  |

Set the direction in which an axis should be expanded

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )
  direction | Direction

See also:
  expandingDirection()

void QwtPlotRescaler::setReferenceAxis | ( | int | axis | ) |

Set the reference axis ( see RescalePolicy )

Parameters:

  axis | Axis index ( QwtPlot::Axis )

See also:
  referenceAxis()

void QwtPlotRescaler::setRescalePolicy | ( | RescalePolicy | policy | ) |

Change the rescale policy

Parameters:

  policy | Rescale policy

See also:
  rescalePolicy()

QwtDoubleInterval QwtPlotRescaler::syncScale | ( | int | axis,
|  | const QwtDoubleInterval & | reference,
|  | const QSize & | size
| ) |  | const

protected virtual

Synchronize an axis scale according to the scale of the reference axis

Parameters:

  axis | Axis index ( see QwtPlot::AxisId )
  reference | Interval of the reference axis
  size | Size of the canvas

void QwtPlotRescaler::updateScales | ( | QwtDoubleInterval | intervals[QwtPlot::axisCnt] | ) | const

protected virtual

Update the axes scales

Parameters:

  intervals | Scale intervals