Skip to content

Commit 10239a0

Browse files
committedMay 23, 2015
[symbology] Use static QStrings for data defined keys rather than
creating new strings with every redraw (pt 1)
1 parent 2c5c866 commit 10239a0

File tree

7 files changed

+258
-189
lines changed

7 files changed

+258
-189
lines changed
 

‎src/core/symbology-ng/qgsellipsesymbollayerv2.cpp

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -172,31 +172,31 @@ QgsSymbolLayerV2* QgsEllipseSymbolLayerV2::create( const QgsStringMap& propertie
172172
//compatibility with old project file format
173173
if ( !properties["width_field"].isEmpty() )
174174
{
175-
layer->setDataDefinedProperty( "width", new QgsDataDefined( properties["width_field"] ) );
175+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, new QgsDataDefined( properties["width_field"] ) );
176176
}
177177
if ( !properties["height_field"].isEmpty() )
178178
{
179-
layer->setDataDefinedProperty( "height", new QgsDataDefined( properties["height_field"] ) );
179+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT, new QgsDataDefined( properties["height_field"] ) );
180180
}
181181
if ( !properties["rotation_field"].isEmpty() )
182182
{
183-
layer->setDataDefinedProperty( "rotation", new QgsDataDefined( properties["rotation_field"] ) );
183+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION, new QgsDataDefined( properties["rotation_field"] ) );
184184
}
185185
if ( !properties["outline_width_field"].isEmpty() )
186186
{
187-
layer->setDataDefinedProperty( "outline_width", new QgsDataDefined( properties[ "outline_width_field" ] ) );
187+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH, new QgsDataDefined( properties[ "outline_width_field" ] ) );
188188
}
189189
if ( !properties["fill_color_field"].isEmpty() )
190190
{
191-
layer->setDataDefinedProperty( "fill_color", new QgsDataDefined( properties["fill_color_field"] ) );
191+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILL_COLOR, new QgsDataDefined( properties["fill_color_field"] ) );
192192
}
193193
if ( !properties["outline_color_field"].isEmpty() )
194194
{
195-
layer->setDataDefinedProperty( "outline_color", new QgsDataDefined( properties["outline_color_field"] ) );
195+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, new QgsDataDefined( properties["outline_color_field"] ) );
196196
}
197197
if ( !properties["symbol_name_field"].isEmpty() )
198198
{
199-
layer->setDataDefinedProperty( "symbol_name", new QgsDataDefined( properties["symbol_name_field"] ) );
199+
layer->setDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME, new QgsDataDefined( properties["symbol_name_field"] ) );
200200
}
201201

