QwtPlotRescaler(3)

NAME
QwtPlotRescaler -

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
QwtInterval 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 QwtInterval &)
void setReferenceAxis (int axis)
void setRescalePolicy (RescalePolicy)

  Protected Member Functions
virtual void canvasResizeEvent (QResizeEvent *)
QwtInterval expandInterval (const QwtInterval &, double width, ExpandingDirection) const
virtual QwtInterval expandScale (int axis, const QSize &oldSize, const QSize &newSize) const
QwtInterval interval (int axis) const
Qt::Orientation orientation (int axis) const
virtual void rescale (const QSize &oldSize, const QSize &newSize) const
virtual QwtInterval syncScale (int axis, const QwtInterval &reference, const QSize &size) const
virtual void updateScales (QwtInterval 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::ExpandingDirection
When rescalePolicy() is set to Expanding its direction depends on ExpandingDirection

Enumerator:

ExpandUp
    The upper limit of the scale is adjusted.

ExpandDown
    The lower limit of the scale is adjusted.

ExpandBoth
    Both limits of the scale are adjusted.

  enum QwtPlotRescaler::RescalePolicy
The rescale policy defines how to rescale the reference axis and their depending axes.

See also:
    ExpandingDirection, setIntervalHint()

Enumerator:

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 interval hint.

Constructor & Destructor Documentation

  QwtPlotRescaler::QwtPlotRescaler (QwtPlotCanvas *canvas, intreferenceAxis = QwtPlot::xBottom, RescalePolicypolicy = Expanding) [explicit]
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()

  QwtPlotCanvas * QwtPlotRescaler::canvas ()
Returns:
    plot canvas

  const QwtPlotCanvas * QwtPlotRescaler::canvas () const
Returns:
    plot canvas

  void QwtPlotRescaler::canvasResizeEvent (QResizeEvent *event) [protected], [virtual]
Event handler for resize events of the plot canvas

Parameters:
    event Resize event

See also:
    rescale()

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

  QwtInterval QwtPlotRescaler::expandInterval (const QwtInterval &interval, doublewidth, ExpandingDirectiondirection) 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

  QwtInterval QwtPlotRescaler::expandScale (intaxis, 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

  QwtInterval QwtPlotRescaler::interval (intaxis) const [protected]
Return interval of an axis

Parameters:
    axis Axis index ( see QwtPlot::AxisId )

  QwtInterval QwtPlotRescaler::intervalHint (intaxis) const
Parameters:
    axis Axis, see QwtPlot::Axis

Returns:
    Interval hint

See also:
    setIntervalHint(), RescalePolicy

  bool QwtPlotRescaler::isEnabled () const
Returns:
    true when enabled, false otherwise

See also:
    setEnabled, eventFilter()

  Qt::Orientation QwtPlotRescaler::orientation (intaxis) 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 (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::setIntervalHint (intaxis, const QwtInterval &interval)
Set an interval hint for an axis

In Fitting mode, the hint is used as minimal interval taht always needs to be displayed.

Parameters:
    axis Axis, see QwtPlot::Axis
    interval Axis

See also:
    intervalHint(), RescalePolicy

  void QwtPlotRescaler::setReferenceAxis (intaxis)
Set the reference axis ( see RescalePolicy )

Parameters:
    axis Axis index ( QwtPlot::Axis )

See also:
    referenceAxis()

  void QwtPlotRescaler::setRescalePolicy (RescalePolicypolicy)
Change the rescale policy

Parameters:
    policy Rescale policy

See also:
    rescalePolicy()

  QwtInterval QwtPlotRescaler::syncScale (intaxis, const QwtInterval &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 (QwtIntervalintervals[QwtPlot::axisCnt]) const [protected], [virtual]
Update the axes scales

Parameters:
    intervals Scale intervals

Author

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