QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Types | Signals | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsLayerTreeModelLegendNode Class Reference

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 }

Signals

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

Public Member Functions

 ~QgsLayerTreeModelLegendNode ()
QgsLayerTreeLayerlayerNode () const
 Return pointer to the parent layer node.
QgsLayerTreeModelmodel () const
 Return pointer to model owning this legend node.
virtual Qt::ItemFlags flags () const
 Return item flags associated with the item.
virtual QVariant data (int role) const =0
 Return data associated with the item.
virtual bool setData (const QVariant &value, int role)
 Set some data associated with the item.
virtual bool isEmbeddedInParent () const
virtual void setEmbeddedInParent (bool embedded)
virtual QString userLabel () const
virtual void setUserLabel (const QString &userLabel)
virtual bool isScaleOK (double scale) const
virtual void invalidateMapBasedData ()
 Notification from model that information from associated map view has changed.
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, const QSizeF &symbolSize) const
 Draws label on the right side of the item.

Protected Member Functions

 QgsLayerTreeModelLegendNode (QgsLayerTreeLayer *nodeL, QObject *parent=0)
 Construct the node with pointer to its parent layer node.

Protected Attributes

QgsLayerTreeLayermLayerNode
bool mEmbeddedInParent
QString mUserLabel

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

Member Enumeration Documentation

Enumerator:
RuleKeyRole 

rule key of the node (QString)

SymbolV2LegacyRuleKeyRole 

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

Constructor & Destructor Documentation

QgsLayerTreeModelLegendNode::~QgsLayerTreeModelLegendNode ( )
QgsLayerTreeModelLegendNode::QgsLayerTreeModelLegendNode ( QgsLayerTreeLayer nodeL,
QObject *  parent = 0 
)
explicitprotected

Construct the node with pointer to its parent layer node.

Member Function Documentation

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

Return data associated with the item.

Must be implemented in derived class.

Implemented in QgsRasterSymbolLegendNode, QgsImageLegendNode, QgsSimpleLegendNode, and QgsSymbolV2LegendNode.

void QgsLayerTreeModelLegendNode::dataChanged ( )
signal

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

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.

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

QSizeF QgsLayerTreeModelLegendNode::drawSymbolText ( const QgsLegendSettings settings,
ItemContext ctx,
const 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)
Qt::ItemFlags QgsLayerTreeModelLegendNode::flags ( ) const
virtual

Return item flags associated with the item.

Default implementation returns Qt::ItemIsEnabled.

Reimplemented in QgsSymbolV2LegendNode.

virtual void QgsLayerTreeModelLegendNode::invalidateMapBasedData ( )
inlinevirtual

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

Default implementation does nothing.

Reimplemented in QgsSymbolV2LegendNode.

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

Reimplemented in QgsSymbolV2LegendNode.

QgsLayerTreeLayer* QgsLayerTreeModelLegendNode::layerNode ( ) const
inline

Return pointer to the parent layer node.

QgsLayerTreeModel * QgsLayerTreeModelLegendNode::model ( ) const

Return pointer to model owning this legend node.

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.

virtual void QgsLayerTreeModelLegendNode::setEmbeddedInParent ( bool  embedded)
inlinevirtual

Reimplemented in QgsSymbolV2LegendNode.

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

Reimplemented in QgsSymbolV2LegendNode.

virtual QString QgsLayerTreeModelLegendNode::userLabel ( ) const
inlinevirtual

Member Data Documentation

bool QgsLayerTreeModelLegendNode::mEmbeddedInParent
protected
QgsLayerTreeLayer* QgsLayerTreeModelLegendNode::mLayerNode
protected
QString QgsLayerTreeModelLegendNode::mUserLabel
protected

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