202202
return layer;
@@ -205,41 +205,41 @@ QgsSymbolLayerV2* QgsEllipseSymbolLayerV2::create( const QgsStringMap& propertie
205205
void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2RenderContext& context )
206206
{
207207
bool ok;
208-
if ( hasDataDefinedProperty( "outline_width" ) )
208+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
209209
{
210-
double width = evaluateDataDefinedProperty( "outline_width", context.feature(), mOutlineWidth ).toDouble();
210+
double width = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH, context.feature(), mOutlineWidth ).toDouble();
211211
width *= QgsSymbolLayerV2Utils::lineWidthScaleFactor( context.renderContext(), mOutlineWidthUnit, mOutlineWidthMapUnitScale );
212212
mPen.setWidthF( width );
213213
}
214-
if ( hasDataDefinedProperty( "outline_style" ) )
214+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE ) )
215215
{
216-
QString styleString = evaluateDataDefinedProperty( "outline_style", context.feature(), QVariant(), &ok ).toString();
216+
QString styleString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_STYLE, context.feature(), QVariant(), &ok ).toString();
217217
if ( ok )
218218
{
219219
Qt::PenStyle style = QgsSymbolLayerV2Utils::decodePenStyle( styleString );
220220
mPen.setStyle( style );
221221
}
222222
}
223-
if ( hasDataDefinedProperty( "fill_color" ) )
223+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
224224
{
225-
QString colorString = evaluateDataDefinedProperty( "fill_color", context.feature(), QVariant(), &ok ).toString();
225+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILL_COLOR, context.feature(), QVariant(), &ok ).toString();
226226
if ( ok )
227227
mBrush.setColor( QColor( QgsSymbolLayerV2Utils::decodeColor( colorString ) ) );
228228
}
229-
if ( hasDataDefinedProperty( "outline_color" ) )
229+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
230230
{
231-
QString colorString = evaluateDataDefinedProperty( "outline_color", context.feature(), QVariant(), &ok ).toString();
231+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, context.feature(), QVariant(), &ok ).toString();
232232
if ( ok )
233233
mPen.setColor( QColor( QgsSymbolLayerV2Utils::decodeColor( colorString ) ) );
234234
}
235235
double scaledWidth = mSymbolWidth;
236236
double scaledHeight = mSymbolHeight;
237-
if ( hasDataDefinedProperty( "width" ) || hasDataDefinedProperty( "height" ) || hasDataDefinedProperty( "symbol_name" ) )
237+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) || hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT ) || hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
238238
{
239239
QString symbolName = mSymbolName;
240-
if ( hasDataDefinedProperty( "symbol_name" ) )
240+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
241241
{
242-
symbolName = evaluateDataDefinedProperty( "symbol_name", context.feature(), mSymbolName ).toString();
242+
symbolName = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME, context.feature(), mSymbolName ).toString();
243243
}
244244
preparePath( symbolName, context, &scaledWidth, &scaledHeight, context.feature() );
245245
}
@@ -258,9 +258,9 @@ void QgsEllipseSymbolLayerV2::renderPoint( const QPointF& point, QgsSymbolV2Rend
258258

259259
//priority for rotation: 1. data defined symbol level, 2. symbol layer rotation (mAngle)
260260
double rotation = 0.0;
261-
if ( hasDataDefinedProperty( "rotation" ) )
261+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION ) )
262262
{
263-
rotation = evaluateDataDefinedProperty( "rotation", context.feature(), mAngle ).toDouble() + mLineAngle;
263+
rotation = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION, context.feature(), mAngle ).toDouble() + mLineAngle;
264264
}
265265
else if ( !qgsDoubleNear( mAngle + mLineAngle, 0.0 ) )
266266
{
@@ -336,7 +336,7 @@ void QgsEllipseSymbolLayerV2::writeSldMarker( QDomDocument &doc, QDomElement &el
336336
graphicElem.appendChild( factorElem );
337337

338338
// <Rotation>
339-
QgsDataDefined* ddRotation = getDataDefinedProperty( "rotation" );
339+
QgsDataDefined* ddRotation = getDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION );
340340

341341
QString angleFunc = props.value( "angle", "" );
342342
if ( angleFunc.isEmpty() ) // symbol has no angle set
@@ -460,9 +460,9 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
460460

461461
double width = 0;
462462

463-
if ( hasDataDefinedProperty( "width" ) ) //1. priority: data defined setting on symbol layer le
463+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) ) //1. priority: data defined setting on symbol layer le
464464
{
465-
width = evaluateDataDefinedProperty( "width", f, mSymbolWidth ).toDouble();
465+
width = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, f, mSymbolWidth ).toDouble();
466466
}
467467
else if ( context.renderHints() & QgsSymbolV2::DataDefinedSizeScale ) //2. priority: is data defined size on symbol level
468468
{
@@ -479,9 +479,9 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV
479479
width *= QgsSymbolLayerV2Utils::lineWidthScaleFactor( ct, mSymbolWidthUnit, mSymbolHeightMapUnitScale );
480480

481481
double height = 0;
482-
if ( hasDataDefinedProperty( "height" ) ) //1. priority: data defined setting on symbol layer level
482+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT ) ) //1. priority: data defined setting on symbol layer level
483483
{
484-
height = evaluateDataDefinedProperty( "height", f, mSymbolHeight ).toDouble();
484+
height = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT, f, mSymbolHeight ).toDouble();
485485
}
486486
else if ( context.renderHints() & QgsSymbolV2::DataDefinedSizeScale ) //2. priority: is data defined size on symbol level
487487
{
@@ -563,9 +563,9 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
563563
//width
564564
double symbolWidth = mSymbolWidth;
565565

566-
if ( hasDataDefinedProperty( "width" ) ) //1. priority: data defined setting on symbol layer le
566+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) ) //1. priority: data defined setting on symbol layer le
567567
{
568-
symbolWidth = evaluateDataDefinedProperty( "width", f, mSymbolWidth ).toDouble();
568+
symbolWidth = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, f, mSymbolWidth ).toDouble();
569569
}
570570
else if ( context->renderHints() & QgsSymbolV2::DataDefinedSizeScale ) //2. priority: is data defined size on symbol level
571571
{
@@ -578,9 +578,9 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
578578

579579
//height
580580
double symbolHeight = mSymbolHeight;
581-
if ( hasDataDefinedProperty( "height" ) ) //1. priority: data defined setting on symbol layer level
581+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT ) ) //1. priority: data defined setting on symbol layer level
582582
{
583-
symbolHeight = evaluateDataDefinedProperty( "height", f, mSymbolHeight ).toDouble();
583+
symbolHeight = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_HEIGHT, f, mSymbolHeight ).toDouble();
584584
}
585585
else if ( context->renderHints() & QgsSymbolV2::DataDefinedSizeScale ) //2. priority: is data defined size on symbol level
586586
{
@@ -594,9 +594,9 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
594594
//outline width
595595
double outlineWidth = mOutlineWidth;
596596

597-
if ( hasDataDefinedProperty( "outline_width" ) )
597+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH ) )
598598
{
599-
outlineWidth = evaluateDataDefinedProperty( "outline_width", f, mOutlineWidth ).toDouble();
599+
outlineWidth = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH, f, mOutlineWidth ).toDouble();
600600
}
601601
if ( mOutlineWidthUnit == QgsSymbolV2::MM )
602602
{
@@ -606,27 +606,27 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
606606
//fill color
607607
bool ok;
608608
QColor fc = mFillColor;
609-
if ( hasDataDefinedProperty( "fill_color" ) )
609+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILL_COLOR ) )
610610
{
611-
QString colorString = evaluateDataDefinedProperty( "fill_color", f, QVariant(), &ok ).toString();
611+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILL_COLOR, f, QVariant(), &ok ).toString();
612612
if ( ok )
613613
fc = QColor( colorString );
614614
}
615615

