SYNOPSIS

#include <qwt_plot_rescaler.h>

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 \fBQwtPlotRescaler::RescalePolicy\fP

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 (\fBQwtPlotCanvas\fP *canvas, intreferenceAxis = \fCQwtPlot::xBottom\fP, \fBRescalePolicy\fPpolicy = \fCExpanding\fP)\fC [explicit]\fP

Constructor

Parameters:

canvas Canvas

referenceAxis Reference axis, see RescalePolicy

policy Rescale policy

See also:

setRescalePolicy(), setReferenceAxis()

Member Function Documentation

double QwtPlotRescaler::aspectRatio (intaxis) const

Return aspect ratio between an axis and the reference axis.

Parameters:

axis Axis index ( see QwtPlot::AxisId )

See also:

setAspectRatio()

\fBQwtPlotCanvas\fP * QwtPlotRescaler::canvas ()

Returns:

plot canvas

const \fBQwtPlotCanvas\fP * QwtPlotRescaler::canvas () const

Returns:

plot canvas

QwtPlotRescaler::ExpandingDirection QwtPlotRescaler::expandingDirection (intaxis) const

Return direction in which an axis should be expanded

Parameters:

axis Axis index ( see QwtPlot::AxisId )

See also:

setExpandingDirection()

\fBQwtDoubleInterval\fP QwtPlotRescaler::expandInterval (const \fBQwtDoubleInterval\fP &interval, doublewidth, ExpandingDirectiondirection) const\fC [protected]\fP

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

\fBQwtDoubleInterval\fP QwtPlotRescaler::expandScale (intaxis, const QSize &oldSize, const QSize &newSize) const\fC [protected]\fP, \fC [virtual]\fP

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

\fBQwtDoubleInterval\fP QwtPlotRescaler::interval (intaxis) const\fC [protected]\fP

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 (intaxis) const\fC [protected]\fP

Return orientation of an axis

Parameters:

axis Axis index ( see QwtPlot::AxisId )

\fBQwtPlot\fP * QwtPlotRescaler::plot ()

Returns:

plot widget

const \fBQwtPlot\fP * 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\fC [protected]\fP, \fC [virtual]\fP

Adjust the plot axes scales

Parameters:

oldSize Previous size of the canvas

newSize New size of the canvas

\fBQwtPlotRescaler::RescalePolicy\fP QwtPlotRescaler::rescalePolicy () const

Returns:

Rescale policy

See also:

setRescalePolicy()

void QwtPlotRescaler::setAspectRatio (doubleratio)

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 (intaxis, doubleratio)

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

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

Set the direction in which all axis should be expanded

Parameters:

direction Direction

See also:

expandingDirection()

void QwtPlotRescaler::setExpandingDirection (intaxis, ExpandingDirectiondirection)

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

Set the reference axis ( see RescalePolicy )

Parameters:

axis Axis index ( QwtPlot::Axis )

See also:

referenceAxis()

void QwtPlotRescaler::setRescalePolicy (\fBRescalePolicy\fPpolicy)

Change the rescale policy

Parameters:

policy Rescale policy

See also:

rescalePolicy()

\fBQwtDoubleInterval\fP QwtPlotRescaler::syncScale (intaxis, const \fBQwtDoubleInterval\fP &reference, const QSize &size) const\fC [protected]\fP, \fC [virtual]\fP

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 (\fBQwtDoubleInterval\fPintervals[QwtPlot::axisCnt]) const\fC [protected]\fP, \fC [virtual]\fP

Update the axes scales

Parameters:

intervals Scale intervals

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.