QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
src
core
layertree
qgslayertreegroup.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgslayertreegroup.h
3
--------------------------------------
4
Date : May 2014
5
Copyright : (C) 2014 by Martin Dobias
6
Email : wonder dot sk at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSLAYERTREEGROUP_H
17
#define QGSLAYERTREEGROUP_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
#include "
qgslayertreenode.h
"
22
23
class
QgsMapLayer
;
24
class
QgsLayerTreeLayer
;
25
34
class
CORE_EXPORT
QgsLayerTreeGroup
:
public
QgsLayerTreeNode
35
{
36
Q_OBJECT
37
public
:
38
42
QgsLayerTreeGroup
(
const
QString &name = QString(),
bool
checked =
true
);
43
44
#ifndef SIP_RUN
45
QgsLayerTreeGroup
(
const
QgsLayerTreeGroup
&other );
46
#endif
47
51
QString
name
()
const override
;
52
56
void
setName
(
const
QString &n )
override
;
57
61
QgsLayerTreeGroup
*insertGroup(
int
index,
const
QString &name );
62
66
QgsLayerTreeGroup
*addGroup(
const
QString &name );
67
71
QgsLayerTreeLayer
*insertLayer(
int
index,
QgsMapLayer
*layer );
72
76
QgsLayerTreeLayer
*addLayer(
QgsMapLayer
*layer );
77
81
void
insertChildNodes(
int
index,
const
QList<QgsLayerTreeNode *> &nodes
SIP_TRANSFER
);
82
86
void
insertChildNode(
int
index,
QgsLayerTreeNode
*node
SIP_TRANSFER
);
87
91
void
addChildNode(
QgsLayerTreeNode
*node
SIP_TRANSFER
);
92
96
void
removeChildNode(
QgsLayerTreeNode
*node );
97
101
void
removeLayer(
QgsMapLayer
*layer );
102
106
void
removeChildren(
int
from,
int
count );
107
111
void
removeChildrenGroupWithoutLayers();
112
116
void
removeAllChildren();
117
122
QgsLayerTreeLayer
*findLayer(
QgsMapLayer
*layer )
const
;
123
127
QgsLayerTreeLayer
*findLayer(
const
QString &layerId )
const
;
128
132
QList<QgsLayerTreeLayer *> findLayers()
const
;
133
137
QStringList findLayerIds()
const
;
138
142
QgsLayerTreeGroup
*findGroup(
const
QString &name );
143
147
QList<QgsLayerTreeGroup *> findGroups()
const
;
148
153
static
QgsLayerTreeGroup
*
readXml
( QDomElement &element,
const
QgsReadWriteContext
&context )
SIP_FACTORY
;
154
160
static
QgsLayerTreeGroup
*
readXml
( QDomElement &element,
const
QgsProject
*project,
const
QgsReadWriteContext
&context )
SIP_FACTORY
;
161
165
void
writeXml
( QDomElement &parentElement,
const
QgsReadWriteContext
&context )
override
;
166
171
void
readChildrenFromXml( QDomElement &element,
const
QgsReadWriteContext
&context );
172
176
QString
dump
()
const override
;
177
181
QgsLayerTreeGroup
*
clone
()
const
override
SIP_FACTORY
;
182
187
void
resolveReferences
(
const
QgsProject
*project,
bool
looseMatching =
false
)
override
;
188
192
void
setItemVisibilityCheckedRecursive
(
bool
checked )
override
;
193
198
bool
isMutuallyExclusive()
const
;
199
206
void
setIsMutuallyExclusive(
bool
enabled,
int
initialChildIndex = -1 );
207
208
protected
slots:
209
void
nodeVisibilityChanged(
QgsLayerTreeNode
*node );
210
211
protected
:
212
216
void
updateChildVisibilityMutuallyExclusive();
217
218
QString
mName
;
219
220
bool
mChangingChildVisibility =
false
;
221
223
bool
mMutuallyExclusive =
false
;
224
229
int
mMutuallyExclusiveChildIndex = -1;
230
231
private
:
232
233
#ifdef SIP_RUN
234
238
QgsLayerTreeGroup
(
const
QgsLayerTreeGroup
&other );
239
#endif
240
241
QgsLayerTreeGroup
&operator= (
const
QgsLayerTreeGroup
& ) =
delete
;
242
243
};
244
245
246
#endif // QGSLAYERTREEGROUP_H
QgsLayerTreeNode
This class is a base class for nodes in a layer tree.
Definition:
qgslayertreenode.h:75
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition:
qgsreadwritecontext.h:35
QgsLayerTreeGroup::mName
QString mName
Definition:
qgslayertreegroup.h:218
QgsLayerTreeNode::resolveReferences
virtual void resolveReferences(const QgsProject *project, bool looseMatching=false)=0
Turn textual references to layers into map layer object from project.
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition:
qgsproject.h:95
SIP_FACTORY
#define SIP_FACTORY
Definition:
qgis_sip.h:76
QgsLayerTreeNode::dump
virtual QString dump() const =0
Returns string with layer tree structure. For debug purposes only.
QgsLayerTreeLayer
Layer tree node points to a map layer.
Definition:
qgslayertreelayer.h:44
QgsLayerTreeNode::writeXml
virtual void writeXml(QDomElement &parentElement, const QgsReadWriteContext &context)=0
Write layer tree to XML.
qgis_sip.h
SIP_TRANSFER
#define SIP_TRANSFER
Definition:
qgis_sip.h:36
QgsLayerTreeGroup
Layer tree group node serves as a container for layers and further groups.
Definition:
qgslayertreegroup.h:35
QgsLayerTreeNode::readXml
static QgsLayerTreeNode * readXml(QDomElement &element, const QgsReadWriteContext &context)
Read layer tree from XML.
Definition:
qgslayertreenode.cpp:51
QgsLayerTreeNode::setItemVisibilityCheckedRecursive
virtual void setItemVisibilityCheckedRecursive(bool checked)
Check or uncheck a node and all its children (taking into account exclusion rules)
Definition:
qgslayertreenode.cpp:86
QgsLayerTreeNode::setName
virtual void setName(const QString &name)=0
Set name of the node.
QgsMapLayer
Base class for all map layer types.
Definition:
qgsmaplayer.h:83
qgslayertreenode.h
QgsLayerTreeNode::clone
virtual QgsLayerTreeNode * clone() const =0
Create a copy of the node. Returns new instance.
QgsLayerTreeNode::name
virtual QString name() const =0
Returns name of the node.
Generated on Sat Oct 24 2020 17:43:09 for QGIS API Documentation by
1.8.20