QGIS API Documentation
3.8.0-Zanzibar (11aff65)
|
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... | |
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 | 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 185 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 158 of file qgslayertreemodellegendnode.cpp.
|
slot |
Checks all items belonging to the same layer as this node.
Definition at line 250 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Returns data associated with the item. Must be implemented in derived class.
Implements QgsLayerTreeModelLegendNode.
Definition at line 311 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 410 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 519 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled.
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 174 of file qgslayertreemodellegendnode.cpp.
|
inline |
Definition at line 221 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 568 of file qgslayertreemodellegendnode.cpp.
|
inlineoverridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 211 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 183 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 189 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 386 of file qgslayertreemodellegendnode.cpp.
|
overridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 561 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 231 of file qgslayertreemodellegendnode.cpp.
|
inline |
Sets label of text to be shown on top of the symbol.
Definition at line 266 of file qgslayertreemodellegendnode.h.
|
inline |
Sets format of text to be shown on top of the symbol.
Definition at line 278 of file qgslayertreemodellegendnode.h.
|
inlineoverridevirtual |
Reimplemented from QgsLayerTreeModelLegendNode.
Definition at line 209 of file qgslayertreemodellegendnode.h.
const QgsSymbol * QgsSymbolLegendNode::symbol | ( | ) | const |
Returns the symbol used by the legend node.
Definition at line 226 of file qgslayertreemodellegendnode.cpp.
|
inline |
Returns label of text to be shown on top of the symbol.
Definition at line 260 of file qgslayertreemodellegendnode.h.
|
inline |
Returns text format of the label to be shown on top of the symbol.
Definition at line 272 of file qgslayertreemodellegendnode.h.
|
slot |
Toggle all items belonging to the same layer as this node.
Definition at line 260 of file qgslayertreemodellegendnode.cpp.
|
slot |
Unchecks all items belonging to the same layer as this node.
Definition at line 255 of file qgslayertreemodellegendnode.cpp.