mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-26 00:08:20 -04:00
Apply featureFilterProvider in QgsVectorLayerDiagramProvider
This commit is contained in:
parent
948048cd4d
commit
a222906fcf
@ -358,6 +358,7 @@ LabelRenderJob QgsMapRendererJob::prepareLabelingJob( QPainter *painter, QgsLabe
|
|||||||
job.context.setPainter( painter );
|
job.context.setPainter( painter );
|
||||||
job.context.setLabelingEngine( labelingEngine2 );
|
job.context.setLabelingEngine( labelingEngine2 );
|
||||||
job.context.setExtent( mSettings.visibleExtent() );
|
job.context.setExtent( mSettings.visibleExtent() );
|
||||||
|
job.context.setFeatureFilterProvider( mFeatureFilterProvider );
|
||||||
|
|
||||||
// if we can use the cache, let's do it and avoid rendering!
|
// if we can use the cache, let's do it and avoid rendering!
|
||||||
bool hasCache = canUseLabelCache && mCache && mCache->hasCacheImage( LABEL_CACHE_ID );
|
bool hasCache = canUseLabelCache && mCache && mCache->hasCacheImage( LABEL_CACHE_ID );
|
||||||
|
@ -78,9 +78,13 @@ QList<QgsLabelFeature *> QgsVectorLayerDiagramProvider::labelFeatures( QgsRender
|
|||||||
QgsFeatureRequest request;
|
QgsFeatureRequest request;
|
||||||
request.setFilterRect( layerExtent );
|
request.setFilterRect( layerExtent );
|
||||||
request.setSubsetOfAttributes( attributeNames, mFields );
|
request.setSubsetOfAttributes( attributeNames, mFields );
|
||||||
|
const QgsFeatureFilterProvider *featureFilterProvider = context.featureFilterProvider();
|
||||||
|
if ( featureFilterProvider )
|
||||||
|
{
|
||||||
|
featureFilterProvider->filterFeatures( qobject_cast<QgsVectorLayer *>( mLayer ), request );
|
||||||
|
}
|
||||||
QgsFeatureIterator fit = mSource->getFeatures( request );
|
QgsFeatureIterator fit = mSource->getFeatures( request );
|
||||||
|
|
||||||
|
|
||||||
QgsFeature fet;
|
QgsFeature fet;
|
||||||
while ( fit.nextFeature( fet ) )
|
while ( fit.nextFeature( fet ) )
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user