mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
Address review
This commit is contained in:
parent
231929e6e3
commit
d31b74c0ae
@ -29,50 +29,14 @@ per-layer basis.
|
||||
Constructor
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||
|
||||
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layerId: the layer ID to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
%Docstring
|
||||
Set a filter for the given layer.
|
||||
|
||||
:param layer: the layer to filter
|
||||
:param expression: the filter expression
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
|
||||
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||
%Docstring
|
||||
|
@ -30,12 +30,14 @@ also available.
|
||||
public:
|
||||
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
|
||||
%Docstring
|
||||
Returns ``True`` if the filterFeature function is thread safe, which
|
||||
will lead to reliance on layer ID instead of the raw layer pointer.
|
||||
|
||||
.. versionadded:: 4.0
|
||||
|
||||
.. deprecated:: 4.0
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
@ -60,6 +62,8 @@ method.
|
||||
|
||||
:param layerId: the layer ID to filter
|
||||
:param featureRequest: the feature request to update
|
||||
|
||||
.. versionadded:: 4.0
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
||||
|
@ -27,41 +27,17 @@ A filter filter provider grouping several filter providers.
|
||||
Constructor
|
||||
%End
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
virtual bool isFilterThreadSafe() const /Deprecated/;
|
||||
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||
|
||||
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layerId: the layer ID to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
|
||||
%Docstring
|
||||
|
@ -1,5 +1,5 @@
|
||||
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
||||
try:
|
||||
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'clone', 'layerAttributes']
|
||||
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||
except (NameError, AttributeError):
|
||||
pass
|
||||
|
@ -37,6 +37,13 @@ Constructor
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
virtual QgsAccessControl *clone() const /Factory/;
|
||||
|
||||
|
||||
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
||||
%Docstring
|
||||
Resolve features' filter of layers The method fetch filter's expressions
|
||||
@ -51,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
|
||||
void unresolveFilterFeatures();
|
||||
%Docstring
|
||||
Clear expression's cache computed from `resolveFilterFeatures`
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
||||
@ -113,17 +103,6 @@ Returns the layer delete right
|
||||
:param layer: the layer to control
|
||||
|
||||
:return: ``True`` if we can do a delete
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
%Docstring
|
||||
Returns the authorized layer attributes
|
||||
|
||||
:param layer: the layer to control
|
||||
:param attributes: the list of attribute
|
||||
|
||||
:return: the list of visible attributes
|
||||
%End
|
||||
|
||||
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
||||
|
@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
|
||||
%Docstring(signature="appended")
|
||||
A feature filter provider allowing to set filter expressions on a
|
||||
per-layer basis.
|
||||
|
||||
.. deprecated:: 3.4
|
||||
|
||||
Use :py:class:`QgsFeatureExpressionFilterProvider`
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
@ -31,23 +35,10 @@ Constructor
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
||||
%Docstring
|
||||
|
@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
||||
{
|
||||
%Docstring(signature="appended")
|
||||
A filter filter provider grouping several filter providers.
|
||||
|
||||
.. deprecated:: 3.4
|
||||
|
||||
Use :py:class:`QgsGroupedFeatureFilterProvider`
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
@ -29,23 +33,10 @@ Constructor
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||
%Docstring
|
||||
|
@ -29,50 +29,14 @@ per-layer basis.
|
||||
Constructor
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||
|
||||
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layerId: the layer ID to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsFeatureExpressionFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
%Docstring
|
||||
Set a filter for the given layer.
|
||||
|
||||
:param layer: the layer to filter
|
||||
:param expression: the filter expression
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
|
||||
void setFilter( const QString &layerId, const QgsExpression &expression );
|
||||
%Docstring
|
||||
|
@ -30,12 +30,14 @@ also available.
|
||||
public:
|
||||
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
virtual bool isFilterThreadSafe() const /Deprecated="Since 4.0. "/;
|
||||
%Docstring
|
||||
Returns ``True`` if the filterFeature function is thread safe, which
|
||||
will lead to reliance on layer ID instead of the raw layer pointer.
|
||||
|
||||
.. versionadded:: 4.0
|
||||
|
||||
.. deprecated:: 4.0
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &featureRequest ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
@ -60,6 +62,8 @@ method.
|
||||
|
||||
:param layerId: the layer ID to filter
|
||||
:param featureRequest: the feature request to update
|
||||
|
||||
.. versionadded:: 4.0
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const = 0;
|
||||
|
@ -27,41 +27,17 @@ A filter filter provider grouping several filter providers.
|
||||
Constructor
|
||||
%End
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
virtual bool isFilterThreadSafe() const /Deprecated/;
|
||||
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated="Since 4.0. Use the layer ID variant."/;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
|
||||
.. deprecated:: 4.0
|
||||
|
||||
Use the layer ID variant.
|
||||
%End
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const /Deprecated/;
|
||||
|
||||
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layerId: the layer ID to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsGroupedFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QgsGroupedFeatureFilterProvider &addProvider( const QgsFeatureFilterProvider *provider );
|
||||
%Docstring
|
||||
|
@ -1,5 +1,5 @@
|
||||
# The following has been generated automatically from src/server/qgsaccesscontrol.h
|
||||
try:
|
||||
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'clone', 'layerAttributes']
|
||||
QgsAccessControl.__overridden_methods__ = ['isFilterThreadSafe', 'filterFeatures', 'layerAttributes', 'clone']
|
||||
except (NameError, AttributeError):
|
||||
pass
|
||||
|
@ -37,6 +37,13 @@ Constructor
|
||||
|
||||
virtual bool isFilterThreadSafe() const;
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
virtual QgsAccessControl *clone() const /Factory/;
|
||||
|
||||
|
||||
void resolveFilterFeatures( const QList<QgsMapLayer *> &layers );
|
||||
%Docstring
|
||||
Resolve features' filter of layers The method fetch filter's expressions
|
||||
@ -51,23 +58,6 @@ for efficiency; between each requests, the cache must be cleared using
|
||||
void unresolveFilterFeatures();
|
||||
%Docstring
|
||||
Clear expression's cache computed from `resolveFilterFeatures`
|
||||
%End
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QString extraSubsetString( const QgsVectorLayer *layer ) const;
|
||||
@ -113,17 +103,6 @@ Returns the layer delete right
|
||||
:param layer: the layer to control
|
||||
|
||||
:return: ``True`` if we can do a delete
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
%Docstring
|
||||
Returns the authorized layer attributes
|
||||
|
||||
:param layer: the layer to control
|
||||
:param attributes: the list of attribute
|
||||
|
||||
:return: the list of visible attributes
|
||||
%End
|
||||
|
||||
bool allowToEdit( const QgsVectorLayer *layer, const QgsFeature &feature ) const;
|
||||
|
@ -16,6 +16,10 @@ class QgsFeatureFilter : QgsFeatureFilterProvider
|
||||
%Docstring(signature="appended")
|
||||
A feature filter provider allowing to set filter expressions on a
|
||||
per-layer basis.
|
||||
|
||||
.. deprecated:: 3.4
|
||||
|
||||
Use :py:class:`QgsFeatureExpressionFilterProvider`
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
@ -31,23 +35,10 @@ Constructor
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression );
|
||||
%Docstring
|
||||
|
@ -14,6 +14,10 @@ class QgsFeatureFilterProviderGroup : QgsFeatureFilterProvider
|
||||
{
|
||||
%Docstring(signature="appended")
|
||||
A filter filter provider grouping several filter providers.
|
||||
|
||||
.. deprecated:: 3.4
|
||||
|
||||
Use :py:class:`QgsGroupedFeatureFilterProvider`
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
@ -29,23 +33,10 @@ Constructor
|
||||
|
||||
virtual void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const;
|
||||
|
||||
%Docstring
|
||||
Filter the features of the layer.
|
||||
|
||||
:param layer: the layer to control
|
||||
:param filterFeatures: the request to fill
|
||||
%End
|
||||
|
||||
virtual QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const;
|
||||
|
||||
virtual QgsFeatureFilterProviderGroup *clone() const /Factory/;
|
||||
|
||||
virtual QgsFeatureFilterProvider *clone() const /Factory/;
|
||||
|
||||
%Docstring
|
||||
Returns a clone of the object
|
||||
|
||||
:return: A clone
|
||||
%End
|
||||
|
||||
QgsFeatureFilterProviderGroup &addProvider( const QgsFeatureFilterProvider *provider );
|
||||
%Docstring
|
||||
|
@ -302,7 +302,16 @@ int QgsLayoutAtlas::updateFeatures()
|
||||
#ifdef HAVE_SERVER_PYTHON_PLUGINS
|
||||
if ( mLayout->renderContext().featureFilterProvider() )
|
||||
{
|
||||
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get()->id(), req );
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( mLayout->renderContext().featureFilterProvider()->isFilterThreadSafe() )
|
||||
{
|
||||
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get()->id(), req );
|
||||
}
|
||||
else
|
||||
{
|
||||
mLayout->renderContext().featureFilterProvider()->filterFeatures( mCoverageLayer.get(), req );
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -425,16 +425,16 @@ bool QgsLayoutItemAttributeTable::getTableContents( QgsLayoutTableContents &cont
|
||||
#ifdef HAVE_SERVER_PYTHON_PLUGINS
|
||||
if ( mLayout->renderContext().featureFilterProvider() )
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( mLayout->renderContext().featureFilterProvider()->isFilterThreadSafe() )
|
||||
{
|
||||
mLayout->renderContext().featureFilterProvider()->filterFeatures( layer->id(), req );
|
||||
}
|
||||
else
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
mLayout->renderContext().featureFilterProvider()->filterFeatures( layer, req );
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -47,11 +47,6 @@ QgsFeatureExpressionFilterProvider *QgsFeatureExpressionFilterProvider::clone()
|
||||
return filter;
|
||||
}
|
||||
|
||||
void QgsFeatureExpressionFilterProvider::setFilter( const QgsVectorLayer *layer, const QgsExpression &filter )
|
||||
{
|
||||
setFilter( layer->id(), filter );
|
||||
}
|
||||
|
||||
void QgsFeatureExpressionFilterProvider::setFilter( const QString &layerId, const QgsExpression &filter )
|
||||
{
|
||||
mFilters[layerId] = filter.dump();
|
||||
|
@ -37,37 +37,11 @@ class CORE_EXPORT QgsFeatureExpressionFilterProvider : public QgsFeatureFilterPr
|
||||
//! Constructor
|
||||
QgsFeatureExpressionFilterProvider() = default;
|
||||
|
||||
/**
|
||||
* Filter the features of the layer
|
||||
* \param layer the layer to control
|
||||
* \param filterFeatures the request to fill
|
||||
* \deprecated QGIS 4.0. Use the layer ID variant.
|
||||
*/
|
||||
Q_DECL_DEPRECATED void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override SIP_DEPRECATED;
|
||||
|
||||
/**
|
||||
* Filter the features of the layer
|
||||
* \param layerId the layer ID to control
|
||||
* \param filterFeatures the request to fill
|
||||
*/
|
||||
void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const override;
|
||||
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
|
||||
/**
|
||||
* Returns a clone of the object
|
||||
* \returns A clone
|
||||
*/
|
||||
QgsFeatureExpressionFilterProvider *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Set a filter for the given layer.
|
||||
* \param layer the layer to filter
|
||||
* \param expression the filter expression
|
||||
* \deprecated QGIS 4.0. Use the layer ID variant.
|
||||
*/
|
||||
Q_DECL_DEPRECATED void setFilter( const QgsVectorLayer *layer, const QgsExpression &expression ) SIP_DEPRECATED;
|
||||
|
||||
/**
|
||||
* Set a filter for the given layer.
|
||||
* \param layerId the layer to filter
|
||||
|
@ -54,8 +54,9 @@ class CORE_EXPORT QgsFeatureFilterProvider
|
||||
* 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
|
||||
*/
|
||||
virtual bool isFilterThreadSafe() const { return true; }
|
||||
Q_DECL_DEPRECATED virtual bool isFilterThreadSafe() const SIP_DEPRECATED { return true; }
|
||||
|
||||
/**
|
||||
* Add additional filters to the feature request to further restrict the features returned by the request.
|
||||
@ -75,6 +76,7 @@ class CORE_EXPORT QgsFeatureFilterProvider
|
||||
* Derived classes must implement this method.
|
||||
* \param layerId the layer ID to filter
|
||||
* \param featureRequest the feature request to update
|
||||
* \since QGIS 4.0
|
||||
*/
|
||||
virtual void filterFeatures( const QString &layerId, QgsFeatureRequest &featureRequest ) const
|
||||
{
|
||||
|
@ -23,10 +23,12 @@ bool QgsGroupedFeatureFilterProvider::isFilterThreadSafe() const
|
||||
{
|
||||
for ( const QgsFeatureFilterProvider *provider : mProviders )
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( !provider->isFilterThreadSafe() )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -36,16 +38,16 @@ void QgsGroupedFeatureFilterProvider::filterFeatures( const QgsVectorLayer *laye
|
||||
for ( const QgsFeatureFilterProvider *provider : mProviders )
|
||||
{
|
||||
QgsFeatureRequest temp;
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( provider->isFilterThreadSafe() )
|
||||
{
|
||||
provider->filterFeatures( layer->id(), temp );
|
||||
}
|
||||
else
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
provider->filterFeatures( layer, temp );
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
if ( auto *lFilterExpression = temp.filterExpression() )
|
||||
{
|
||||
filterFeatures.combineFilterExpression( lFilterExpression->dump() );
|
||||
|
@ -35,29 +35,11 @@ class CORE_EXPORT QgsGroupedFeatureFilterProvider : public QgsFeatureFilterProvi
|
||||
//! Constructor
|
||||
QgsGroupedFeatureFilterProvider() = default;
|
||||
|
||||
bool isFilterThreadSafe() const override;
|
||||
Q_DECL_DEPRECATED bool isFilterThreadSafe() const override SIP_DEPRECATED;
|
||||
|
||||
/**
|
||||
* Filter the features of the layer.
|
||||
* \param layer the layer to control
|
||||
* \param filterFeatures the request to fill
|
||||
* \deprecated QGIS 4.0. Use the layer ID variant.
|
||||
*/
|
||||
Q_DECL_DEPRECATED void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override SIP_DEPRECATED;
|
||||
|
||||
/**
|
||||
* Filter the features of the layer.
|
||||
* \param layerId the layer ID to control
|
||||
* \param filterFeatures the request to fill
|
||||
*/
|
||||
void filterFeatures( const QString &layerId, QgsFeatureRequest &filterFeatures ) const override;
|
||||
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
|
||||
/**
|
||||
* Returns a clone of the object
|
||||
* \returns A clone
|
||||
*/
|
||||
QgsGroupedFeatureFilterProvider *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
|
@ -91,16 +91,16 @@ QList<QgsLabelFeature *> QgsVectorLayerDiagramProvider::labelFeatures( QgsRender
|
||||
const QgsFeatureFilterProvider *featureFilterProvider = context.featureFilterProvider();
|
||||
if ( featureFilterProvider )
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( featureFilterProvider->isFilterThreadSafe() )
|
||||
{
|
||||
featureFilterProvider->filterFeatures( layerId(), request );
|
||||
}
|
||||
else
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
featureFilterProvider->filterFeatures( qobject_cast<QgsVectorLayer *>( mLayer ), request );
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
QgsFeatureIterator fit = mSource->getFeatures( request );
|
||||
|
||||
|
@ -369,16 +369,16 @@ bool QgsVectorLayerRenderer::renderInternal( QgsFeatureRenderer *renderer, int r
|
||||
const QgsFeatureFilterProvider *featureFilterProvider = context.featureFilterProvider();
|
||||
if ( featureFilterProvider )
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
if ( featureFilterProvider->isFilterThreadSafe() )
|
||||
{
|
||||
featureFilterProvider->filterFeatures( layerId(), featureRequest );
|
||||
}
|
||||
else
|
||||
{
|
||||
Q_NOWARN_DEPRECATED_PUSH
|
||||
featureFilterProvider->filterFeatures( mLayer, featureRequest );
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
Q_NOWARN_DEPRECATED_POP
|
||||
}
|
||||
if ( !rendererFilter.isEmpty() && rendererFilter != QLatin1String( "TRUE" ) )
|
||||
{
|
||||
|
@ -86,7 +86,7 @@ void QgsAccessControl::filterFeatures( const QgsVectorLayer *layer, QgsFeatureRe
|
||||
}
|
||||
|
||||
//! Clone the object
|
||||
QgsFeatureFilterProvider *QgsAccessControl::clone() const
|
||||
QgsAccessControl *QgsAccessControl::clone() const
|
||||
{
|
||||
return new QgsAccessControl( *this );
|
||||
}
|
||||
|
@ -73,6 +73,10 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
|
||||
|
||||
bool isFilterThreadSafe() const override { return false; }
|
||||
|
||||
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
QgsAccessControl *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Resolve features' filter of layers
|
||||
* The method fetch filter's expressions returned from access control plugins and
|
||||
@ -89,19 +93,6 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
|
||||
*/
|
||||
void unresolveFilterFeatures();
|
||||
|
||||
/**
|
||||
* Filter the features of the layer
|
||||
* \param layer the layer to control
|
||||
* \param filterFeatures the request to fill
|
||||
*/
|
||||
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
|
||||
|
||||
/**
|
||||
* Returns a clone of the object
|
||||
* \returns A clone
|
||||
*/
|
||||
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Returns an additional subset string (typically SQL) filter
|
||||
* \param layer the layer to control
|
||||
@ -137,14 +128,6 @@ class SERVER_EXPORT QgsAccessControl : public QgsFeatureFilterProvider
|
||||
*/
|
||||
bool layerDeletePermission( const QgsVectorLayer *layer ) const;
|
||||
|
||||
/**
|
||||
* Returns the authorized layer attributes
|
||||
* \param layer the layer to control
|
||||
* \param attributes the list of attribute
|
||||
* \returns the list of visible attributes
|
||||
*/
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
|
||||
/**
|
||||
* Are we authorized to modify the following geometry
|
||||
* \param layer the layer to control
|
||||
|
@ -17,7 +17,6 @@
|
||||
|
||||
#include "qgsdimensionfilter.h"
|
||||
#include "qgsfeaturerequest.h"
|
||||
#include "qgsvectorlayer.h"
|
||||
|
||||
QgsDimensionFilter::QgsDimensionFilter( const QHash<const QgsVectorLayer *, QStringList> dimensionFilter )
|
||||
: mDimensionFilter( dimensionFilter )
|
||||
|
@ -29,6 +29,7 @@ class QgsExpression;
|
||||
* \ingroup server
|
||||
* \class QgsFeatureFilter
|
||||
* \brief A feature filter provider allowing to set filter expressions on a per-layer basis.
|
||||
* \deprecated QGIS 3.4. Use QgsFeatureExpressionFilterProvider
|
||||
*/
|
||||
class SERVER_EXPORT QgsFeatureFilter : public QgsFeatureFilterProvider
|
||||
{
|
||||
@ -38,19 +39,8 @@ class SERVER_EXPORT QgsFeatureFilter : public QgsFeatureFilterProvider
|
||||
|
||||
bool isFilterThreadSafe() const override { return false; }
|
||||
|
||||
/**
|
||||
* Filter the features of the layer
|
||||
* \param layer the layer to control
|
||||
* \param filterFeatures the request to fill
|
||||
*/
|
||||
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
|
||||
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
|
||||
/**
|
||||
* Returns a clone of the object
|
||||
* \returns A clone
|
||||
*/
|
||||
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
|
@ -44,7 +44,7 @@ QStringList QgsFeatureFilterProviderGroup::layerAttributes( const QgsVectorLayer
|
||||
return allowedAttributes;
|
||||
}
|
||||
|
||||
QgsFeatureFilterProvider *QgsFeatureFilterProviderGroup::clone() const
|
||||
QgsFeatureFilterProviderGroup *QgsFeatureFilterProviderGroup::clone() const
|
||||
{
|
||||
auto result = new QgsFeatureFilterProviderGroup();
|
||||
result->mProviders = mProviders;
|
||||
|
@ -27,6 +27,7 @@
|
||||
* \ingroup server
|
||||
* \class QgsFeatureFilterProviderGroup
|
||||
* \brief A filter filter provider grouping several filter providers.
|
||||
* \deprecated QGIS 3.4. Use QgsGroupedFeatureFilterProvider
|
||||
*/
|
||||
class SERVER_EXPORT QgsFeatureFilterProviderGroup : public QgsFeatureFilterProvider
|
||||
{
|
||||
@ -36,20 +37,9 @@ class SERVER_EXPORT QgsFeatureFilterProviderGroup : public QgsFeatureFilterProvi
|
||||
|
||||
bool isFilterThreadSafe() const override { return false; }
|
||||
|
||||
/**
|
||||
* Filter the features of the layer.
|
||||
* \param layer the layer to control
|
||||
* \param filterFeatures the request to fill
|
||||
*/
|
||||
void filterFeatures( const QgsVectorLayer *layer, QgsFeatureRequest &filterFeatures ) const override;
|
||||
|
||||
QStringList layerAttributes( const QgsVectorLayer *layer, const QStringList &attributes ) const override;
|
||||
|
||||
/**
|
||||
* Returns a clone of the object
|
||||
* \returns A clone
|
||||
*/
|
||||
QgsFeatureFilterProvider *clone() const override SIP_FACTORY;
|
||||
QgsFeatureFilterProviderGroup *clone() const override SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Add another filter provider to the group
|
||||
|
Loading…
x
Reference in New Issue
Block a user