@@ -207,12 +207,14 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
207207 bool ok;
208208 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
209209 {
210+ context.setOriginalValueVariable ( mOutlineWidth );
210211 double width = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH , context, mOutlineWidth ).toDouble ();
211212 width = QgsSymbolLayerV2Utils::convertToPainterUnits ( context.renderContext (), width, mOutlineWidthUnit , mOutlineWidthMapUnitScale );
212213 mPen .setWidthF ( width );
213214 }
214215 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE ) )
215216 {
217+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodePenStyle ( mPen .style () ) );
216218 QString styleString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE , context, QVariant (), &ok ).toString ();
217219 if ( ok )
218220 {
@@ -222,12 +224,14 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
222224 }
223225 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
224226 {
227+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mBrush .color () ) );
225228 QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR , context, QVariant (), &ok ).toString ();
226229 if ( ok )
227230 mBrush .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
228231 }
229232 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
230233 {
234+ context.setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mPen .color () ) );
231235 QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR , context, QVariant (), &ok ).toString ();
232236 if ( ok )
233237 mPen .setColor ( QgsSymbolLayerV2Utils::decodeColor ( colorString ) );
@@ -239,6 +243,7 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
239243 QString symbolName = mSymbolName ;
240244 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
241245 {
246+ context.setOriginalValueVariable ( mSymbolName );
242247 symbolName = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME , context, mSymbolName ).toString ();
243248 }
244249 preparePath ( symbolName, context, &scaledWidth, &scaledHeight, context.feature () );
@@ -260,6 +265,7 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
260265 double rotation = 0.0 ;
261266 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION ) )
262267 {
268+ context.setOriginalValueVariable ( mAngle );
263269 rotation = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION , context, mAngle ).toDouble () + mLineAngle ;
264270 }
265271 else if ( !qgsDoubleNear ( mAngle + mLineAngle , 0.0 ) )
@@ -462,6 +468,7 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
462468
463469 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH ) ) // 1. priority: data defined setting on symbol layer le
464470 {
471+ context.setOriginalValueVariable ( mSymbolWidth );
465472 width = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH , context, mSymbolWidth ).toDouble ();
466473 }
467474 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
481488 double height = 0 ;
482489 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT ) ) // 1. priority: data defined setting on symbol layer level
483490 {
491+ context.setOriginalValueVariable ( mSymbolHeight );
484492 height = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT , context, mSymbolHeight ).toDouble ();
485493 }
486494 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
565573
566574 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH ) ) // 1. priority: data defined setting on symbol layer le
567575 {
576+ context->setOriginalValueVariable ( mSymbolWidth );
568577 symbolWidth = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_WIDTH , *context, mSymbolWidth ).toDouble ();
569578 }
570579 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
580589 double symbolHeight = mSymbolHeight ;
581590 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT ) ) // 1. priority: data defined setting on symbol layer level
582591 {
592+ context->setOriginalValueVariable ( mSymbolHeight );
583593 symbolHeight = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_HEIGHT , *context, mSymbolHeight ).toDouble ();
584594 }
585595 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
596606
597607 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
598608 {
609+ context->setOriginalValueVariable ( mOutlineWidth );
599610 outlineWidth = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH , *context, mOutlineWidth ).toDouble ();
600611 }
601612 if ( mOutlineWidthUnit == QgsSymbolV2::MM )
@@ -608,6 +619,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
608619 QColor fc = mFillColor ;
609620 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
610621 {
622+ context->setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mFillColor ) );
611623 QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_FILL_COLOR , *context, QVariant (), &ok ).toString ();
612624 if ( ok )
613625 fc = QgsSymbolLayerV2Utils::decodeColor ( colorString );
@@ -617,6 +629,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
617629 QColor oc = mOutlineColor ;
618630 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
619631 {
632+ context->setOriginalValueVariable ( QgsSymbolLayerV2Utils::encodeColor ( mOutlineColor ) );
620633 QString colorString = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR , *context, QVariant (), &ok ).toString ();
621634 if ( ok )
622635 oc = QgsSymbolLayerV2Utils::decodeColor ( colorString );
@@ -626,6 +639,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
626639 QString symbolName = mSymbolName ;
627640 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
628641 {
642+ context->setOriginalValueVariable ( mSymbolName );
629643 symbolName = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_SYMBOL_NAME , *context, mSymbolName ).toString ();
630644 }
631645
@@ -639,6 +653,7 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
639653 double rotation = 0.0 ;
640654 if ( hasDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION ) )
641655 {
656+ context->setOriginalValueVariable ( mAngle );
642657 rotation = evaluateDataDefinedProperty ( QgsSymbolLayerV2::EXPR_ROTATION , *context, mAngle ).toDouble () + mLineAngle ;
643658 }
644659 else if ( !qgsDoubleNear ( mAngle + mLineAngle , 0.0 ) )
0 commit comments