QwtPlotRescaler Class Reference
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
- 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.
- 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.
- See also:
- ExpandingDirection, setIntervalHint()
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 ) |
const QwtPlot * QwtPlotRescaler::plot |
( |
|
) |
const |
QwtPlot * QwtPlotRescaler::plot |
( |
|
) |
|
int QwtPlotRescaler::referenceAxis |
( |
|
) |
const |
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::rescale |
( |
|
) |
const |
Adjust the plot axes scales.
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:
-
| intervals | Scale intervals |