diff --git a/src/core/utils/layerutils.cpp b/src/core/utils/layerutils.cpp index 973531754b..463d098c3d 100644 --- a/src/core/utils/layerutils.cpp +++ b/src/core/utils/layerutils.cpp @@ -383,3 +383,11 @@ FeatureIterator LayerUtils::createFeatureIteratorFromExpression( QgsVectorLayer const QgsFeatureRequest request = QgsFeatureRequest( QgsExpression( expression ) ); return FeatureIterator( layer, request ); } + +bool LayerUtils::setSubsetString( QgsVectorLayer *layer, const QString &expression ) +{ + if ( !layer ) + return false; + + return layer->setSubsetString( expression ); +} diff --git a/src/core/utils/layerutils.h b/src/core/utils/layerutils.h index 32cff5ef74..671f4be31d 100644 --- a/src/core/utils/layerutils.h +++ b/src/core/utils/layerutils.h @@ -139,6 +139,11 @@ class LayerUtils : public QObject * Returns a feature request to get features. */ Q_INVOKABLE static FeatureIterator createFeatureIteratorFromExpression( QgsVectorLayer *layer, const QString &expression ); + + /** + * Sets the string (typically sql) used to define a subset of the layer. Returns TRUE if the subset string was successfully applied. + */ + Q_INVOKABLE static bool setSubsetString( QgsVectorLayer *layer, const QString &expression ); }; #endif // LAYERUTILS_H