616616
//outline color
617617
QColor oc = mOutlineColor;
618-
if ( hasDataDefinedProperty( "outline_color" ) )
618+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR ) )
619619
{
620-
QString colorString = evaluateDataDefinedProperty( "outline_color", f, QVariant(), &ok ).toString();
620+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OUTLINE_COLOR, f, QVariant(), &ok ).toString();
621621
if ( ok )
622622
oc = QColor( colorString );
623623
}
624624

625625
//symbol name
626626
QString symbolName = mSymbolName;
627-
if ( hasDataDefinedProperty( "symbol_name" ) )
627+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME ) )
628628
{
629-
symbolName = evaluateDataDefinedProperty( "symbol_name", f, mSymbolName ).toString();
629+
symbolName = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SYMBOL_NAME, f, mSymbolName ).toString();
630630
}
631631

632632
//offset
@@ -637,9 +637,9 @@ bool QgsEllipseSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitScaleFa
637637

638638
//priority for rotation: 1. data defined symbol level, 2. symbol layer rotation (mAngle)
639639
double rotation = 0.0;
640-
if ( hasDataDefinedProperty( "rotation" ) )
640+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION ) )
641641
{
642-
rotation = evaluateDataDefinedProperty( "rotation", f, mAngle ).toDouble() + mLineAngle;
642+
rotation = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_ROTATION, f, mAngle ).toDouble() + mLineAngle;
643643
}
644644
else if ( !qgsDoubleNear( mAngle + mLineAngle, 0.0 ) )
645645
{

‎src/core/symbology-ng/qgsfillsymbollayerv2.cpp

Lines changed: 68 additions & 68 deletions
Large diffs are not rendered by default.

‎src/core/symbology-ng/qgslinesymbollayerv2.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -467,9 +467,9 @@ void QgsSimpleLineSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2RenderCon
467467

468468
//data defined properties
469469
bool hasStrokeWidthExpression = false;
470-
if ( hasDataDefinedProperty( "width" ) )
470+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) )
471471
{
472-
double scaledWidth = evaluateDataDefinedProperty( "width", context.feature(), mWidth ).toDouble()
472+
double scaledWidth = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, context.feature(), mWidth ).toDouble()
473473
* QgsSymbolLayerV2Utils::lineWidthScaleFactor( context.renderContext(), mWidthUnit, mWidthMapUnitScale );
474474
pen.setWidthF( scaledWidth );
475475
selPen.setWidthF( scaledWidth );
@@ -478,17 +478,17 @@ void QgsSimpleLineSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2RenderCon
478478

