Qwt User's Guide
|
Layout engine for QwtPlot. More...
#include <qwt_plot_layout.h>
Public Types | |
enum | Option { AlignScales = 0x01, IgnoreScrollbars = 0x02, IgnoreFrames = 0x04, IgnoreLegend = 0x08, IgnoreTitle = 0x10, IgnoreFooter = 0x20 } |
typedef QFlags< Option > | Options |
Layout options. | |
Public Member Functions | |
QwtPlotLayout () | |
Constructor. | |
virtual | ~QwtPlotLayout () |
Destructor. | |
void | setCanvasMargin (int margin, int axis=-1) |
int | canvasMargin (int axis) const |
void | setAlignCanvasToScales (bool) |
Set the align-canvas-to-axis-scales flag for all axes. | |
void | setAlignCanvasToScale (int axisId, bool) |
bool | alignCanvasToScale (int axisId) const |
void | setSpacing (int) |
int | spacing () const |
void | setLegendPosition (QwtPlot::LegendPosition pos, double ratio) |
Specify the position of the legend. | |
void | setLegendPosition (QwtPlot::LegendPosition pos) |
Specify the position of the legend. | |
QwtPlot::LegendPosition | legendPosition () const |
void | setLegendRatio (double ratio) |
double | legendRatio () const |
virtual QSize | minimumSizeHint (const QwtPlot *) const |
virtual void | activate (const QwtPlot *, const QRectF &rect, Options options=0x00) |
Recalculate the geometry of all components. | |
virtual void | invalidate () |
QRectF | titleRect () const |
QRectF | footerRect () const |
QRectF | legendRect () const |
QRectF | scaleRect (int axis) const |
QRectF | canvasRect () const |
Protected Member Functions | |
void | setTitleRect (const QRectF &) |
Set the geometry for the title. | |
void | setFooterRect (const QRectF &) |
Set the geometry for the footer. | |
void | setLegendRect (const QRectF &) |
Set the geometry for the legend. | |
void | setScaleRect (int axis, const QRectF &) |
Set the geometry for an axis. | |
void | setCanvasRect (const QRectF &) |
Set the geometry for the canvas. | |
QRectF | layoutLegend (Options options, const QRectF &) const |
QRectF | alignLegend (const QRectF &canvasRect, const QRectF &legendRect) const |
void | expandLineBreaks (Options options, const QRectF &rect, int &dimTitle, int &dimFooter, int dimAxes[QwtPlot::axisCnt]) const |
void | alignScales (Options options, QRectF &canvasRect, QRectF scaleRect[QwtPlot::axisCnt]) const |
Layout engine for QwtPlot.
It is used by the QwtPlot widget to organize its internal widgets or by QwtPlot::print() to render its content to a QPaintDevice like a QPrinter, QPixmap/QImage or QSvgRenderer.
Options to configure the plot layout engine
void QwtPlotLayout::activate | ( | const QwtPlot * | plot, |
const QRectF & | plotRect, | ||
Options | options = 0x00 |
||
) | [virtual] |
Recalculate the geometry of all components.
plot | Plot to be layout |
plotRect | Rectangle where to place the components |
options | Layout options |
bool QwtPlotLayout::alignCanvasToScale | ( | int | axisId | ) | const |
Return the align-canvas-to-axis-scales setting. The canvas may:
axisId | Axis index |
QRectF QwtPlotLayout::alignLegend | ( | const QRectF & | canvasRect, |
const QRectF & | legendRect | ||
) | const [protected] |
Align the legend to the canvas
canvasRect | Geometry of the canvas |
legendRect | Maximum geometry for the legend |
void QwtPlotLayout::alignScales | ( | Options | options, |
QRectF & | canvasRect, | ||
QRectF | scaleRect[QwtPlot::axisCnt] | ||
) | const [protected] |
Align the ticks of the axis to the canvas borders using the empty corners.
options | Layout options |
canvasRect | Geometry of the canvas ( IN/OUT ) |
scaleRect | Geometries of the scales ( IN/OUT ) |
int QwtPlotLayout::canvasMargin | ( | int | axisId | ) | const |
axisId | Axis index |
QRectF QwtPlotLayout::canvasRect | ( | ) | const |
void QwtPlotLayout::expandLineBreaks | ( | Options | options, |
const QRectF & | rect, | ||
int & | dimTitle, | ||
int & | dimFooter, | ||
int | dimAxis[QwtPlot::axisCnt] | ||
) | const [protected] |
Expand all line breaks in text labels, and calculate the height of their widgets in orientation of the text.
options | Options how to layout the legend |
rect | Bounding rectangle for title, footer, axes and canvas. |
dimTitle | Expanded height of the title widget |
dimFooter | Expanded height of the footer widget |
dimAxis | Expanded heights of the axis in axis orientation. |
QRectF QwtPlotLayout::footerRect | ( | ) | const |
void QwtPlotLayout::invalidate | ( | ) | [virtual] |
Invalidate the geometry of all components.
QRectF QwtPlotLayout::layoutLegend | ( | Options | options, |
const QRectF & | rect | ||
) | const [protected] |
Find the geometry for the legend
options | Options how to layout the legend |
rect | Rectangle where to place the legend |
double QwtPlotLayout::legendRatio | ( | ) | const |
QRectF QwtPlotLayout::legendRect | ( | ) | const |
QSize QwtPlotLayout::minimumSizeHint | ( | const QwtPlot * | plot | ) | const [virtual] |
QRectF QwtPlotLayout::scaleRect | ( | int | axis | ) | const |
void QwtPlotLayout::setAlignCanvasToScale | ( | int | axisId, |
bool | on | ||
) |
Change the align-canvas-to-axis-scales setting. The canvas may:
The axisId parameter is somehow confusing as it identifies a border of the plot and not the axes, that are aligned. F.e when QwtPlot::yLeft is set, the left end of the the x-axes ( QwtPlot::xTop, QwtPlot::xBottom ) is aligned.
axisId | Axis index |
on | New align-canvas-to-axis-scales setting |
void QwtPlotLayout::setAlignCanvasToScales | ( | bool | on | ) |
Set the align-canvas-to-axis-scales flag for all axes.
on | True/False |
void QwtPlotLayout::setCanvasMargin | ( | int | margin, |
int | axis = -1 |
||
) |
Change a margin of the canvas. The margin is the space above/below the scale ticks. A negative margin will be set to -1, excluding the borders of the scales.
margin | New margin |
axis | One of QwtPlot::Axis. Specifies where the position of the margin. -1 means margin at all borders. |
void QwtPlotLayout::setCanvasRect | ( | const QRectF & | rect | ) | [protected] |
Set the geometry for the canvas.
This method is intended to be used from derived layouts overloading activate()
void QwtPlotLayout::setFooterRect | ( | const QRectF & | rect | ) | [protected] |
Set the geometry for the footer.
This method is intended to be used from derived layouts overloading activate()
void QwtPlotLayout::setLegendPosition | ( | QwtPlot::LegendPosition | pos, |
double | ratio | ||
) |
Specify the position of the legend.
pos | The legend's position. |
ratio | Ratio between legend and the bounding rectangle of title, footer, canvas and axes. The legend will be shrunk if it would need more space than the given ratio. The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0 it will be reset to the default ratio. The default vertical/horizontal ratio is 0.33/0.5. |
Specify the position of the legend.
pos | The legend's position. Valid values are QwtPlot::LeftLegend , QwtPlot::RightLegend , QwtPlot::TopLegend , QwtPlot::BottomLegend . |
void QwtPlotLayout::setLegendRatio | ( | double | ratio | ) |
Specify the relative size of the legend in the plot
ratio | Ratio between legend and the bounding rectangle of title, footer, canvas and axes. The legend will be shrunk if it would need more space than the given ratio. The ratio is limited to ]0.0 .. 1.0]. In case of <= 0.0 it will be reset to the default ratio. The default vertical/horizontal ratio is 0.33/0.5. |
void QwtPlotLayout::setLegendRect | ( | const QRectF & | rect | ) | [protected] |
Set the geometry for the legend.
This method is intended to be used from derived layouts overloading activate()
rect | Rectangle for the legend |
void QwtPlotLayout::setScaleRect | ( | int | axis, |
const QRectF & | rect | ||
) | [protected] |
Set the geometry for an axis.
This method is intended to be used from derived layouts overloading activate()
axis | Axis index |
rect | Rectangle for the scale |
void QwtPlotLayout::setSpacing | ( | int | spacing | ) |
Change the spacing of the plot. The spacing is the distance between the plot components.
spacing | New spacing |
void QwtPlotLayout::setTitleRect | ( | const QRectF & | rect | ) | [protected] |
Set the geometry for the title.
This method is intended to be used from derived layouts overloading activate()
int QwtPlotLayout::spacing | ( | ) | const |
QRectF QwtPlotLayout::titleRect | ( | ) | const |