@@ -207,12 +207,14 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
207
207
bool ok;
208
208
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
209
209
{
210
+ context.setOriginalValueVariable ( mOutlineWidth );
210
211
double width = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH, context, mOutlineWidth ).toDouble ();
211
212
width = QgsSymbolLayerV2Utils::convertToPainterUnits ( context.renderContext (), width, mOutlineWidthUnit , mOutlineWidthMapUnitScale );
212
213
mPen .setWidthF ( width );
213
214
}
214
215
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE ) )
215
216
{
217
+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodePenStyle ( mPen .style () ) );
216
218
QString styleString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE, context, QVariant (), &ok ).toString ();
217
219
if ( ok )
218
220
{
@@ -222,12 +224,14 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
222
224
}
223
225
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
224
226
{
227
+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mBrush .color () ) );
225
228
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR, context, QVariant (), &ok ).toString ();
226
229
if ( ok )
227
230
mBrush .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
228
231
}
229
232
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
230
233
{
234
+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mPen .color () ) );
231
235
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, context, QVariant (), &ok ).toString ();
232
236
if ( ok )
233
237
mPen .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
@@ -239,6 +243,7 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
239
243
QString symbolName = mSymbolName ;
240
244
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
241
245
{
246
+ context.setOriginalValueVariable ( mSymbolName );
242
247
symbolName = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME, context, mSymbolName ).toString ();
243
248
}
244
249
preparePath ( symbolName, context, &scaledWidth, &scaledHeight, context.feature () );
@@ -260,6 +265,7 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
260
265
double rotation = 0.0 ;
261
266
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION ) )
262
267
{
268
+ context.setOriginalValueVariable ( mAngle );
263
269
rotation = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION, context, mAngle ).toDouble () + mLineAngle ;
264
270
}
265
271
else if ( !qgsDoubleNear ( mAngle + mLineAngle , 0.0 ) )
@@ -462,6 +468,7 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
462
468
463
469
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH ) ) // 1. priority: data defined setting on symbol layer le
464
470
{
471
+ context.setOriginalValueVariable ( mSymbolWidth );
465
472
width = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH, context, mSymbolWidth ).toDouble ();
466
473
}
467
474
else if ( context.renderHints () & QgsSymbolV2::DataDefinedSizeScale ) // 2. priority: is data defined size on symbol level
@@ -481,6 +488,7 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
481
488
double height = 0 ;
482
489
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT ) ) // 1. priority: data defined setting on symbol layer level
483
490
{
491
+ context.setOriginalValueVariable ( mSymbolHeight );
484
492
height = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT, context, mSymbolHeight ).toDouble ();
485
493
}
486
494
else if ( context.renderHints () & QgsSymbolV2::DataDefinedSizeScale ) // 2. priority: is data defined size on symbol level
@@ -565,6 +573,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
565
573
566
574
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH ) ) // 1. priority: data defined setting on symbol layer le
567
575
{
576
+ context->setOriginalValueVariable ( mSymbolWidth );
568
577
symbolWidth = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH, *context, mSymbolWidth ).toDouble ();
569
578
}
570
579
else if ( context->renderHints () & QgsSymbolV2::DataDefinedSizeScale ) // 2. priority: is data defined size on symbol level
@@ -580,6 +589,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
580
589
double symbolHeight = mSymbolHeight ;
581
590
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT ) ) // 1. priority: data defined setting on symbol layer level
582
591
{
592
+ context->setOriginalValueVariable ( mSymbolHeight );
583
593
symbolHeight = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT, *context, mSymbolHeight ).toDouble ();
584
594
}
585
595
else if ( context->renderHints () & QgsSymbolV2::DataDefinedSizeScale ) // 2. priority: is data defined size on symbol level
@@ -596,6 +606,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
596
606
597
607
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
598
608
{
609
+ context->setOriginalValueVariable ( mOutlineWidth );
599
610
outlineWidth = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH, *context, mOutlineWidth ).toDouble ();
600
611
}
601
612
if ( mOutlineWidthUnit == QgsSymbolV2::MM )
@@ -608,6 +619,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
608
619
QColor fc = mFillColor ;
609
620
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
610
621
{
622
+ context->setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mFillColor ) );
611
623
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR, *context, QVariant (), &ok ).toString ();
612
624
if ( ok )
613
625
fc = QgsSymbolLayerV2Utils::decodeColor ( colorString );
@@ -617,6 +629,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
617
629
QColor oc = mOutlineColor ;
618
630
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
619
631
{
632
+ context->setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mOutlineColor ) );
620
633
QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, *context, QVariant (), &ok ).toString ();
621
634
if ( ok )
622
635
oc = QgsSymbolLayerV2Utils::decodeColor ( colorString );
@@ -626,6 +639,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
626
639
QString symbolName = mSymbolName ;
627
640
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
628
641
{
642
+ context->setOriginalValueVariable ( mSymbolName );
629
643
symbolName = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME, *context, mSymbolName ).toString ();
630
644
}
631
645
@@ -639,6 +653,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
639
653
double rotation = 0.0 ;
640
654
if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION ) )
641
655
{
656
+ context->setOriginalValueVariable ( mAngle );
642
657
rotation = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION, *context, mAngle ).toDouble () + mLineAngle ;
643
658
}
644
659
else if ( !qgsDoubleNear ( mAngle + mLineAngle , 0.0 ) )
0 commit comments