479479
//color
480480
bool ok;
481-
if ( hasDataDefinedProperty( "color" ) )
481+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR ) )
482482
{
483-
QString colorString = evaluateDataDefinedProperty( "color", context.feature(), QVariant(), &ok ).toString();
483+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR, context.feature(), QVariant(), &ok ).toString();
484484
if ( ok )
485485
pen.setColor( QgsSymbolLayerV2Utils::decodeColor( colorString ) );
486486
}
487487

488488
//offset
489-
if ( hasDataDefinedProperty( "offset" ) )
489+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET ) )
490490
{
491-
offset = evaluateDataDefinedProperty( "offset", context.feature(), offset ).toDouble();
491+
offset = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET, context.feature(), offset ).toDouble();
492492
}
493493

494494
//dash dot vector
@@ -578,9 +578,9 @@ double QgsSimpleLineSymbolLayerV2::dxfWidth( const QgsDxfExport& e, const QgsSym
578578
{
579579
double width = mWidth;
580580

581-
if ( hasDataDefinedProperty( "width" ) )
581+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) )
582582
{
583-
width = evaluateDataDefinedProperty( "width", context.feature(), mWidth ).toDouble() * e.mapUnitScaleFactor( e.symbologyScaleDenominator(), widthUnit(), e.mapUnits() );
583+
width = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, context.feature(), mWidth ).toDouble() * e.mapUnitScaleFactor( e.symbologyScaleDenominator(), widthUnit(), e.mapUnits() );
584584
}
585585
else if ( context.renderHints() & QgsSymbolV2::DataDefinedSizeScale )
586586
{
@@ -592,10 +592,10 @@ double QgsSimpleLineSymbolLayerV2::dxfWidth( const QgsDxfExport& e, const QgsSym
592592

593593
QColor QgsSimpleLineSymbolLayerV2::dxfColor( const QgsSymbolV2RenderContext& context ) const
594594
{
595-
if ( hasDataDefinedProperty( "color" ) )
595+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR ) )
596596
{
597597
bool ok;
598-
QString colorString = evaluateDataDefinedProperty( "color", context.feature(), QVariant(), &ok ).toString();
598+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR, context.feature(), QVariant(), &ok ).toString();
599599
if ( ok )
600600
return ( QgsSymbolLayerV2Utils::decodeColor( colorString ) );
601601
}
@@ -607,9 +607,9 @@ double QgsSimpleLineSymbolLayerV2::dxfOffset( const QgsDxfExport& e, const QgsSy
607607
Q_UNUSED( e );
608608
double offset = mOffset;
609609

610-
if ( hasDataDefinedProperty( "offset" ) )
610+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET ) )
611611
{
612-
offset = evaluateDataDefinedProperty( "offset", context.feature(), mOffset ).toDouble();
612+
offset = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET, context.feature(), mOffset ).toDouble();
613613
}
614614
return offset;
615615
}
@@ -798,9 +798,9 @@ void QgsMarkerLineSymbolLayerV2::renderPolyline( const QPolygonF& points, QgsSym
798798
{
799799
double offset = mOffset;
800800

801-
if ( hasDataDefinedProperty( "offset" ) )
801+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET ) )
802802
{
803-
offset = evaluateDataDefinedProperty( "offset", context.feature(), mOffset ).toDouble();
803+
offset = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET, context.feature(), mOffset ).toDouble();
804804
}
805805

