QGIS API Documentation
3.10.0-A Coruña (6c816b4204)
|
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegend implementation. More...
#include <qgslayertreemodellegendnode.h>
Classes | |
struct | ItemContext |
struct | ItemMetrics |
Public Types | |
enum | LegendNodeRoles { RuleKeyRole = Qt::UserRole, ParentRuleKeyRole } |
Signals | |
void | dataChanged () |
Emitted on internal data change so the layer tree model can forward the signal to views. More... | |
Public Member Functions | |
virtual QVariant | data (int role) const =0 |
Returns data associated with the item. Must be implemented in derived class. More... | |
virtual ItemMetrics | draw (const QgsLegendSettings &settings, ItemContext *ctx) |
Entry point called from QgsLegendRenderer to do the rendering. More... | |
virtual QSizeF | drawSymbol (const QgsLegendSettings &settings, ItemContext *ctx, double itemHeight) const |
Draws symbol on the left side of the item. 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... | |
virtual void | exportSymbolToJson (const QgsLegendSettings &settings, const QgsRenderContext &context, QJsonObject &json) const |
Adds a symbol in base64 string within a JSON object with the key "icon". 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 Qt::ItemFlags | flags () const |
Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled. More... | |
virtual void | invalidateMapBasedData () |
Notification from model that information from associated map view has changed. More... | |
virtual bool | isEmbeddedInParent () const |
virtual bool | isScaleOK (double scale) 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 bool | setData (const QVariant &value, int role) |
Sets some data associated with the item. Default implementation does nothing and returns false . More... | |
virtual void | setEmbeddedInParent (bool embedded) |
virtual void | setUserLabel (const QString &userLabel) |
virtual QString | userLabel () const |
Protected Member Functions | |
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 | |
bool | mEmbeddedInParent |
QgsLayerTreeLayer * | mLayerNode = nullptr |
QString | mUserLabel |
The QgsLegendRendererItem class is 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 49 of file qgslayertreemodellegendnode.h.
Enumerator | |
---|---|
RuleKeyRole | Rule key of the node (QString) |
ParentRuleKeyRole | Rule key of the parent legend node - for legends with tree hierarchy (QString). Added in 2.8. |
Definition at line 62 of file qgslayertreemodellegendnode.h.
|
explicitprotected |
Construct the node with pointer to its parent layer node.
Definition at line 38 of file qgslayertreemodellegendnode.cpp.
|
protected |
Returns a temporary context or nullptr
if legendMapViewData are not valid.
Definition at line 351 of file qgslayertreemodellegendnode.cpp.
|
pure virtual |
Returns data associated with the item. Must be implemented in derived class.
Implemented in QgsDataDefinedSizeLegendNode, QgsWmsLegendNode, QgsRasterSymbolLegendNode, QgsImageLegendNode, QgsSimpleLegendNode, and QgsSymbolLegendNode.
|
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.
If ctx is nullptr
, this is just first stage when preparing layout - without actual rendering.
Reimplemented in QgsDataDefinedSizeLegendNode.
Definition at line 63 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 QgsWmsLegendNode, QgsRasterSymbolLegendNode, QgsImageLegendNode, and QgsSymbolLegendNode.
Definition at line 85 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 |
Definition at line 130 of file qgslayertreemodellegendnode.cpp.
void QgsLayerTreeModelLegendNode::exportSymbolTextToJson | ( | const QgsLegendSettings & | settings, |
QJsonObject & | json | ||
) | const |
Adds a label in a JSON object with the key "title".
settings | Legend layout configuration |
json | The json object to update |
Definition at line 211 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 |
json | The json object to update |
Reimplemented in QgsWmsLegendNode, QgsRasterSymbolLegendNode, QgsImageLegendNode, and QgsSymbolLegendNode.
Definition at line 116 of file qgslayertreemodellegendnode.cpp.
void QgsLayerTreeModelLegendNode::exportToJson | ( | const QgsLegendSettings & | settings, |
const QgsRenderContext & | context, | ||
QJsonObject & | json | ||
) |
Entry point called from QgsLegendRenderer to do the rendering in a JSON object.
settings | Legend layout configuration |
context | Rendering context |
json | The json object to update |
Definition at line 79 of file qgslayertreemodellegendnode.cpp.
|
virtual |
Returns item flags associated with the item. Default implementation returns Qt::ItemIsEnabled.
Reimplemented in QgsSymbolLegendNode.
Definition at line 50 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Notification from model that information from associated map view has changed.
Default implementation does nothing.
Reimplemented in QgsWmsLegendNode, and QgsSymbolLegendNode.
Definition at line 94 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Definition at line 83 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 89 of file qgslayertreemodellegendnode.h.
|
inline |
Returns pointer to the parent layer node.
Definition at line 69 of file qgslayertreemodellegendnode.h.
QgsLayerTreeModel * QgsLayerTreeModelLegendNode::model | ( | ) | const |
Returns pointer to model owning this legend node.
Definition at line 45 of file qgslayertreemodellegendnode.cpp.
|
virtual |
Sets some data associated with the item. Default implementation does nothing and returns false
.
Reimplemented in QgsSymbolLegendNode.
Definition at line 55 of file qgslayertreemodellegendnode.cpp.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 84 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Reimplemented in QgsSymbolLegendNode.
Definition at line 87 of file qgslayertreemodellegendnode.h.
|
inlinevirtual |
Definition at line 86 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 222 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 221 of file qgslayertreemodellegendnode.h.
|
protected |
Definition at line 223 of file qgslayertreemodellegendnode.h.