QwtPlotRescaler takes care of fixed aspect ratios for plot scales.
More...
#include <qwt_plot_rescaler.h>
List of all members.
Public Types |
| enum | RescalePolicy {
Fixed,
Expanding,
Fitting
} |
| enum | ExpandingDirection {
ExpandUp,
ExpandDown,
ExpandBoth
} |
Public Member Functions |
| | QwtPlotRescaler (QwtPlotCanvas *, int referenceAxis=QwtPlot::xBottom, RescalePolicy=Expanding) |
| virtual | ~QwtPlotRescaler () |
| void | setEnabled (bool) |
| bool | isEnabled () const |
| void | setRescalePolicy (RescalePolicy) |
| RescalePolicy | rescalePolicy () const |
| void | setExpandingDirection (ExpandingDirection) |
| void | setExpandingDirection (int axis, ExpandingDirection) |
| ExpandingDirection | expandingDirection (int axis) const |
| void | setReferenceAxis (int axis) |
| int | referenceAxis () const |
| void | setAspectRatio (double ratio) |
| void | setAspectRatio (int axis, double ratio) |
| double | aspectRatio (int axis) const |
| void | setIntervalHint (int axis, const QwtInterval &) |
| QwtInterval | intervalHint (int axis) const |
| QwtPlotCanvas * | canvas () |
| const QwtPlotCanvas * | canvas () const |
| QwtPlot * | plot () |
| const QwtPlot * | plot () const |
| virtual bool | eventFilter (QObject *, QEvent *) |
| void | rescale () const |
Protected Member Functions |
| virtual void | canvasResizeEvent (QResizeEvent *) |
| virtual void | rescale (const QSize &oldSize, const QSize &newSize) const |
| virtual QwtInterval | expandScale (int axis, 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 |
| Qt::Orientation | orientation (int axis) const |
| QwtInterval | interval (int axis) const |
| QwtInterval | expandInterval (const QwtInterval &, double width, ExpandingDirection) 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
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.
|
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, |
|
|
int |
referenceAxis = QwtPlot::xBottom, |
|
|
RescalePolicy |
policy = Expanding |
|
) |
| [explicit] |
| QwtPlotRescaler::~QwtPlotRescaler |
( |
| ) |
[virtual] |
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()
| void QwtPlotRescaler::canvasResizeEvent |
( |
QResizeEvent * |
event | ) |
[protected, virtual] |
Event handler for resize events of the plot canvas
- Parameters:
-
- See also:
- rescale()
| bool QwtPlotRescaler::eventFilter |
( |
QObject * |
o, |
|
|
QEvent * |
e |
|
) |
| [virtual] |
Event filter for the plot canvas.
Return direction in which an axis should be expanded
- Parameters:
-
| axis | Axis index ( see QwtPlot::AxisId ) |
- See also:
- setExpandingDirection()
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 |
( |
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
| QwtInterval QwtPlotRescaler::interval |
( |
int |
axis | ) |
const [protected] |
Return interval of an axis
- Parameters:
-
| axis | Axis index ( see QwtPlot::AxisId ) |
| QwtInterval QwtPlotRescaler::intervalHint |
( |
int |
axis | ) |
const |
| bool QwtPlotRescaler::isEnabled |
( |
| ) |
const |
| Qt::Orientation QwtPlotRescaler::orientation |
( |
int |
axis | ) |
const [protected] |
Return orientation of an axis
- Parameters:
-
| axis | Axis index ( see QwtPlot::AxisId ) |
| QwtPlot * QwtPlotRescaler::plot |
( |
| ) |
|
| const QwtPlot * QwtPlotRescaler::plot |
( |
| ) |
const |
| int QwtPlotRescaler::referenceAxis |
( |
| ) |
const |
| void QwtPlotRescaler::rescale |
( |
| ) |
const |
Adjust the plot axes scales.
| 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 |
| 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::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:
-
- 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:
-
- See also:
- isEnabled(), eventFilter()
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 |
( |
int |
axis, |
|
|
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:
-
- See also:
- intervalHint(), RescalePolicy
| void QwtPlotRescaler::setReferenceAxis |
( |
int |
axis | ) |
|
Set the reference axis ( see RescalePolicy )
- Parameters:
-
- See also:
- referenceAxis()
| QwtInterval QwtPlotRescaler::syncScale |
( |
int |
axis, |
|
|
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 |
( |
QwtInterval |
intervals[QwtPlot::axisCnt] | ) |
const [protected, virtual] |
Update the axes scales
- Parameters:
-