QGIS API Documentation  3.0.2-Girona (307d082)
Public Slots | Public Member Functions | List of all members
QgsSymbolLegendNode Class Reference

Implementation of legend node interface for displaying preview of vector symbols and their labels and allowing interaction with the symbol / renderer. More...

#include <qgslayertreemodellegendnode.h>

Inheritance diagram for QgsSymbolLegendNode:
Inheritance graph
[legend]

Public Slots

void checkAllItems ()
 Checks all items belonging to the same layer as this node. More...
 
void uncheckAllItems ()
 Unchecks all items belonging to the same layer as this node. More...
 

Public Member Functions

 QgsSymbolLegendNode (QgsLayerTreeLayer *nodeLayer, const QgsLegendSymbolItem &item, QObject *parent=nullptr)
 Constructor for QgsSymbolLegendNode. More...
 
QVariant data (int role) const override
 Return data associated with the item. Must be implemented in derived class. More...
 
QSizeF drawSymbol (const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight) const override
 Draws symbol on the left side of the item. More...
 
Qt::ItemFlags flags () const override
 Return item flags associated with the item. Default implementation returns Qt::ItemIsEnabled. More...
 
QSize iconSize () const
 
void invalidateMapBasedData () override
 Notification from model that information from associated map view has changed. More...
 
bool isScaleOK (double scale) const override
 
QSize minimumIconSize () const
 Calculates the minimum icon size to prevent cropping. More...
 
QSize minimumIconSize (QgsRenderContext *context) const
 Calculates the minimum icon size to prevent cropping. More...
 
bool setData (const QVariant &value, int role) override
 Set some data associated with the item. Default implementation does nothing and returns false. More...
 
void setEmbeddedInParent (bool embedded) override
 
void setIconSize (QSize sz)
 Set the icon size. More...
 
void setSymbol (QgsSymbol *symbol)
 Sets the symbol to be used by the legend node. More...
 
void setUserLabel (const QString &userLabel) override
 
const QgsSymbolsymbol () const
 Returns the symbol used by the legend node. More...
 
- Public Member Functions inherited from QgsLayerTreeModelLegendNode
virtual ItemMetrics draw (const QgsLegendSettings &settings, ItemContext *ctx)
 Entry point called from QgsLegendRenderer to do the rendering. More...
 
virtual QSizeF drawSymbolText (const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize) const
 Draws label on the right side of the item. More...
 
virtual bool isEmbeddedInParent () const
 
QgsLayerTreeLayerlayerNode () const
 Return pointer to the parent layer node. More...
 
QgsLayerTreeModelmodel () const
 Return pointer to model owning this legend node. More...
 
virtual QString userLabel () const
 

Additional Inherited Members

- Public Types inherited from QgsLayerTreeModelLegendNode
enum  LegendNodeRoles { RuleKeyRole = Qt::UserRole, ParentRuleKeyRole }
 
- Signals inherited from QgsLayerTreeModelLegendNode
void dataChanged ()
 Emitted on internal data change so the layer tree model can forward the signal to views. More...
 
- Protected Member Functions inherited from QgsLayerTreeModelLegendNode
 QgsLayerTreeModelLegendNode (QgsLayerTreeLayer *nodeL, QObject *parent=nullptr)
 Construct the node with pointer to its parent layer node. More...
 
QgsRenderContextcreateTemporaryRenderContext () const
 Returns a temporary context or null if legendMapViewData are not valid. More...
 
- Protected Attributes inherited from QgsLayerTreeModelLegendNode
bool mEmbeddedInParent
 
QgsLayerTreeLayermLayerNode = nullptr
 
QString mUserLabel
 

Detailed Description

Implementation of legend node interface for displaying preview of vector symbols and their labels and allowing interaction with the symbol / renderer.

Since
QGIS 2.6

Definition at line 155 of file qgslayertreemodellegendnode.h.

Constructor & Destructor Documentation

◆ QgsSymbolLegendNode()

QgsSymbolLegendNode::QgsSymbolLegendNode ( QgsLayerTreeLayer nodeLayer,
const QgsLegendSymbolItem item,
QObject *  parent = nullptr 
)

Constructor for QgsSymbolLegendNode.

Parameters
nodeLayerlayer node
itemthe legend symbol item
parentattach a parent QObject to the legend node.

Definition at line 132 of file qgslayertreemodellegendnode.cpp.

Member Function Documentation

◆ checkAllItems

void QgsSymbolLegendNode::checkAllItems ( )
slot

Checks all items belonging to the same layer as this node.

