QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
layertree
qgslayertreefiltersettings.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgslayertreefiltersettings.h
3
--------------------------------------
4
Date : March 2023
5
Copyright : (C) 2023 by Nyall Dawson
6
Email : nyall dot dawson 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 QGSLAYERTREEFILTERSETTINGS_H
17
#define QGSLAYERTREEFILTERSETTINGS_H
18
19
#include <memory>
20
21
#include "
qgis.h
"
22
#include "qgis_core.h"
23
#include "
qgsexpressioncontext.h
"
24
#include "
qgsgeometry.h
"
25
#include "
qgsmaplayer.h
"
26
27
#include <QMap>
28
#include <QString>
29
30
class
QgsMapSettings
;
31
class
QgsLayerTree
;
32
class
QgsReferencedGeometry
;
33
40
class
CORE_EXPORT
QgsLayerTreeFilterSettings
41
{
42
public
:
46
explicit
QgsLayerTreeFilterSettings
(
const
QgsMapSettings
&settings );
47
48
~QgsLayerTreeFilterSettings
();
49
50
QgsLayerTreeFilterSettings
(
const
QgsLayerTreeFilterSettings
&other );
51
52
QgsLayerTreeFilterSettings
&
operator=
(
const
QgsLayerTreeFilterSettings
&other );
53
57
QgsMapSettings
&
mapSettings
();
58
65
QMap<QString, QString>
layerFilterExpressions
()
const
;
66
72
void
setLayerFilterExpressions
(
const
QMap<QString, QString> &expressions );
73
77
void
setLayerFilterExpressionsFromLayerTree
(
QgsLayerTree
*tree );
78
86
QString
layerFilterExpression
(
const
QString &layerId )
const
;
87
98
QgsGeometry
filterPolygon
()
const
;
99
110
void
setFilterPolygon
(
const
QgsGeometry
&polygon );
111
117
Qgis::LayerTreeFilterFlags
flags
()
const
;
118
124
void
setFlags
(
Qgis::LayerTreeFilterFlags
flags
);
125
134
void
addVisibleExtentForLayer
(
QgsMapLayer
*layer,
const
QgsReferencedGeometry
&polygon );
135
146
QgsGeometry
combinedVisibleExtentForLayer
(
const
QgsMapLayer
*layer );
147
156
QList<QgsMapLayer *>
layers
()
const
;
157
158
private
:
159
QMap<QString, QString> mLayerFilterExpressions;
160
161
std::unique_ptr<QgsMapSettings> mMapSettings;
162
163
QgsGeometry
mFilterPolygon;
164
165
Qgis::LayerTreeFilterFlags
mFlags;
166
167
QgsWeakMapLayerPointerList
mLayers;
168
169
// geometry must be in layer CRS
170
QMap<QString, QVector< QgsGeometry > > mLayerExtents;
171
};
172
173
#endif
// QGSLAYERTREEFILTERSETTINGS_H
Qgis::LayerTreeFilterFlags
QFlags< LayerTreeFilterFlag > LayerTreeFilterFlags
Layer tree filter flags.
Definition
qgis.h:5058
QgsGeometry
A geometry is the spatial representation of a feature.
Definition
qgsgeometry.h:267
QgsLayerTreeFilterSettings::mapSettings
QgsMapSettings & mapSettings()
Returns the map settings used to filter the legend content.
Definition
qgslayertreefiltersettings.cpp:61
QgsLayerTreeFilterSettings::filterPolygon
QgsGeometry filterPolygon() const
Returns the optional filter polygon, used when testing for symbols to show in the legend.
Definition
qgslayertreefiltersettings.cpp:97
QgsLayerTreeFilterSettings::addVisibleExtentForLayer
void addVisibleExtentForLayer(QgsMapLayer *layer, const QgsReferencedGeometry &polygon)
Adds a visible extent polygon for a map layer.
Definition
qgslayertreefiltersettings.cpp:117
QgsLayerTreeFilterSettings::layerFilterExpression
QString layerFilterExpression(const QString &layerId) const
Returns the filter expression to use for the layer with the specified layerId, or an empty string if ...
Definition
qgslayertreefiltersettings.cpp:92
QgsLayerTreeFilterSettings::layers
QList< QgsMapLayer * > layers() const
Returns the layers which should be shown in the legend.
Definition
qgslayertreefiltersettings.cpp:171
QgsLayerTreeFilterSettings::flags
Qgis::LayerTreeFilterFlags flags() const
Returns the filter flags.
Definition
qgslayertreefiltersettings.cpp:107
QgsLayerTreeFilterSettings::layerFilterExpressions
QMap< QString, QString > layerFilterExpressions() const
Returns the map of layer IDs to legend filter expression.
Definition
qgslayertreefiltersettings.cpp:66
QgsLayerTreeFilterSettings::~QgsLayerTreeFilterSettings
~QgsLayerTreeFilterSettings()
QgsLayerTreeFilterSettings::setFilterPolygon
void setFilterPolygon(const QgsGeometry &polygon)
Sets the optional filter polygon, used when testing for symbols to show in the legend.
Definition
qgslayertreefiltersettings.cpp:102
QgsLayerTreeFilterSettings::setLayerFilterExpressionsFromLayerTree
void setLayerFilterExpressionsFromLayerTree(QgsLayerTree *tree)
Sets layer filter expressions using a layer tree.
Definition
qgslayertreefiltersettings.cpp:76
QgsLayerTreeFilterSettings::QgsLayerTreeFilterSettings
QgsLayerTreeFilterSettings(const QgsMapSettings &settings)
Constructor for QgsLayerTreeFilterSettings, using the specified map settings.
Definition
qgslayertreefiltersettings.cpp:30
QgsLayerTreeFilterSettings::setFlags
void setFlags(Qgis::LayerTreeFilterFlags flags)
Sets the filter flags.
Definition
qgslayertreefiltersettings.cpp:112
QgsLayerTreeFilterSettings::setLayerFilterExpressions
void setLayerFilterExpressions(const QMap< QString, QString > &expressions)
Sets the map of layer IDs to legend filter expression.
Definition
qgslayertreefiltersettings.cpp:71
QgsLayerTreeFilterSettings::operator=
QgsLayerTreeFilterSettings & operator=(const QgsLayerTreeFilterSettings &other)
Definition
qgslayertreefiltersettings.cpp:47
QgsLayerTreeFilterSettings::combinedVisibleExtentForLayer
QgsGeometry combinedVisibleExtentForLayer(const QgsMapLayer *layer)
Returns the combined visible extent for a layer.
Definition
qgslayertreefiltersettings.cpp:134
QgsLayerTree
Namespace with helper functions for layer tree operations.
Definition
qgslayertree.h:37
QgsMapLayer
Base class for all map layer types.
Definition
qgsmaplayer.h:83
QgsMapSettings
Contains configuration for rendering maps.
Definition
qgsmapsettings.h:91
QgsReferencedGeometry
A QgsGeometry with associated coordinate reference system.
Definition
qgsreferencedgeometry.h:147
qgis.h
qgsexpressioncontext.h
qgsgeometry.h
qgsmaplayer.h
QgsWeakMapLayerPointerList
QList< QgsWeakMapLayerPointer > QgsWeakMapLayerPointerList
A list of weak pointers to QgsMapLayers.
Definition
qgsmaplayer.h:2594
Generated on
for QGIS API Documentation by
1.17.0