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

Layer tree node points to a map layer. More...

#include <qgslayertreelayer.h>

Inheritance diagram for QgsLayerTreeLayer:
Inheritance graph
[legend]

Signals

void layerLoaded ()
 emitted when a previously unavailable layer got loaded
void layerWillBeUnloaded ()
 emitted when a previously available layer got unloaded (from layer registry)
- Signals inherited from QgsLayerTreeNode
void willAddChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be added to a node within the tree.
void addedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes have been added to a node within the tree.
void willRemoveChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes will be removed from a node within the tree.
void removedChildren (QgsLayerTreeNode *node, int indexFrom, int indexTo)
 Emitted when one or more nodes has been removed from a node within the tree.
void visibilityChanged (QgsLayerTreeNode *node, Qt::CheckState state)
 Emitted when check state of a node within the tree has been changed.
void customPropertyChanged (QgsLayerTreeNode *node, QString key)
 Emitted when a custom property of a node within the tree has been changed or removed.
void expandedChanged (QgsLayerTreeNode *node, bool expanded)
 Emitted when the collapsed/expanded state of a node within the tree has been changed.

Public Member Functions

 QgsLayerTreeLayer (QgsMapLayer *layer)
 QgsLayerTreeLayer (const QgsLayerTreeLayer &other)
 QgsLayerTreeLayer (QString layerId, QString name=QString())
QString layerId () const
QgsMapLayerlayer () const
QString layerName () const
void setLayerName (const QString &n)
Qt::CheckState isVisible () const
void setVisible (Qt::CheckState visible)
virtual void writeXML (QDomElement &parentElement)
 Write layer tree to XML.
virtual QString dump () const
 Return string with layer tree structure. For debug purposes only.
virtual QgsLayerTreeNodeclone () const
 Create a copy of the node. Returns new instance.
- Public Member Functions inherited from QgsLayerTreeNode
 ~QgsLayerTreeNode ()
NodeType nodeType ()
 Find out about type of the node. It is usually shorter to use convenience functions from QgsLayerTree namespace for that.
QgsLayerTreeNodeparent ()
 Get pointer to the parent. If parent is a null pointer, the node is a root node.
QList< QgsLayerTreeNode * > children ()
 Get list of children of the node. Children are owned by the parent.
bool isExpanded () const
 Return whether the node should be shown as expanded or collapsed in GUI.
void setExpanded (bool expanded)
 Set whether the node should be shown as expanded or collapsed in GUI.
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for the node.
QVariant customProperty (const QString &key, const QVariant &defaultValue=QVariant()) const
 Read a custom property from layer.
void removeCustomProperty (const QString &key)
 Remove a custom property from layer.
QStringList customProperties () const
 Return list of keys stored in custom properties.

Static Public Member Functions

static QgsLayerTreeLayerreadXML (QDomElement &element)
 Read layer tree from XML. Returns new instance.

Protected Slots

void registryLayersAdded (QList< QgsMapLayer * > layers)
void registryLayersWillBeRemoved (const QStringList &layerIds)

Protected Member Functions

void attachToLayer ()
- Protected Member Functions inherited from QgsLayerTreeNode
 QgsLayerTreeNode (NodeType t)
 QgsLayerTreeNode (const QgsLayerTreeNode &other)
void readCommonXML (QDomElement &element)
void writeCommonXML (QDomElement &element)
void insertChildrenPrivate (int index, QList< QgsLayerTreeNode * > nodes)
 Low-level insertion of children to the node. The children must not have any parent yet!
void removeChildrenPrivate (int from, int count)
 Low-level removal of children from the node.

Protected Attributes

QString mLayerId
QString mLayerName
QgsMapLayermLayer
Qt::CheckState mVisible
- Protected Attributes inherited from QgsLayerTreeNode
NodeType mNodeType
 type of the node - determines which subclass is used
QgsLayerTreeNodemParent
 pointer to the parent node - null in case of root node
QList< QgsLayerTreeNode * > mChildren
 list of children - node is responsible for their deletion
bool mExpanded
 whether the node should be shown in GUI as expanded
QgsObjectCustomProperties mProperties
 custom properties attached to the node

Additional Inherited Members

- Public Types inherited from QgsLayerTreeNode
enum  NodeType { NodeGroup, NodeLayer }
 Enumeration of possible tree node types. More...

Detailed Description

Layer tree node points to a map layer.

When using with existing QgsMapLayer instance, it is expected that the layer has been registered in QgsMapLayerRegistry earlier.

The node can exist also without a valid instance of a layer (just ID). That means the referenced layer does not need to be loaded in order to use it in layer tree. In such case, the node will start listening to map layer registry updates in expectation that the layer (identified by its ID) will be loaded later.

A map layer is supposed to be present in one layer tree just once. It is however possible that temporarily a layer exists in one tree more than just once, e.g. while reordering items with drag and drop.

Note
added in 2.4

Constructor & Destructor Documentation

QgsLayerTreeLayer::QgsLayerTreeLayer ( QgsMapLayer layer)
explicit
QgsLayerTreeLayer::QgsLayerTreeLayer ( const QgsLayerTreeLayer other)
QgsLayerTreeLayer::QgsLayerTreeLayer ( QString  layerId,
QString  name = QString() 
)
explicit

Member Function Documentation

void QgsLayerTreeLayer::attachToLayer ( )
protected
QgsLayerTreeNode * QgsLayerTreeLayer::clone ( ) const
virtual

Create a copy of the node. Returns new instance.

Implements QgsLayerTreeNode.

QString QgsLayerTreeLayer::dump ( ) const
virtual

Return string with layer tree structure. For debug purposes only.

Implements QgsLayerTreeNode.

Qt::CheckState QgsLayerTreeLayer::isVisible ( ) const
inline
QgsMapLayer* QgsLayerTreeLayer::layer ( ) const
inline
QString QgsLayerTreeLayer::layerId ( ) const
inline
void QgsLayerTreeLayer::layerLoaded ( )
signal

emitted when a previously unavailable layer got loaded

QString QgsLayerTreeLayer::layerName ( ) const
void QgsLayerTreeLayer::layerWillBeUnloaded ( )
signal

emitted when a previously available layer got unloaded (from layer registry)

Note
added in 2.6
QgsLayerTreeLayer * QgsLayerTreeLayer::readXML ( QDomElement &  element)
static

Read layer tree from XML. Returns new instance.

Reimplemented from QgsLayerTreeNode.

void QgsLayerTreeLayer::registryLayersAdded ( QList< QgsMapLayer * >  layers)
protectedslot
void QgsLayerTreeLayer::registryLayersWillBeRemoved ( const QStringList &  layerIds)
protectedslot
void QgsLayerTreeLayer::setLayerName ( const QString &  n)
void QgsLayerTreeLayer::setVisible ( Qt::CheckState  visible)
void QgsLayerTreeLayer::writeXML ( QDomElement &  parentElement)
virtual

Write layer tree to XML.

Implements QgsLayerTreeNode.

Member Data Documentation

QgsMapLayer* QgsLayerTreeLayer::mLayer
protected
QString QgsLayerTreeLayer::mLayerId
protected
QString QgsLayerTreeLayer::mLayerName
protected
Qt::CheckState QgsLayerTreeLayer::mVisible
protected

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