QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
server
qgsfeaturefilter.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsfeaturefilter.cpp
3
--------------------
4
begin : 26-10-2017
5
copyright : (C) 2017 by Patrick Valsecchi
6
email : patrick dot valsecchi at camptocamp dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#include "
qgsfeaturefilter.h
"
19
20
#include "
qgsexpression.h
"
21
#include "
qgsfeaturerequest.h
"
22
#include "
qgsvectorlayer.h
"
23
24
void
QgsFeatureFilter::filterFeatures
(
const
QgsVectorLayer
*layer,
QgsFeatureRequest
&
filterFeatures
)
const
25
{
26
const
QString expr = mFilters[layer->
id
()];
27
if
( !expr.isEmpty() )
28
{
29
filterFeatures
.setFilterExpression( expr );
30
}
31
}
32
33
QStringList
QgsFeatureFilter::layerAttributes
(
const
QgsVectorLayer
*,
const
QStringList &attributes )
const
34
{
35
// Do nothing
36
return
attributes;
37
}
38
39
QgsFeatureFilterProvider
*
QgsFeatureFilter::clone
()
const
40
{
41
auto
result =
new
QgsFeatureFilter
();
42
result->mFilters = mFilters;
43
return
result;
44
}
45
46
void
QgsFeatureFilter::setFilter
(
const
QgsVectorLayer
*layer,
const
QgsExpression
&filter )
47
{
48
mFilters[layer->
id
()] = filter.
dump
();
49
}
QgsExpression
Handles parsing and evaluation of expressions (formerly called "search strings").
Definition
qgsexpression.h:197
QgsExpression::dump
QString dump() const
Returns an expression string, constructed from the internal abstract syntax tree.
Definition
qgsexpression.cpp:439
QgsFeatureFilterProvider::QgsFeatureFilterProvider
QgsFeatureFilterProvider()=default
QgsFeatureFilter::setFilter
void setFilter(const QgsVectorLayer *layer, const QgsExpression &expression)
Set a filter for the given layer.
Definition
qgsfeaturefilter.cpp:46
QgsFeatureFilter::QgsFeatureFilter
QgsFeatureFilter()=default
Constructor.
QgsFeatureFilter::layerAttributes
QStringList layerAttributes(const QgsVectorLayer *layer, const QStringList &attributes) const override
Returns the list of visible attribute names from a list of attributes names for the given layer.
Definition
qgsfeaturefilter.cpp:33
QgsFeatureFilter::filterFeatures
void filterFeatures(const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures) const override
Add additional filters to the feature request to further restrict the features returned by the reques...
Definition
qgsfeaturefilter.cpp:24
QgsFeatureFilter::clone
QgsFeatureFilterProvider * clone() const override
Create a clone of the feature filter provider.
Definition
qgsfeaturefilter.cpp:39
QgsFeatureRequest
Wraps a request for features to a vector layer (or directly its vector data provider).
Definition
qgsfeaturerequest.h:85
QgsMapLayer::id
QString id
Definition
qgsmaplayer.h:86
QgsVectorLayer
Represents a vector layer which manages a vector based dataset.
Definition
qgsvectorlayer.h:414
qgsexpression.h
qgsfeaturefilter.h
qgsfeaturerequest.h
qgsvectorlayer.h
Generated on
for QGIS API Documentation by
1.17.0