Skip to content

Commit 8e1b2aa

Browse files
author
mhugent
committedApr 23, 2010
Fix point displacement renderer to work with the new selection parameter
git-svn-id: http://svn.osgeo.org/qgis/trunk@13354 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 962c8dd commit 8e1b2aa

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed
 

‎src/plugins/point_displacement_renderer/qgspointdisplacementrenderer.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ QgsFeatureRendererV2* QgsPointDisplacementRenderer::clone()
6666
return r;
6767
}
6868

69-
void QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer, bool drawVertexMarker )
69+
void QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer, bool selected, bool drawVertexMarker )
7070
{
7171
//point position in screen coords
7272
QgsGeometry* geom = feature.geometry();
@@ -147,7 +147,7 @@ void QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRender
147147
}
148148

149149

150-
QgsSymbolV2RenderContext symbolContext( context, QgsSymbolV2::MM );
150+
QgsSymbolV2RenderContext symbolContext( context, QgsSymbolV2::MM, 1.0, selected );
151151
double circleAdditionPainterUnits = symbolContext.outputLineWidth( mCircleRadiusAddition );
152152
double radius = std::max(( diagonal / 2 ), labelAttributeList.size() * diagonal / 2 / M_PI ) + circleAdditionPainterUnits;
153153

@@ -163,7 +163,7 @@ void QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRender
163163
{
164164
if ( mCenterSymbol )
165165
{
166-
mCenterSymbol->renderPoint( pt, context );
166+
mCenterSymbol->renderPoint( pt, context, layer, selected );
167167
}
168168
else
169169
{
@@ -172,7 +172,7 @@ void QgsPointDisplacementRenderer::renderFeature( QgsFeature& feature, QgsRender
172172
}
173173

174174
//draw symbols on the circle
175-
drawSymbols( context, symbolList, symbolPositions );
175+
drawSymbols( context, symbolList, symbolPositions, selected );
176176
//and also the labels
177177
drawLabels( pt, symbolContext, labelPositions, labelAttributeList );
178178
}
@@ -508,15 +508,15 @@ void QgsPointDisplacementRenderer::drawCircle( double radiusPainterUnits, QgsSym
508508
p->drawArc( QRectF( centerPoint.x() - radiusPainterUnits, centerPoint.y() - radiusPainterUnits, 2 * radiusPainterUnits, 2 * radiusPainterUnits ), 0, 5760 );
509509
}
510510

511-
void QgsPointDisplacementRenderer::drawSymbols( QgsRenderContext& context, const QList<QgsMarkerSymbolV2*>& symbolList, const QList<QPointF>& symbolPositions )
511+
void QgsPointDisplacementRenderer::drawSymbols( QgsRenderContext& context, const QList<QgsMarkerSymbolV2*>& symbolList, const QList<QPointF>& symbolPositions, bool selected )
512512
{
513513
QList<QPointF>::const_iterator symbolPosIt = symbolPositions.constBegin();
514514
QList<QgsMarkerSymbolV2*>::const_iterator symbolIt = symbolList.constBegin();
515515
for ( ; symbolPosIt != symbolPositions.constEnd() && symbolIt != symbolList.constEnd(); ++symbolPosIt, ++symbolIt )
516516
{
517517
if ( *symbolIt )
518518
{
519-
( *symbolIt )->renderPoint( *symbolPosIt, context );
519+
( *symbolIt )->renderPoint( *symbolPosIt, context, -1, selected );
520520
}
521521
}
522522
}

‎src/plugins/point_displacement_renderer/qgspointdisplacementrenderer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class QgsPointDisplacementRenderer: public QgsFeatureRendererV2
3737
QgsFeatureRendererV2* clone();
3838

3939
/**Reimplemented from QgsFeatureRendererV2*/
40-
void renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer = -1, bool drawVertexMarker = false );
40+
void renderFeature( QgsFeature& feature, QgsRenderContext& context, int layer = -1, bool selected = false, bool drawVertexMarker = false );
4141

4242
QgsSymbolV2* symbolForFeature( QgsFeature& feature );
4343

@@ -143,7 +143,7 @@ class QgsPointDisplacementRenderer: public QgsFeatureRendererV2
143143
//helper functions
144144
void calculateSymbolAndLabelPositions( const QPointF& centerPoint, int nPosition, double radius, double symbolDiagonal, QList<QPointF>& symbolPositions, QList<QPointF>& labelShifts ) const;
145145
void drawCircle( double radiusPainterUnits, QgsSymbolV2RenderContext& context, const QPointF& centerPoint, int nSymbols );
146-
void drawSymbols( QgsRenderContext& context, const QList<QgsMarkerSymbolV2*>& symbolList, const QList<QPointF>& symbolPositions );
146+
void drawSymbols( QgsRenderContext& context, const QList<QgsMarkerSymbolV2*>& symbolList, const QList<QPointF>& symbolPositions, bool selected = false );
147147
void drawLabels( const QPointF& centerPoint, QgsSymbolV2RenderContext& context, const QList<QPointF>& labelShifts, const QStringList& labelList );
148148
};
149149

0 commit comments

Comments
 (0)
Please sign in to comment.