26using namespace Qt::StringLiterals;
77 return qobject_cast<QgsLayerTreeGroup *>( node );
87 return qobject_cast<QgsLayerTreeLayer *>( node );
97 return qobject_cast< const QgsLayerTreeLayer *>( node );
108 return qobject_cast<QgsLayerTreeCustomNode *>( node );
117 SIP_PYOBJECT __repr__();
120 QString str = u
"<qgis._core.QgsLayerTree object at 0x%1>"_s.arg(
reinterpret_cast<quintptr
>( sipCpp ), 2 * QT_POINTER_SIZE, 16,
'0'_L1 );
121 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
135 QList<QgsMapLayer *> customLayerOrder()
const;
147 void setCustomLayerOrder(
const QList<QgsMapLayer *> &customLayerOrder );
159 void setCustomLayerOrder(
const QStringList &customLayerOrder )
SIP_PYNAME( setCustomLayerOrderByIds );
170 QList<QgsMapLayer *> layerOrder()
const;
179 bool hasCustomLayerOrder()
const;
188 void setHasCustomLayerOrder(
bool hasCustomLayerOrder );
205 QList<QgsLayerTreeNode *> layerAndCustomNodeOrder()
const;
221 void readLayerOrderFromXml(
const QDomElement &doc );
256 void nodeAddedChildren(
QgsLayerTreeNode *node,
int indexFrom,
int indexTo );
257 void nodeRemovedChildren();
264 void addMissingLayers();
266 bool mHasCustomLayerOrder = false;
Layer tree custom node serves as a node for objects that are not layers nor groups.
void writeXml(QDomElement &parentElement, const QgsReadWriteContext &context) override
Write group (tree) as XML element <layer-tree-group> and add it to the given parent element.
QgsLayerTreeGroup(const QString &name=QString(), bool checked=true)
Constructor.
QgsLayerTreeGroup * clone() const override
Returns a clone of the group.
static QgsLayerTreeGroup * readXml(const QDomElement &element, const QgsReadWriteContext &context)
Read group (tree) from XML element <layer-tree-group> and return the newly created group (or nullptr ...
Layer tree node points to a map layer.
@ NodeCustom
Leaf node pointing to a custom object.
@ NodeGroup
Container of other groups and layers.
@ NodeLayer
Leaf node pointing to a layer.
QgsLayerTreeNode(NodeType t, bool checked=true)
Constructor.
NodeType nodeType() const
Find out about type of the node. It is usually shorter to use convenience functions from QgsLayerTree...
Namespace with helper functions for layer tree operations.
bool hasCustomLayerOrder() const
Determines if the layer order should be derived from the layer tree or if a custom override order sha...
void customLayerOrderChanged()
Emitted when the custom layer order has changed.
static QgsLayerTreeLayer * toLayer(QgsLayerTreeNode *node)
Cast node to a layer.
QgsLayerTree()
Create a new empty layer tree.
void hasCustomLayerOrderChanged(bool hasCustomLayerOrder)
Emitted when the hasCustomLayerOrder flag changes.
static bool isLayer(const QgsLayerTreeNode *node)
Check whether the node is a valid layer node.
static const QgsLayerTreeLayer * toLayer(const QgsLayerTreeNode *node)
Cast node to a layer.
static bool isGroup(QgsLayerTreeNode *node)
Check whether the node is a valid group node.
static QgsLayerTreeGroup * toGroup(QgsLayerTreeNode *node)
Cast node to a group.
void layerOrderChanged()
Emitted when the layer order has changed.
static bool isCustomNode(const QgsLayerTreeNode *node)
Check whether the node is a valid custom node.
static QgsLayerTreeCustomNode * toCustomNode(QgsLayerTreeNode *node)
Cast node to a custom node.
A container for the context for various read/write operations on objects.
QList< QgsWeakMapLayerPointer > QgsWeakMapLayerPointerList
A list of weak pointers to QgsMapLayers.