Qwt User's Guide  6.2.0
QwtPlotLayout Class Reference

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< OptionOptions
 

Public Member Functions

 QwtPlotLayout ()
 Constructor.
 
virtual ~QwtPlotLayout ()
 Destructor.
 
void setCanvasMargin (int margin, int axis=-1)
 
int canvasMargin (int axisId) const
 
void setAlignCanvasToScales (bool)
 Set the align-canvas-to-axis-scales flag for all axes. More...
 
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. More...
 
void setLegendPosition (QwtPlot::LegendPosition pos)
 Specify the position of the legend. More...
 
QwtPlot::LegendPosition legendPosition () const
 
void setLegendRatio (double ratio)
 
double legendRatio () const
 
virtual QSize minimumSizeHint (const QwtPlot *) const
 
virtual void activate (const QwtPlot *, const QRectF &plotRect, Options options=Options())
 Recalculate the geometry of all components. More...
 
virtual void invalidate ()
 
QRectF titleRect () const
 
QRectF footerRect () const
 
QRectF legendRect () const
 
QRectF scaleRect (QwtAxisId) const
 
QRectF canvasRect () const
 

Protected Member Functions

void setTitleRect (const QRectF &)
 Set the geometry for the title. More...
 
void setFooterRect (const QRectF &)
 Set the geometry for the footer. More...
 
void setLegendRect (const QRectF &)
 Set the geometry for the legend. More...
 
void setScaleRect (QwtAxisId, const QRectF &)
 Set the geometry for an axis. More...
 
void setCanvasRect (const QRectF &)
 Set the geometry for the canvas. More...
 

Detailed Description

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.

See also
QwtPlot::setPlotLayout()

Definition at line 27 of file qwt_plot_layout.h.

Member Typedef Documentation

◆ Options

typedef QFlags<Option > QwtPlotLayout::Options

An ORed combination of Option values.

Definition at line 58 of file qwt_plot_layout.h.

Member Enumeration Documentation

◆ Option

Options to configure the plot layout engine

See also
activate(), QwtPlotRenderer
Enumerator
AlignScales 

Unused.

IgnoreScrollbars 

Ignore the dimension of the scrollbars. There are no scrollbars, when the plot is not rendered to widgets.

IgnoreFrames 

Ignore all frames.

IgnoreLegend 

Ignore the legend.

IgnoreTitle 

Ignore the title.

IgnoreFooter 

Ignore the footer.

Definition at line 34 of file qwt_plot_layout.h.

Member Function Documentation

◆ activate()

void QwtPlotLayout::activate ( const QwtPlot plot,
const QRectF &  plotRect,
Options  options = Options() 
)
virtual

Recalculate the geometry of all components.

Parameters
plotPlot to be layout
plotRectRectangle where to place the components
optionsLayout options
See also
invalidate(), titleRect(), footerRect() legendRect(), scaleRect(), canvasRect()

Definition at line 1508 of file qwt_plot_layout.cpp.

◆ alignCanvasToScale()

bool QwtPlotLayout::alignCanvasToScale ( int  axisPos) const

Return the align-canvas-to-axis-scales setting. The canvas may:

  • extend beyond the axis scale ends to maximize its size
  • align with the axis scale ends to control its size.
Parameters
axisPosAxis position
Returns
align-canvas-to-axis-scales setting
See also
setAlignCanvasToScale(), setAlignCanvasToScale(), setCanvasMargin()

Definition at line 1141 of file qwt_plot_layout.cpp.

◆ canvasMargin()

int QwtPlotLayout::canvasMargin ( int  axisPos) const
Parameters
axisPosAxis position
Returns
Margin around the scale tick borders
See also
setCanvasMargin()

Definition at line 1089 of file qwt_plot_layout.cpp.

◆ canvasRect()

QRectF QwtPlotLayout::canvasRect ( ) const
Returns
Geometry for the canvas
See also
activate(), invalidate()

Definition at line 1380 of file qwt_plot_layout.cpp.

◆ footerRect()

QRectF QwtPlotLayout::footerRect ( ) const
Returns
Geometry for the footer
See also
activate(), invalidate()

Definition at line 1304 of file qwt_plot_layout.cpp.

◆ invalidate()

void QwtPlotLayout::invalidate ( )
virtual

Invalidate the geometry of all components.

See also
activate()

Definition at line 1389 of file qwt_plot_layout.cpp.

◆ legendPosition()

QwtPlot::LegendPosition QwtPlotLayout::legendPosition ( ) const
Returns
Position of the legend
See also
setLegendPosition(), QwtPlot::setLegendPosition(), QwtPlot::legendPosition()

Definition at line 1237 of file qwt_plot_layout.cpp.

◆ legendRatio()

double QwtPlotLayout::legendRatio ( ) const
Returns
The relative size of the legend in the plot.
See also
setLegendPosition()

Definition at line 1260 of file qwt_plot_layout.cpp.

◆ legendRect()

QRectF QwtPlotLayout::legendRect ( ) const
Returns
Geometry for the legend
See also
activate(), invalidate()