Since
QGIS 2.14
See also
uncheckAllItems()

Definition at line 210 of file qgslayertreemodellegendnode.cpp.

◆ data()

QVariant QgsSymbolLegendNode::data ( int  role) const
overridevirtual

Return data associated with the item. Must be implemented in derived class.

Implements QgsLayerTreeModelLegendNode.

Definition at line 255 of file qgslayertreemodellegendnode.cpp.

◆ drawSymbol()

QSizeF QgsSymbolLegendNode::drawSymbol ( const QgsLegendSettings settings,
ItemContext ctx,
double  itemHeight 
) const
overridevirtual

Draws symbol on the left side of the item.

Parameters
settingsLegend layout configuration
ctxContext for rendering - may be null if only doing layout without actual rendering
itemHeightMinimal height of the legend item - used for correct positioning when rendering
Returns
Real size of the symbol (may be bigger than "normal" symbol size from settings)

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 342 of file qgslayertreemodellegendnode.cpp.

◆ flags()

Qt::ItemFlags QgsSymbolLegendNode::flags ( ) const
overridevirtual

Return item flags associated with the item. Default implementation returns Qt::ItemIsEnabled.

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 146 of file qgslayertreemodellegendnode.cpp.

◆ iconSize()

QSize QgsSymbolLegendNode::iconSize ( ) const
inline
Since
QGIS 2.10

Definition at line 189 of file qgslayertreemodellegendnode.h.

◆ invalidateMapBasedData()

void QgsSymbolLegendNode::invalidateMapBasedData ( )
overridevirtual

Notification from model that information from associated map view has changed.

Default implementation does nothing.

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 436 of file qgslayertreemodellegendnode.cpp.

◆ isScaleOK()

bool QgsSymbolLegendNode::isScaleOK ( double  scale) const
inlineoverridevirtual

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 179 of file qgslayertreemodellegendnode.h.

◆ minimumIconSize() [1/2]

QSize QgsSymbolLegendNode::minimumIconSize ( ) const

Calculates the minimum icon size to prevent cropping.

When evaluating the size for multiple icons it is more efficient to create a single render context in advance and use the variant which accepts a QgsRenderContext argument.

Since
QGIS 2.10

Definition at line 155 of file qgslayertreemodellegendnode.cpp.

◆ minimumIconSize() [2/2]

QSize QgsSymbolLegendNode::minimumIconSize ( QgsRenderContext context) const

Calculates the minimum icon size to prevent cropping.

When evaluating the size for multiple icons it is more efficient to create a single render context in advance and call this method instead of minimumIconSize().

Since
QGIS 2.18

Definition at line 161 of file qgslayertreemodellegendnode.cpp.

◆ setData()

bool QgsSymbolLegendNode::setData ( const QVariant &  value,
int  role 
)
overridevirtual

Set some data associated with the item. Default implementation does nothing and returns false.

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 319 of file qgslayertreemodellegendnode.cpp.

◆ setEmbeddedInParent()

void QgsSymbolLegendNode::setEmbeddedInParent ( bool  embedded)
overridevirtual

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 429 of file qgslayertreemodellegendnode.cpp.

◆ setIconSize()

void QgsSymbolLegendNode::setIconSize ( QSize  sz)
inline

Set the icon size.

Since
QGIS 2.10

Definition at line 187 of file qgslayertreemodellegendnode.h.

◆ setSymbol()

void QgsSymbolLegendNode::setSymbol ( QgsSymbol symbol)

Sets the symbol to be used by the legend node.

The symbol change is also propagated to the associated vector layer's renderer.

Parameters
symbolnew symbol for node. Ownership is transferred.
See also
symbol()
Since
QGIS 2.14

Definition at line 192 of file qgslayertreemodellegendnode.cpp.

◆ setUserLabel()

void QgsSymbolLegendNode::setUserLabel ( const QString &  userLabel)
inlineoverridevirtual

Reimplemented from QgsLayerTreeModelLegendNode.

Definition at line 177 of file qgslayertreemodellegendnode.h.

◆ symbol()

const QgsSymbol * QgsSymbolLegendNode::symbol ( ) const

Returns the symbol used by the legend node.

See also
setSymbol()
Since
QGIS 2.14

Definition at line 187 of file qgslayertreemodellegendnode.cpp.

◆ uncheckAllItems

void QgsSymbolLegendNode::uncheckAllItems ( )
slot

Unchecks all items belonging to the same layer as this node.

Since
QGIS 2.14
See also
checkAllItems()

Definition at line 215 of file qgslayertreemodellegendnode.cpp.


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