[QGIS Commit] r9476 - trunk/qgis/src/core/renderer
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Tue Oct 14 04:51:11 EDT 2008
Author: timlinux
Date: 2008-10-14 04:51:11 -0400 (Tue, 14 Oct 2008)
New Revision: 9476
Modified:
trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp
trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp
trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
Log:
Fix for #239 - retain outline color of selected polygons
Modified: trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp 2008-10-13 16:23:02 UTC (rev 9475)
+++ trunk/qgis/src/core/renderer/qgscontinuouscolorrenderer.cpp 2008-10-14 08:51:11 UTC (rev 9476)
@@ -155,7 +155,7 @@
linePen.setWidthF( widthScale*mMinimumSymbol->pen().widthF() );
p->setPen( linePen );
}
- else
+ else //polygon
{
p->setBrush( QColor( red, green, blue ) );
if ( mDrawPolygonOutline )
@@ -166,15 +166,22 @@
p->setPen( pen );
}
else
+ {
p->setPen( Qt::NoPen );
+ }
}
if ( selected )
{
- QPen pen = mMinimumSymbol->pen();
- pen.setColor( mSelectionColor );
+ //for polygons we dont use selection colour for outline
+ //otherwise adjacent features appear merged when selected
+ if ( mGeometryType != QGis::Polygon )
+ {
+ QPen pen = mMinimumSymbol->pen();
+ pen.setColor( mSelectionColor );
+ p->setPen( pen );
+ }
QBrush brush = mMinimumSymbol->brush();
brush.setColor( mSelectionColor );
- p->setPen( pen );
p->setBrush( brush );
}
}
Modified: trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp 2008-10-13 16:23:02 UTC (rev 9475)
+++ trunk/qgis/src/core/renderer/qgsgraduatedsymbolrenderer.cpp 2008-10-14 08:51:11 UTC (rev 9476)
@@ -153,9 +153,7 @@
else
{
QPen pen = theSymbol->pen();
- pen.setColor( mSelectionColor );
pen.setWidthF( widthScale * pen.widthF() );
- p->setPen( pen );
if ( mGeometryType == QGis::Polygon )
{
@@ -164,6 +162,11 @@
brush.setColor( mSelectionColor );
p->setBrush( brush );
}
+ else //dont draw outlines in selection colour for polys otherwise they appear merged
+ {
+ pen.setColor( mSelectionColor );
+ }
+ p->setPen( pen );
}
}
}
Modified: trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp 2008-10-13 16:23:02 UTC (rev 9475)
+++ trunk/qgis/src/core/renderer/qgssinglesymbolrenderer.cpp 2008-10-14 08:51:11 UTC (rev 9476)
@@ -137,11 +137,6 @@
{
QPen pen = mSymbol->pen();
pen.setWidthF( widthScale * pen.widthF() );
- // We set pen color in case it is an area with no brush (transparent).
- // Previously, this was only done for lines. Why?
- pen.setColor( mSelectionColor );
- p->setPen( pen );
-
if ( mGeometryType == QGis::Polygon )
{
QBrush brush = mSymbol->brush();
@@ -149,6 +144,13 @@
brush.setColor( mSelectionColor );
p->setBrush( brush );
}
+ else //for lines we draw in selection color
+ {
+ // We set pen color in case it is an area with no brush (transparent).
+ // Previously, this was only done for lines. Why?
+ pen.setColor( mSelectionColor );
+ p->setPen( pen );
+ }
}
}
}
Modified: trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp
===================================================================
--- trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2008-10-13 16:23:02 UTC (rev 9475)
+++ trunk/qgis/src/core/renderer/qgsuniquevaluerenderer.cpp 2008-10-14 08:51:11 UTC (rev 9476)
@@ -162,8 +162,6 @@
{
QPen pen = symbol->pen();
pen.setWidthF( widthScale * pen.widthF() );
- pen.setColor( mSelectionColor );
- p->setPen( pen );
if ( mGeometryType == QGis::Polygon )
{
QBrush brush = symbol->brush();
@@ -171,6 +169,11 @@
brush.setColor( mSelectionColor );
p->setBrush( brush );
}
+ else //dont draw outlines of polygons in selection colour otherwise they appear merged
+ {
+ pen.setColor( mSelectionColor );
+ }
+ p->setPen( pen );
}
}
}
More information about the QGIS-commit
mailing list