QGIS API Documentation 3.99.0-Master (a26b91b364d)
Public Member Functions | List of all members
QgsFeatureFilterProvider Class Referenceabstract

Abstract interface for use by classes that filter the features or attributes of a layer. More...

#include <qgsfeaturefilterprovider.h>

Inheritance diagram for QgsFeatureFilterProvider:
Inheritance graph
[legend]

Public Member Functions

 QgsFeatureFilterProvider ()=default
 
virtual ~QgsFeatureFilterProvider ()=default
 
virtual QgsFeatureFilterProviderclone () const =0
 Create a clone of the feature filter provider.
 
virtual Q_DECL_DEPRECATED void filterFeatures (const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest) const
 Add additional filters to the feature request to further restrict the features returned by the request.
 
virtual void filterFeatures (const QString &layerId, QgsFeatureRequest &featureRequest) const
 Add additional filters to the feature request to further restrict the features returned by the request.
 
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.
 
virtual QStringList layerAttributes (const QgsVectorLayer *layer, const QStringList &attributes) const =0
 Returns the list of visible attribute names from a list of attributes names for the given layer.
 

Detailed Description

Abstract interface for use by classes that filter the features or attributes of a layer.

A QgsFeatureFilterProvider provides a method for modifying a QgsFeatureRequest in place to apply additional filters to the request, since QGIS 3.18 a method to filter allowed attributes is also available.

Definition at line 41 of file qgsfeaturefilterprovider.h.

Constructor & Destructor Documentation

◆ QgsFeatureFilterProvider()

QgsFeatureFilterProvider::QgsFeatureFilterProvider ( )
default

◆ ~QgsFeatureFilterProvider()

virtual QgsFeatureFilterProvider::~QgsFeatureFilterProvider ( )
virtualdefault

Member Function Documentation

◆ clone()

virtual QgsFeatureFilterProvider * QgsFeatureFilterProvider::clone ( ) const
pure virtual

Create a clone of the feature filter provider.

Returns
a new clone

Implemented in QgsFeatureExpressionFilterProvider, QgsGroupedFeatureFilterProvider, QgsAccessControl, QgsDimensionFilter, QgsFeatureFilter, and QgsFeatureFilterProviderGroup.

◆ filterFeatures() [1/2]

virtual Q_DECL_DEPRECATED void QgsFeatureFilterProvider::filterFeatures ( const QgsVectorLayer layer,
QgsFeatureRequest featureRequest 
) const
inlinevirtual

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 in QgsFeatureExpressionFilterProvider, QgsGroupedFeatureFilterProvider, QgsAccessControl, QgsDimensionFilter, QgsFeatureFilter, and QgsFeatureFilterProviderGroup.

Definition at line 68 of file qgsfeaturefilterprovider.h.

◆ filterFeatures() [2/2]

virtual void QgsFeatureFilterProvider::filterFeatures ( const QString &  layerId,
QgsFeatureRequest featureRequest 
) const
inlinevirtual

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 in QgsFeatureExpressionFilterProvider, and QgsGroupedFeatureFilterProvider.

Definition at line 81 of file qgsfeaturefilterprovider.h.

◆ isFilterThreadSafe()

virtual Q_DECL_DEPRECATED bool QgsFeatureFilterProvider::isFilterThreadSafe ( ) const
inlinevirtual

Returns true if the filterFeature function is thread safe, which will lead to reliance on layer ID instead of the raw layer pointer.

Since
QGIS 4.0
Deprecated:
QGIS 4.0

Reimplemented in QgsGroupedFeatureFilterProvider, QgsAccessControl, QgsDimensionFilter, QgsFeatureFilter, and QgsFeatureFilterProviderGroup.

Definition at line 59 of file qgsfeaturefilterprovider.h.

◆ layerAttributes()

virtual QStringList QgsFeatureFilterProvider::layerAttributes ( const QgsVectorLayer layer,
const QStringList &  attributes 
) const
pure virtual

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

Since
QGIS 3.18

Implemented in QgsFeatureExpressionFilterProvider, QgsGroupedFeatureFilterProvider, QgsAccessControl, QgsDimensionFilter, QgsFeatureFilter, and QgsFeatureFilterProviderGroup.


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