QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
QgsFeatureExpressionFilterProvider Class Reference

A feature filter provider allowing to set filter expressions on a per-layer basis. More...

#include <qgsfeatureexpressionfilterprovider.h>

Inheritance diagram for QgsFeatureExpressionFilterProvider:

Public Member Functions

 QgsFeatureExpressionFilterProvider ()=default
 Constructor.
QgsFeatureExpressionFilterProviderclone () const override
 Create a clone of the feature filter provider.
Q_DECL_DEPRECATED void filterFeatures (const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures) const override
 Add additional filters to the feature request to further restrict the features returned by the request.
void filterFeatures (const QString &layerId, QgsFeatureRequest &filterFeatures) const override
 Add additional filters to the feature request to further restrict the features returned by the request.
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.
void setFilter (const QString &layerId, const QgsExpression &expression)
 Set a filter for the given layer.
Public Member Functions inherited from QgsFeatureFilterProvider
 QgsFeatureFilterProvider ()=default
virtual ~QgsFeatureFilterProvider ()=default
virtual Q_DECL_DEPRECATED bool isFilterThreadSafe () const
 Returns true if the filterFeature function is thread safe, which will lead to reliance on layer ID instead of the raw layer pointer.

Detailed Description

A feature filter provider allowing to set filter expressions on a per-layer basis.

Since
QGIS 4.0

Definition at line 34 of file qgsfeatureexpressionfilterprovider.h.

Constructor & Destructor Documentation

◆ QgsFeatureExpressionFilterProvider()

QgsFeatureExpressionFilterProvider::QgsFeatureExpressionFilterProvider ( )
default

Constructor.

Member Function Documentation

◆ clone()

QgsFeatureExpressionFilterProvider * QgsFeatureExpressionFilterProvider::clone ( ) const
overridevirtual

Create a clone of the feature filter provider.

Returns
a new clone

Implements QgsFeatureFilterProvider.

Definition at line 44 of file qgsfeatureexpressionfilterprovider.cpp.

◆ filterFeatures() [1/2]

void QgsFeatureExpressionFilterProvider::filterFeatures ( const QgsVectorLayer * layer,
QgsFeatureRequest & featureRequest ) const
overridevirtual

Add additional filters to the feature request to further restrict the features returned by the request.

Derived classes must implement this method.

Parameters
layerthe layer to filter
featureRequestthe feature request to update
Deprecated
QGIS 4.0. Use the layer ID variant.

Reimplemented from QgsFeatureFilterProvider.

Definition at line 24 of file qgsfeatureexpressionfilterprovider.cpp.

◆ filterFeatures() [2/2]

void QgsFeatureExpressionFilterProvider::filterFeatures ( const QString & layerId,
QgsFeatureRequest & featureRequest ) const
overridevirtual

Add additional filters to the feature request to further restrict the features returned by the request.

Derived classes must implement this method.

Parameters
layerIdthe layer ID to filter
featureRequestthe feature request to update
Since
QGIS 4.0

Reimplemented from QgsFeatureFilterProvider.

Definition at line 29 of file qgsfeatureexpressionfilterprovider.cpp.

◆ layerAttributes()

QStringList QgsFeatureExpressionFilterProvider::layerAttributes ( const QgsVectorLayer * layer,
const QStringList & attributes ) const
overridevirtual

Returns the list of visible attribute names from a list of attributes names for the given layer.

Since
QGIS 3.18

Implements QgsFeatureFilterProvider.

Definition at line 38 of file qgsfeatureexpressionfilterprovider.cpp.

◆ setFilter()

void QgsFeatureExpressionFilterProvider::setFilter ( const QString & layerId,
const QgsExpression & expression )

Set a filter for the given layer.

Parameters
layerIdthe layer to filter
expressionthe filter expression

Definition at line 51 of file qgsfeatureexpressionfilterprovider.cpp.


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