@@ -173,6 +173,10 @@ QgsSymbolLayerV2* QgsEllipseSymbolLayerV2::create( const QgsStringMap& propertie
173
173
{
174
174
layer->setDataDefinedProperty ( " outline_width" , properties[ " outline_width_expression" ] );
175
175
}
176
+ if ( properties.contains ( " outline_style_expression" ) )
177
+ {
178
+ layer->setDataDefinedProperty ( " outline_style" , properties[ " outline_style_expression" ] );
179
+ }
176
180
if ( properties.contains ( " fill_color_expression" ) )
177
181
{
178
182
layer->setDataDefinedProperty ( " fill_color" , properties[" fill_color_expression" ] );
@@ -234,6 +238,7 @@ QgsSymbolLayerV2* QgsEllipseSymbolLayerV2::create( const QgsStringMap& propertie
234
238
void QgsEllipseSymbolLayerV2::renderPoint ( const QPointF& point, QgsSymbolV2RenderContext& context )
235
239
{
236
240
QgsExpression* outlineWidthExpression = expression ( " outline_width" );
241
+ QgsExpression* outlineStyleExpression = expression ( " outline_style" );
237
242
QgsExpression* fillColorExpression = expression ( " fill_color" );
238
243
QgsExpression* outlineColorExpression = expression ( " outline_color" );
239
244
QgsExpression* widthExpression = expression ( " width" );
@@ -247,6 +252,11 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
247
252
width *= QgsSymbolLayerV2Utils::lineWidthScaleFactor ( context.renderContext (), mOutlineWidthUnit , mOutlineWidthMapUnitScale );
248
253
mPen .setWidthF ( width );
249
254
}
255
+ if ( outlineStyleExpression )
256
+ {
257
+ Qt::PenStyle style = QgsSymbolLayerV2Utils::decodePenStyle ( outlineStyleExpression->evaluate ( const_cast <QgsFeature*>( context.feature () ) ).toString () );
258
+ mPen .setStyle ( style );
259
+ }
250
260
if ( fillColorExpression )
251
261
{
252
262
QString colorString = fillColorExpression->evaluate ( const_cast <QgsFeature*>( context.feature () ) ).toString ();
0 commit comments