QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Classes | Public Types | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsLayerTreeModelLegendNode Class Referenceabstract

The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegend implementation. More...

#include <qgslayertreemodellegendnode.h>

Inheritance diagram for QgsLayerTreeModelLegendNode:
Inheritance graph
[legend]

Classes

struct  ItemContext
 
struct  ItemMetrics
 

Public Types

enum  LegendNodeRoles { RuleKeyRole = Qt::UserRole, SymbolV2LegacyRuleKeyRole, ParentRuleKeyRole }
 

Signals

void dataChanged ()
 Emitted on internal data change so the layer tree model can forward the signal to views. More...
 

Public Member Functions

 ~QgsLayerTreeModelLegendNode ()
 
virtual QVariant data (int role) const =0
 Return data associated with the item. 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...
 
virtual Qt::ItemFlags flags () const
 Return item flags associated with the item. 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
 
QgsLayerTreeLayerlayerNode () const
 Return pointer to the parent layer node. More...
 
QgsLayerTreeModelmodel () const
 Return pointer to model owning this legend node. More...
 
virtual bool setData (const QVariant &value, int role)
 Set some data associated with the item. More...
 
virtual void setEmbeddedInParent (bool embedded)
 
virtual void setUserLabel (const QString &userLabel)
 
virtual QString userLabel () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Protected Member Functions

 QgsLayerTreeModelLegendNode (QgsLayerTreeLayer *nodeL, QObject *parent=nullptr)
 Construct the node with pointer to its parent layer node. More...
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Protected Attributes

bool mEmbeddedInParent
 
QgsLayerTreeLayermLayerNode
 
QString mUserLabel
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

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.

Note
added in 2.6

Definition at line 43 of file qgslayertreemodellegendnode.h.

Member Enumeration Documentation

◆ LegendNodeRoles

Enumerator
RuleKeyRole 

rule key of the node (QString)

SymbolV2LegacyRuleKeyRole 

for QgsSymbolV2LegendNode only - legacy rule key (void ptr, to be cast to QgsSymbolV2 ptr)

ParentRuleKeyRole 

rule key of the parent legend node - for legends with tree hierarchy (QString). Added in 2.8

Definition at line 49 of file qgslayertreemodellegendnode.h.

Constructor & Destructor Documentation

◆ ~QgsLayerTreeModelLegendNode()

QgsLayerTreeModelLegendNode::~QgsLayerTreeModelLegendNode ( )

Definition at line 39 of file qgslayertreemodellegendnode.cpp.

◆ QgsLayerTreeModelLegendNode()

QgsLayerTreeModelLegendNode::QgsLayerTreeModelLegendNode ( QgsLayerTreeLayer nodeL,
QObject parent = nullptr 
)
explicitprotected

Construct the node with pointer to its parent layer node.

Definition at line 32 of file qgslayertreemodellegendnode.cpp.

Member Function Documentation

◆ data()

virtual QVariant QgsLayerTreeModelLegendNode::data ( int  role) const
pure virtual

Return data associated with the item.

Must be implemented in derived class.

Implemented in QgsWMSLegendNode, QgsRasterSymbolLegendNode, QgsImageLegendNode, QgsSimpleLegendNode, and QgsSymbolV2LegendNode.

◆ dataChanged

void QgsLayerTreeModelLegendNode::dataChanged ( )
signal

Emitted on internal data change so the layer tree model can forward the signal to views.

◆ draw()

QgsLayerTreeModelLegendNode::ItemMetrics QgsLayerTreeModelLegendNode::draw ( const QgsLegendSettings settings,
ItemContext ctx 
)
virtual

Entry point called from QgsLegendRenderer to do the rendering.

Default implementation calls drawSymbol() and drawSymbolText() methods.

If ctx is null, this is just first stage when preparing layout - without actual rendering.

Definition at line 61 of file qgslayertreemodellegendnode.cpp.

◆ drawSymbol()