806806
Placement placement = mPlacement;

‎src/core/symbology-ng/qgsmarkersymbollayerv2.cpp

Lines changed: 62 additions & 64 deletions
Large diffs are not rendered by default.

‎src/core/symbology-ng/qgsmarkersymbollayerv2.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,6 @@ class CORE_EXPORT QgsSimpleMarkerSymbolLayerV2 : public QgsMarkerSymbolLayerV2
133133
//Maximum width/height of cache image
134134
static const int mMaximumCacheWidth = 3000;
135135

136-
static const QString EXPR_SIZE;
137-
138136
};
139137

140138
//////////

‎src/core/symbology-ng/qgssymbollayerv2.cpp

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,42 @@
2929
#include <QPointF>
3030
#include <QPolygonF>
3131

32+
const QString QgsSymbolLayerV2::EXPR_SIZE( "size" );
33+
const QString QgsSymbolLayerV2::EXPR_ANGLE( "angle" );
34+
const QString QgsSymbolLayerV2::EXPR_NAME( "name" );
35+
const QString QgsSymbolLayerV2::EXPR_COLOR( "color" );
36+
const QString QgsSymbolLayerV2::EXPR_COLOR_BORDER( "color_border" );
37+
const QString QgsSymbolLayerV2::EXPR_OUTLINE_WIDTH( "outline_width" );
38+
const QString QgsSymbolLayerV2::EXPR_OUTLINE_STYLE( "outline_style" );
39+
const QString QgsSymbolLayerV2::EXPR_FILL( "fill" );
40+
const QString QgsSymbolLayerV2::EXPR_OUTLINE( "outline" );
41+
const QString QgsSymbolLayerV2::EXPR_OFFSET( "offset" );
42+
const QString QgsSymbolLayerV2::EXPR_CHAR( "char" );
43+
const QString QgsSymbolLayerV2::EXPR_FILL_COLOR( "fill_color" );
44+
const QString QgsSymbolLayerV2::EXPR_OUTLINE_COLOR( "outline_color" );
45+
const QString QgsSymbolLayerV2::EXPR_WIDTH( "width" );
46+
const QString QgsSymbolLayerV2::EXPR_HEIGHT( "height" );
47+
const QString QgsSymbolLayerV2::EXPR_SYMBOL_NAME( "symbol_name" );
48+
const QString QgsSymbolLayerV2::EXPR_ROTATION( "rotation" );
49+
const QString QgsSymbolLayerV2::EXPR_FILL_STYLE( "fill_style" );
50+
const QString QgsSymbolLayerV2::EXPR_WIDTH_BORDER( "width_border" );
51+
const QString QgsSymbolLayerV2::EXPR_BORDER_STYLE( "border_style" );
52+
const QString QgsSymbolLayerV2::EXPR_JOIN_STYLE( "join_style" );
53+
const QString QgsSymbolLayerV2::EXPR_BORDER_COLOR( "border_color" );
54+
const QString QgsSymbolLayerV2::EXPR_COLOR2( "color2" );
55+
const QString QgsSymbolLayerV2::EXPR_LINEANGLE( "lineangle" );
56+
const QString QgsSymbolLayerV2::EXPR_GRADIENT_TYPE( "gradient_type" );
57+
const QString QgsSymbolLayerV2::EXPR_COORDINATE_MODE( "coordinate_mode" );
58+
const QString QgsSymbolLayerV2::EXPR_SPREAD( "spread" );
59+
const QString QgsSymbolLayerV2::EXPR_REFERENCE1_X( "reference1_x" );
60+
const QString QgsSymbolLayerV2::EXPR_REFERENCE1_Y( "reference1_y" );
61+
const QString QgsSymbolLayerV2::EXPR_REFERENCE2_X( "reference2_x" );
62+
const QString QgsSymbolLayerV2::EXPR_REFERENCE2_Y( "reference2_y" );
63+
const QString QgsSymbolLayerV2::EXPR_REFERENCE1_ISCENTROID( "reference1_iscentroid" );
64+
const QString QgsSymbolLayerV2::EXPR_REFERENCE2_ISCENTROID( "reference2_iscentroid" );
65+
const QString QgsSymbolLayerV2::EXPR_BLUR_RADIUS( "blur_radius" );
66+
const QString QgsSymbolLayerV2::EXPR_DISTANCE( "distance" );
67+
3268
const QgsExpression* QgsSymbolLayerV2::dataDefinedProperty( const QString& property ) const
3369
{
3470
Q_NOWARN_DEPRECATED_PUSH
@@ -415,9 +451,9 @@ void QgsMarkerSymbolLayerV2::markerOffset( const QgsSymbolV2RenderContext& conte
415451
offsetX = mOffset.x();
416452
offsetY = mOffset.y();
417453

418-
if ( hasDataDefinedProperty( "offset" ) )
454+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET ) )
419455
{
420-
QPointF offset = QgsSymbolLayerV2Utils::decodePoint( evaluateDataDefinedProperty( "offset", context.feature() ).toString() );
456+
QPointF offset = QgsSymbolLayerV2Utils::decodePoint( evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET, context.feature() ).toString() );
421457
offsetX = offset.x();
422458
offsetY = offset.y();
423459
}

