|
QGIS API Documentation 4.0.0-Norrköping (1ddcee3d0e4)
|
An abstract interface for legend items returned from QgsMapLayerLegend implementation. More...
#include <qgslayertreemodellegendnode.h>

Classes | |
| struct | ItemContext |
| struct | ItemMetrics |
Public Types | |
| enum class | CustomRole : int { RuleKey = Qt::UserRole , ParentRuleKey , NodeType , IsDataDefinedSize } |
| Legend node data roles. More... | |
| enum | NodeTypes { SimpleLegend , SymbolLegend , RasterSymbolLegend , ImageLegend , WmsLegend , DataDefinedSizeLegend , EmbeddedWidget , ColorRampLegend } |
| Types of legend nodes. More... | |
Public Slots | |
| void | checkAllItems () |
| Checks all checkable items belonging to the same layer as this node. | |
| void | toggleAllItems () |
| Toggle all checkable items belonging to the same layer as this node. | |
| void | uncheckAllItems () |
| Unchecks all checkable items belonging to the same layer as this node. | |
Signals | |
| void | dataChanged () |
| Emitted on internal data change so the layer tree model can forward the signal to views. | |
| void | sizeChanged () |
| Emitted when the size of this node changes. | |
Public Member Functions | |
| virtual bool | columnBreak () const |
| Returns whether a forced column break should occur before the node. | |
| virtual QVariant | data (int role) const =0 |
| Returns data associated with the item. Must be implemented in derived class. | |
| virtual ItemMetrics | draw (const QgsLegendSettings &settings, ItemContext &ctx) |
| Entry point called from QgsLegendRenderer to do the rendering. | |
| virtual QSizeF | drawSymbol (const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight) const |
| Draws symbol on the left side of the item. | |
| virtual QSizeF | drawSymbolText (const QgsLegendSettings &settings, ItemContext *ctx, QSizeF symbolSize) const |
| Draws label on the right side of the item. | |
| virtual QJsonObject | exportSymbolToJson (const QgsLegendSettings &settings, const QgsRenderContext &context) const |
| Adds a symbol in base64 string within a JSON object with the key "icon". | |
| QJsonObject | exportToJson (const QgsLegendSettings &settings, const QgsRenderContext &context) |
| Entry point called from QgsLegendRenderer to do the rendering in a JSON object. | |
| virtual Qt::ItemFlags | flags () const |
| Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled. | |
| virtual void | invalidateMapBasedData () |
| Notification from model that information from associated map view has changed. | |
| virtual bool | isEmbeddedInParent () const |
| virtual bool | isScaleOK (double scale) const |
| QgsLayerTreeLayer * | layerNode () const |
| Returns pointer to the parent layer node. | |
| QgsLayerTreeModel * | model () const |
| Returns pointer to model owning this legend node. | |
| virtual void | setColumnBreak (bool breakBeforeNode) |
| Sets whether a forced column break should occur before the node. | |
| virtual bool | setData (const QVariant &value, int role) |
Sets some data associated with the item. Default implementation does nothing and returns false. | |
| virtual void | setEmbeddedInParent (bool embedded) |
| virtual void | setUserLabel (const QString &userLabel) |
| virtual void | setUserPatchSize (QSizeF size) |
| Sets the user (overridden) size for the legend node. | |
| virtual QString | userLabel () const |
| virtual QSizeF | userPatchSize () const |
| Returns the user (overridden) size for the legend node. | |
Protected Member Functions | |
| QgsLayerTreeModelLegendNode (QgsLayerTreeLayer *nodeL, QObject *parent=nullptr) | |
| Construct the node with pointer to its parent layer node. | |
| QgsRenderContext * | createTemporaryRenderContext () const |
Returns a temporary context or nullptr if legendMapViewData are not valid. | |
Protected Attributes | |
| bool | mColumnBreakBeforeNode = false |
| bool | mEmbeddedInParent = false |
| QgsLayerTreeLayer * | mLayerNode = nullptr |
| QgsLegendPatchShape | mPatchShape |
| QString | mUserLabel |
| QSizeF | mUserSize |
An abstract interface for legend items returned from QgsMapLayerLegend implementation.
The objects are used in QgsLayerTreeModel. Custom implementations may offer additional interactivity and customized look.
Definition at line 52 of file qgslayertreemodellegendnode.h.
|
strong |
Legend node data roles.
Definition at line 90 of file qgslayertreemodellegendnode.h.
Types of legend nodes.
Definition at line 102 of file qgslayertreemodellegendnode.h.
|
explicitprotected |
Construct the node with pointer to its parent layer node.
Definition at line 53 of file qgslayertreemodellegendnode.cpp.
|
slot |
Checks all checkable items belonging to the same layer as this node.
Definition at line 294 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Returns whether a forced column break should occur before the node.
Definition at line 171 of file qgslayertreemodellegendnode.h.
|
protected |
Returns a temporary context or nullptr if legendMapViewData are not valid.
Definition at line 499 of file qgslayertreemodellegendnode.cpp.
|
pure virtual |
Returns data associated with the item. Must be implemented in derived class.
Implemented in QgsColorRampLegendNode, QgsDataDefinedSizeLegendNode, QgsImageLegendNode, QgsRasterSymbolLegendNode, QgsSimpleLegendNode, QgsSymbolLegendNode, QgsVectorLabelLegendNode, and QgsWmsLegendNode.
|
signal |
Emitted on internal data change so the layer tree model can forward the signal to views.
|
virtual |
Entry point called from QgsLegendRenderer to do the rendering.
Default implementation calls drawSymbol() and drawSymbolText() methods.
Reimplemented in QgsDataDefinedSizeLegendNode.
Definition at line 92 of file qgslayertreemodellegendnode.cpp.
|
virtual |
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 in QgsColorRampLegendNode, QgsImageLegendNode, QgsRasterSymbolLegendNode, QgsSymbolLegendNode, QgsVectorLabelLegendNode, and QgsWmsLegendNode.
Definition at line 143 of file qgslayertreemodellegendnode.cpp.
|
virtual |
Draws label on the right side of the item.
| settings | Legend layout configuration |
| ctx | Context for rendering - may be nullptr if only doing layout without actual rendering |
| symbolSize | Real size of the associated symbol - used for correct positioning when rendering |
Reimplemented in QgsColorRampLegendNode.
Definition at line 199 of file qgslayertreemodellegendnode.cpp.
|
virtual |
Adds a symbol in base64 string within a JSON object with the key "icon".
| settings | Legend layout configuration |
| context | Rendering context |
Reimplemented in QgsColorRampLegendNode, QgsImageLegendNode, QgsRasterSymbolLegendNode, QgsSymbolLegendNode, QgsVectorLabelLegendNode, and QgsWmsLegendNode.
Definition at line 182 of file qgslayertreemodellegendnode.cpp.
| QJsonObject QgsLayerTreeModelLegendNode::exportToJson | ( | const QgsLegendSettings & | settings, |
| const QgsRenderContext & | context ) |
Entry point called from QgsLegendRenderer to do the rendering in a JSON object.
| settings | Legend layout configuration |
| context | Rendering context |
Definition at line 135 of file qgslayertreemodellegendnode.cpp.
|
virtual |
Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled.
Reimplemented in QgsRasterSymbolLegendNode, and QgsSymbolLegendNode.
Definition at line 63 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Notification from model that information from associated map view has changed.
Default implementation does nothing.
Reimplemented in QgsSymbolLegendNode, and QgsWmsLegendNode.
Definition at line 183 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Definition at line 129 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 173 of file qgslayertreemodellegendnode.h.
|
inline |
Returns pointer to the parent layer node.
Definition at line 115 of file qgslayertreemodellegendnode.h.
| QgsLayerTreeModel * QgsLayerTreeModelLegendNode::model | ( | ) | const |
Returns pointer to model owning this legend node.
Definition at line 58 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Sets whether a forced column break should occur before the node.
Definition at line 163 of file qgslayertreemodellegendnode.h.
|
virtual |
Sets some data associated with the item. Default implementation does nothing and returns false.
Reimplemented in QgsRasterSymbolLegendNode, and QgsSymbolLegendNode.
Definition at line 68 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 130 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 133 of file qgslayertreemodellegendnode.h.
|
virtual |
Sets the user (overridden) size for the legend node.
If either the width or height are non-zero, they will be used when rendering the legend node instead of the default symbol width or height from QgsLegendSettings.
Definition at line 83 of file qgslayertreemodellegendnode.cpp.
|
signal |
Emitted when the size of this node changes.
|
slot |
Toggle all checkable items belonging to the same layer as this node.
Definition at line 304 of file qgslayertreemodellegendnode.cpp.
|
slot |
Unchecks all checkable items belonging to the same layer as this node.
Definition at line 299 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Definition at line 132 of file qgslayertreemodellegendnode.h.
|
virtual |
Returns the user (overridden) size for the legend node.
If either the width or height are non-zero, they will be used when rendering the legend node instead of the default symbol width or height from QgsLegendSettings.
Definition at line 75 of file qgslayertreemodellegendnode.cpp.
|
protected |
Definition at line 383 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 379 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 378 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 381 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 380 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 382 of file qgslayertreemodellegendnode.h.