Skip to content

Commit

Permalink
Make distance based renderers much faster when filters are present
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Sep 29, 2016
1 parent 3aeef8d commit 3f590f0
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions python/core/symbology-ng/qgspointdistancerenderer.sip
Expand Up @@ -68,6 +68,7 @@ class QgsPointDistanceRenderer : QgsFeatureRenderer
bool legendSymbolItemsCheckable() const;
bool legendSymbolItemChecked( const QString& key );
void checkLegendSymbolItem( const QString& key, bool state );
virtual QString filter( const QgsFields& fields = QgsFields() );

/** Sets the attribute name for labeling points.
* @param name attribute name, or empty string to avoid labeling features by the renderer
Expand Down
8 changes: 8 additions & 0 deletions src/core/symbology-ng/qgspointdistancerenderer.cpp
Expand Up @@ -185,6 +185,14 @@ void QgsPointDistanceRenderer::checkLegendSymbolItem( const QString& key, bool s
return mRenderer->checkLegendSymbolItem( key, state );
}

QString QgsPointDistanceRenderer::filter( const QgsFields& fields )
{
if ( !mRenderer )
return QgsFeatureRenderer::filter( fields );
else
return mRenderer->filter( fields );
}

QList<QString> QgsPointDistanceRenderer::usedAttributes()
{
QList<QString> attributeList;
Expand Down
1 change: 1 addition & 0 deletions src/core/symbology-ng/qgspointdistancerenderer.h
Expand Up @@ -94,6 +94,7 @@ class CORE_EXPORT QgsPointDistanceRenderer: public QgsFeatureRenderer
bool legendSymbolItemsCheckable() const override;
bool legendSymbolItemChecked( const QString& key ) override;
void checkLegendSymbolItem( const QString& key, bool state ) override;
virtual QString filter( const QgsFields& fields = QgsFields() ) override;

/** Sets the attribute name for labeling points.
* @param name attribute name, or empty string to avoid labeling features by the renderer
Expand Down

0 comments on commit 3f590f0

Please sign in to comment.