QSizeF QgsLayerTreeModelLegendNode::drawSymbol ( const QgsLegendSettings settings,
ItemContext ctx,
double  itemHeight 
) const
virtual

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 in QgsWMSLegendNode, QgsRasterSymbolLegendNode, QgsImageLegendNode, and QgsSymbolV2LegendNode.

Definition at line 78 of file qgslayertreemodellegendnode.cpp.

◆ drawSymbolText()

QSizeF QgsLayerTreeModelLegendNode::drawSymbolText ( const QgsLegendSettings settings,
ItemContext ctx,
QSizeF  symbolSize 
) const
virtual

Draws label on the right side of the item.

Parameters
settingsLegend layout configuration
ctxContext for rendering - may be null if only doing layout without actual rendering
symbolSizeReal size of the associated symbol - used for correct positioning when rendering
Returns
Size of the label (may span multiple lines)

Definition at line 91 of file qgslayertreemodellegendnode.cpp.

◆ flags()

Qt::ItemFlags QgsLayerTreeModelLegendNode::flags ( ) const
virtual

Return item flags associated with the item.

Default implementation returns Qt::ItemIsEnabled.

Reimplemented in QgsSymbolV2LegendNode.

Definition at line 48 of file qgslayertreemodellegendnode.cpp.

◆ invalidateMapBasedData()

virtual void QgsLayerTreeModelLegendNode::invalidateMapBasedData ( )
inlinevirtual

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

Default implementation does nothing.

Reimplemented in QgsWMSLegendNode, and QgsSymbolV2LegendNode.

Definition at line 81 of file qgslayertreemodellegendnode.h.

◆ isEmbeddedInParent()

virtual bool QgsLayerTreeModelLegendNode::isEmbeddedInParent ( ) const
inlinevirtual

Definition at line 71 of file qgslayertreemodellegendnode.h.

◆ isScaleOK()

virtual bool QgsLayerTreeModelLegendNode::isScaleOK ( double  scale) const
inlinevirtual

Reimplemented in QgsSymbolV2LegendNode.

Definition at line 77 of file qgslayertreemodellegendnode.h.

◆ layerNode()

QgsLayerTreeLayer* QgsLayerTreeModelLegendNode::layerNode ( ) const
inline

Return pointer to the parent layer node.

Definition at line 57 of file qgslayertreemodellegendnode.h.

◆ model()

QgsLayerTreeModel * QgsLayerTreeModelLegendNode::model ( ) const

Return pointer to model owning this legend node.

Definition at line 43 of file qgslayertreemodellegendnode.cpp.

◆ setData()

bool QgsLayerTreeModelLegendNode::setData ( const QVariant value,
int  role 
)
virtual

Set some data associated with the item.

Default implementation does nothing and returns false.

Reimplemented in QgsSymbolV2LegendNode.

Definition at line 53 of file qgslayertreemodellegendnode.cpp.

◆ setEmbeddedInParent()

virtual void QgsLayerTreeModelLegendNode::setEmbeddedInParent ( bool  embedded)
inlinevirtual

Reimplemented in QgsSymbolV2LegendNode.

Definition at line 72 of file qgslayertreemodellegendnode.h.

◆ setUserLabel()

virtual void QgsLayerTreeModelLegendNode::setUserLabel ( const QString userLabel)
inlinevirtual

Reimplemented in QgsSymbolV2LegendNode.

Definition at line 75 of file qgslayertreemodellegendnode.h.

◆ userLabel()

virtual QString QgsLayerTreeModelLegendNode::userLabel ( ) const
inlinevirtual

Definition at line 74 of file qgslayertreemodellegendnode.h.

Member Data Documentation

◆ mEmbeddedInParent

bool QgsLayerTreeModelLegendNode::mEmbeddedInParent
protected

Definition at line 134 of file qgslayertreemodellegendnode.h.

◆ mLayerNode

QgsLayerTreeLayer* QgsLayerTreeModelLegendNode::mLayerNode
protected

Definition at line 133 of file qgslayertreemodellegendnode.h.

◆ mUserLabel

QString QgsLayerTreeModelLegendNode::mUserLabel
protected

Definition at line 135 of file qgslayertreemodellegendnode.h.


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