Definition at line 1328 of file qwt_plot_layout.cpp.

◆ minimumSizeHint()

QSize QwtPlotLayout::minimumSizeHint ( const QwtPlot plot) const
virtual
Returns
Minimum size hint
Parameters
plotPlot widget
See also
QwtPlot::minimumSizeHint()

Definition at line 1404 of file qwt_plot_layout.cpp.

◆ scaleRect()

QRectF QwtPlotLayout::scaleRect ( QwtAxisId  axisId) const
Parameters
axisIdAxis
Returns
Geometry for the scale
See also
activate(), invalidate()

Definition at line 1355 of file qwt_plot_layout.cpp.

◆ setAlignCanvasToScale()

void QwtPlotLayout::setAlignCanvasToScale ( int  axisPos,
bool  on 
)

Change the align-canvas-to-axis-scales setting. The canvas may:

  • extend beyond the axis scale ends to maximize its size,
  • align with the axis scale ends to control its size.

The axisId parameter is somehow confusing as it identifies a border of the plot and not the axes, that are aligned. F.e when QwtAxis::YLeft is set, the left end of the the x-axes ( QwtAxis::XTop, QwtAxis::XBottom ) is aligned.

Parameters
axisIdAxis index
onNew align-canvas-to-axis-scales setting
See also
setCanvasMargin(), alignCanvasToScale(), setAlignCanvasToScales()
Warning
In case of on == true canvasMargin() will have no effect

Definition at line 1126 of file qwt_plot_layout.cpp.

◆ setAlignCanvasToScales()

void QwtPlotLayout::setAlignCanvasToScales ( bool  on)

Set the align-canvas-to-axis-scales flag for all axes.

Parameters
onTrue/False
See also
setAlignCanvasToScale(), alignCanvasToScale()

Definition at line 1103 of file qwt_plot_layout.cpp.

◆ setCanvasMargin()

void QwtPlotLayout::setCanvasMargin ( int  margin,
int  axisPos = -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.

Parameters
marginNew margin
axisPosOne of QwtAxis::Position. Specifies where the position of the margin. -1 means margin at all borders.
See also
canvasMargin()
Warning
The margin will have no effect when alignCanvasToScale() is true

Definition at line 1066 of file qwt_plot_layout.cpp.

◆ setCanvasRect()

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

See also
canvasRect(), activate()

Definition at line 1371 of file qwt_plot_layout.cpp.

◆ setFooterRect()

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

See also
footerRect(), activate()

Definition at line 1295 of file qwt_plot_layout.cpp.

◆ setLegendPosition() [1/2]

void QwtPlotLayout::setLegendPosition ( QwtPlot::LegendPosition  pos)

Specify the position of the legend.

Parameters
posThe legend's position. Valid values are QwtPlot::LeftLegend, QwtPlot::RightLegend, QwtPlot::TopLegend, QwtPlot::BottomLegend.
See also
QwtPlot::setLegendPosition()

Definition at line 1227 of file qwt_plot_layout.cpp.

◆ setLegendPosition() [2/2]

void QwtPlotLayout::setLegendPosition ( QwtPlot::LegendPosition  pos,
double  ratio 
)

Specify the position of the legend.

Parameters
posThe legend's position.
ratioRatio 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.
See also
QwtPlot::setLegendPosition()

Definition at line 1183 of file qwt_plot_layout.cpp.

◆ setLegendRatio()

void QwtPlotLayout::setLegendRatio ( double  ratio)

Specify the relative size of the legend in the plot

Parameters
ratioRatio 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.

Definition at line 1251 of file qwt_plot_layout.cpp.

◆ setLegendRect()

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

Parameters
rectRectangle for the legend
See also
legendRect(), activate()

Definition at line 1319 of file qwt_plot_layout.cpp.

◆ setScaleRect()

void QwtPlotLayout::setScaleRect ( QwtAxisId  axisId,
const QRectF &  rect 
)
protected

Set the geometry for an axis.

This method is intended to be used from derived layouts overloading activate()

Parameters
axisIdAxis
rectRectangle for the scale
See also
scaleRect(), activate()

Definition at line 1344 of file qwt_plot_layout.cpp.

◆ setSpacing()

void QwtPlotLayout::setSpacing ( int  spacing)

Change the spacing of the plot. The spacing is the distance between the plot components.

Parameters
spacingNew spacing
See also
setCanvasMargin(), spacing()

Definition at line 1156 of file qwt_plot_layout.cpp.

◆ setTitleRect()

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

See also
titleRect(), activate()

Definition at line 1273 of file qwt_plot_layout.cpp.

◆ spacing()

int QwtPlotLayout::spacing ( ) const
Returns
Spacing
See also
margin(), setSpacing()

Definition at line 1165 of file qwt_plot_layout.cpp.

◆ titleRect()

QRectF QwtPlotLayout::titleRect ( ) const
Returns
Geometry for the title
See also
activate(), invalidate()

Definition at line 1282 of file qwt_plot_layout.cpp.