‎src/core/symbology-ng/qgssymbollayerv2.h

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,43 @@ class CORE_EXPORT QgsSymbolLayerV2
284284
* @note added in QGIS 2.9
285285
*/
286286
void copyPaintEffect( QgsSymbolLayerV2* destLayer ) const;
287+
288+
static const QString EXPR_SIZE;
289+
static const QString EXPR_ANGLE;
290+
static const QString EXPR_NAME;
291+
static const QString EXPR_COLOR;
292+
static const QString EXPR_COLOR_BORDER;
293+
static const QString EXPR_OUTLINE_WIDTH;
294+
static const QString EXPR_OUTLINE_STYLE;
295+
static const QString EXPR_FILL;
296+
static const QString EXPR_OUTLINE;
297+
static const QString EXPR_OFFSET;
298+
static const QString EXPR_CHAR;
299+
static const QString EXPR_FILL_COLOR;
300+
static const QString EXPR_OUTLINE_COLOR;
301+
static const QString EXPR_WIDTH;
302+
static const QString EXPR_HEIGHT;
303+
static const QString EXPR_SYMBOL_NAME;
304+
static const QString EXPR_ROTATION;
305+
static const QString EXPR_FILL_STYLE;
306+
static const QString EXPR_WIDTH_BORDER;
307+
static const QString EXPR_BORDER_STYLE;
308+
static const QString EXPR_JOIN_STYLE;
309+
static const QString EXPR_BORDER_COLOR;
310+
static const QString EXPR_COLOR2;
311+
static const QString EXPR_LINEANGLE;
312+
static const QString EXPR_GRADIENT_TYPE;
313+
static const QString EXPR_COORDINATE_MODE;
314+
static const QString EXPR_SPREAD;
315+
static const QString EXPR_REFERENCE1_X;
316+
static const QString EXPR_REFERENCE1_Y;
317+
static const QString EXPR_REFERENCE2_X;
318+
static const QString EXPR_REFERENCE2_Y;
319+
static const QString EXPR_REFERENCE1_ISCENTROID;
320+
static const QString EXPR_REFERENCE2_ISCENTROID;
321+
static const QString EXPR_BLUR_RADIUS;
322+
static const QString EXPR_DISTANCE;
323+
287324
};
288325

289326
//////////////////////

0 commit comments

Comments
 (0)
Please sign in to comment.