QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Classes | Public Member Functions | Static Public Member Functions | List of all members
QgsLegendRenderer Class Reference

The QgsLegendRenderer class handles automatic layout and rendering of legend. More...

#include <qgslegendrenderer.h>

Public Member Functions

 QgsLegendRenderer (QgsLayerTreeModel *legendModel, const QgsLegendSettings &settings)
 Construct legend renderer. More...
 
void drawLegend (QPainter *painter)
 Draw the legend with given painter. More...
 
QSizeF legendSize () const
 Find out preferred legend size set by the client. More...
 
QSizeF minimumSize ()
 Run the layout algorithm and determine the size required for legend. More...
 
void setLegendSize (QSizeF s)
 Set the preferred resulting legend size. More...
 

Static Public Member Functions

static QgsComposerLegendStyle::Style nodeLegendStyle (QgsLayerTreeNode *node, QgsLayerTreeModel *model)
 
static void setNodeLegendStyle (QgsLayerTreeNode *node, QgsComposerLegendStyle::Style style)
 

Detailed Description

The QgsLegendRenderer class handles automatic layout and rendering of legend.

The content is given by QgsLayerTreeModel instance. Various layout properties can be configured within QgsLegendRenderer.

All spacing and sizes are in millimeters.

Note
added in 2.6

Definition at line 42 of file qgslegendrenderer.h.

Constructor & Destructor Documentation

◆ QgsLegendRenderer()

QgsLegendRenderer::QgsLegendRenderer ( QgsLayerTreeModel legendModel,
const QgsLegendSettings settings 
)

Construct legend renderer.

The ownership of legend model does not change

Definition at line 32 of file qgslegendrenderer.cpp.

Member Function Documentation

◆ drawLegend()

void QgsLegendRenderer::drawLegend ( QPainter painter)

Draw the legend with given painter.

It will occupy the area reported in legendSize(). Painter should be scaled beforehand so that units correspond to millimeters.

Definition at line 43 of file qgslegendrenderer.cpp.

◆ legendSize()

QSizeF QgsLegendRenderer::legendSize ( ) const
inline

Find out preferred legend size set by the client.

If null, the legend will be drawn with the minimum size

Definition at line 55 of file qgslegendrenderer.h.

◆ minimumSize()

QSizeF QgsLegendRenderer::minimumSize ( )

Run the layout algorithm and determine the size required for legend.

Definition at line 38 of file qgslegendrenderer.cpp.

◆ nodeLegendStyle()

QgsComposerLegendStyle::Style QgsLegendRenderer::nodeLegendStyle ( QgsLayerTreeNode node,
QgsLayerTreeModel model 
)
static

Definition at line 582 of file qgslegendrenderer.cpp.

◆ setLegendSize()

void QgsLegendRenderer::setLegendSize ( QSizeF  s)
inline

Set the preferred resulting legend size.

Definition at line 52 of file qgslegendrenderer.h.

◆ setNodeLegendStyle()

void QgsLegendRenderer::setNodeLegendStyle ( QgsLayerTreeNode node,
QgsComposerLegendStyle::Style  style 
)
static

Definition at line 610 of file qgslegendrenderer.cpp.


The documentation for this class was generated from the following files: