QGIS API Documentation
3.10.0-A Coruña (6c816b4204)
|
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>
Public Slots | |
void | checkAllItems () |
Checks all items belonging to the same layer as this node. More... | |
void | toggleAllItems () |
Toggle 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 |
Returns 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... | |
QString | evaluateLabel (const QgsExpressionContext &context=QgsExpressionContext(), const QString &label=QString()) |
Evaluates and returns the text label of the current node. More... | |
void | exportSymbolToJson (const QgsLegendSettings &settings, const QgsRenderContext &context, QJsonObject &json) const override |
Adds a symbol in base64 string within a JSON object with the key "icon". More... | |
Qt::ItemFlags | flags () const override |
Returns 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 |
Sets 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 | setTextOnSymbolLabel (const QString &label) |
Sets label of text to be shown on top of the symbol. More... | |
void | setTextOnSymbolTextFormat (const QgsTextFormat &format) |
Sets format of text to be shown on top of the symbol. More... | |
void | setUserLabel (const QString &userLabel) override |
const QgsSymbol * | symbol () const |
Returns the symbol used by the legend node. More... | |
QString | symbolLabel () const |
Label of the symbol, user defined label will be used, otherwise will default to the label made by QGIS. More... | |
QString | textOnSymbolLabel () const |
Returns label of text to be shown on top of the symbol. More... | |
QgsTextFormat | textOnSymbolTextFormat () const |
Returns text format of the label to be shown on top of the symbol. 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... | |
void | exportSymbolTextToJson (const QgsLegendSettings &settings, QJsonObject &json) const |
Adds a label in a JSON object with the key "title". More... | |
void | exportToJson (const QgsLegendSettings &settings, const QgsRenderContext &context, QJsonObject &json) |
Entry point called from QgsLegendRenderer to do the rendering in a JSON object. More... | |
virtual bool | isEmbeddedInParent () const |
QgsLayerTreeLayer * | layerNode () const |
Returns pointer to the parent layer node. More... | |
QgsLayerTreeModel * | model () const |
Returns 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... | |
QgsRenderContext * | createTemporaryRenderContext () const |
Returns a temporary context or nullptr if legendMapViewData are not valid. More... | |
Protected Attributes inherited from QgsLayerTreeModelLegendNode | |
bool | mEmbeddedInParent |
QgsLayerTreeLayer * | mLayerNode = nullptr |
QString | mUserLabel |
Implementation of legend node interface for displaying preview of vector symbols and their labels and allowing interaction with the symbol / renderer.
Definition at line 236 of file qgslayertreemodellegendnode.h.
QgsSymbolLegendNode::QgsSymbolLegendNode | ( | QgsLayerTreeLayer * | nodeLayer, |
const QgsLegendSymbolItem & | item, | ||
QObject * | parent = nullptr |
||
) |
Constructor for QgsSymbolLegendNode.
nodeLayer | layer node |
item | the legend symbol item |
parent | attach a parent QObject to the legend node. |
Definition at line 219 of file qgslayertreemodellegendnode.cpp.
|
slot |
Checks all items belonging to the same layer as this node.
Definition at line 325 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Returns data associated with the item. Must be implemented in derived class.
Implements QgsLayerTreeModelLegendNode.
Definition at line 386 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Draws symbol on the left side of the item.
settings | Legend layout configuration |
ctx | Context for rendering - may be nullptr if only doing layout without actual rendering |
itemHeight | Minimal height of the legend item - used for correct positioning when rendering |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 485 of file qgslayertreemodellegendnode.cpp.
QString QgsSymbolLegendNode::evaluateLabel | ( | const QgsExpressionContext & | context = QgsExpressionContext() , |
const QString & | label = QString() |
||
) |
Evaluates and returns the text label of the current node.
context | extra QgsExpressionContext to use for evaluating the expression |
label | text to evaluate instead of the layer layertree string |
Definition at line 687 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Adds a symbol in base64 string within a JSON object with the key "icon".
settings | Legend layout configuration |
context | Rendering context |
json | The json object to update |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 610 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled.
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 235 of file qgslayertreemodellegendnode.cpp.
|
inline |
Definition at line 273 of file qgslayertreemodellegendnode.h.
|
overridevirtual |
Notification from model that information from associated map view has changed.
Default implementation does nothing.
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 659 of file qgslayertreemodellegendnode.cpp.
|
inlineoverridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 263 of file qgslayertreemodellegendnode.h.
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.
Definition at line 244 of file qgslayertreemodellegendnode.cpp.
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().
Definition at line 250 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Sets some data associated with the item. Default implementation does nothing and returns false
.
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 461 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 652 of file qgslayertreemodellegendnode.cpp.
|
inline |
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.
symbol | new symbol for node. Ownership is transferred. |
Definition at line 306 of file qgslayertreemodellegendnode.cpp.
|
inline |
Sets label of text to be shown on top of the symbol.
Definition at line 318 of file qgslayertreemodellegendnode.h.
|
inline |
Sets format of text to be shown on top of the symbol.
Definition at line 330 of file qgslayertreemodellegendnode.h.
|
inlineoverridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 261 of file qgslayertreemodellegendnode.h.
const QgsSymbol * QgsSymbolLegendNode::symbol | ( | ) | const |
Returns the symbol used by the legend node.
Definition at line 287 of file qgslayertreemodellegendnode.cpp.
QString QgsSymbolLegendNode::symbolLabel | ( | ) | const |
Label of the symbol, user defined label will be used, otherwise will default to the label made by QGIS.
Definition at line 292 of file qgslayertreemodellegendnode.cpp.
|
inline |
Returns label of text to be shown on top of the symbol.
Definition at line 312 of file qgslayertreemodellegendnode.h.
|
inline |
Returns text format of the label to be shown on top of the symbol.
Definition at line 324 of file qgslayertreemodellegendnode.h.
|
slot |
Toggle all items belonging to the same layer as this node.
Definition at line 335 of file qgslayertreemodellegendnode.cpp.
|
slot |
Unchecks all items belonging to the same layer as this node.
Definition at line 330 of file qgslayertreemodellegendnode.cpp.