Skip to content

Commit dbdfe40

Browse files
committed
[symbology] Use static QStrings for data defined keys rather than
creating new strings with every redraw (pt 2)
1 parent 97864da commit dbdfe40

File tree

4 files changed

+100
-55
lines changed

4 files changed

+100
-55
lines changed

src/core/symbology-ng/qgsfillsymbollayerv2.cpp

+34-34
Original file line numberDiff line numberDiff line change
@@ -1067,23 +1067,23 @@ void QgsShapeburstFillSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2Rende
10671067

10681068
//use whole shape
10691069
useWholeShape = mUseWholeShape;
1070-
if ( hasDataDefinedProperty( "use_whole_shape" ) )
1070+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_USE_WHOLE_SHAPE ) )
10711071
{
1072-
useWholeShape = evaluateDataDefinedProperty( "use_whole_shape", context.feature(), mUseWholeShape ).toBool();
1072+
useWholeShape = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_USE_WHOLE_SHAPE, context.feature(), mUseWholeShape ).toBool();
10731073
}
10741074

10751075
//max distance
10761076
maxDistance = mMaxDistance;
1077-
if ( hasDataDefinedProperty( "max_distance" ) )
1077+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_MAX_DISTANCE ) )
10781078
{
1079-
maxDistance = evaluateDataDefinedProperty( "max_distance", context.feature(), mMaxDistance ).toDouble();
1079+
maxDistance = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_MAX_DISTANCE, context.feature(), mMaxDistance ).toDouble();
10801080
}
10811081

10821082
//ignore rings
10831083
ignoreRings = mIgnoreRings;
1084-
if ( hasDataDefinedProperty( "ignore_rings" ) )
1084+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_IGNORE_RINGS ) )
10851085
{
1086-
ignoreRings = evaluateDataDefinedProperty( "ignore_rings", context.feature(), mIgnoreRings ).toBool();
1086+
ignoreRings = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_IGNORE_RINGS, context.feature(), mIgnoreRings ).toBool();
10871087
}
10881088

10891089
}
@@ -2126,9 +2126,9 @@ QgsSymbolLayerV2* QgsSVGFillSymbolLayer::createFromSld( QDomElement &element )
21262126

21272127
void QgsSVGFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2RenderContext& context )
21282128
{
2129-
if ( !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) && !hasDataDefinedProperty( "svgFile" )
2130-
&& !hasDataDefinedProperty( "svgFillColor" ) && !hasDataDefinedProperty( "svgOutlineColor" )
2131-
&& !hasDataDefinedProperty( "svgOutlineWidth" ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ANGLE ) )
2129+
if ( !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILE )
2130+
&& !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_COLOR )
2131+
&& !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_WIDTH ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ANGLE ) )
21322132
{
21332133
return; //no data defined settings
21342134
}
@@ -2148,28 +2148,28 @@ void QgsSVGFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2RenderCon
21482148
width = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH, context.feature(), mPatternWidth ).toDouble();
21492149
}
21502150
QString svgFile = mSvgFilePath;
2151-
if ( hasDataDefinedProperty( "svgFile" ) )
2151+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILE ) )
21522152
{
2153-
svgFile = evaluateDataDefinedProperty( "svgFile", context.feature(), mSvgFilePath ).toString();
2153+
svgFile = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILE, context.feature(), mSvgFilePath ).toString();
21542154
}
21552155
QColor svgFillColor = mSvgFillColor;
2156-
if ( hasDataDefinedProperty( "svgFillColor" ) )
2156+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR ) )
21572157
{
2158-
QString colorString = evaluateDataDefinedProperty( "svgFillColor", context.feature(), QVariant(), &ok ).toString();
2158+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR, context.feature(), QVariant(), &ok ).toString();
21592159
if ( ok )
21602160
svgFillColor = QgsSymbolLayerV2Utils::decodeColor( colorString );
21612161
}
21622162
QColor svgOutlineColor = mSvgOutlineColor;
2163-
if ( hasDataDefinedProperty( "svgOutlineColor" ) )
2163+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_COLOR ) )
21642164
{
2165-
QString colorString = evaluateDataDefinedProperty( "svgOutlineColor", context.feature(), QVariant(), &ok ).toString();
2165+
QString colorString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_COLOR, context.feature(), QVariant(), &ok ).toString();
21662166
if ( ok )
21672167
svgOutlineColor = QgsSymbolLayerV2Utils::decodeColor( colorString );
21682168
}
21692169
double outlineWidth = mSvgOutlineWidth;
2170-
if ( hasDataDefinedProperty( "svgOutlineWidth" ) )
2170+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_WIDTH ) )
21712171
{
2172-
outlineWidth = evaluateDataDefinedProperty( "svgOutlineWidth", context.feature(), mSvgOutlineWidth ).toDouble();
2172+
outlineWidth = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_SVG_OUTLINE_WIDTH, context.feature(), mSvgOutlineWidth ).toDouble();
21732173
}
21742174
applyPattern( mBrush, svgFile, width, mPatternWidthUnit, svgFillColor, svgOutlineColor, outlineWidth,
21752175
mSvgOutlineWidthUnit, context, mPatternWidthMapUnitScale, mSvgOutlineWidthMapUnitScale );
@@ -2841,7 +2841,7 @@ QString QgsLinePatternFillSymbolLayer::ogrFeatureStyleWidth( double widthScaleFa
28412841
void QgsLinePatternFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2RenderContext& context )
28422842
{
28432843
if ( !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINEANGLE ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE )
2844-
&& !hasDataDefinedProperty( "linewidth" ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR ) )
2844+
&& !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINEWIDTH ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR ) )
28452845
{
28462846
return; //no data defined settings
28472847
}
@@ -2858,9 +2858,9 @@ void QgsLinePatternFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2R
28582858
distance = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE, context.feature(), mDistance ).toDouble();
28592859
}
28602860
double lineWidth = mLineWidth;
2861-
if ( hasDataDefinedProperty( "linewidth" ) )
2861+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINEWIDTH ) )
28622862
{
2863-
lineWidth = evaluateDataDefinedProperty( "linewidth", context.feature(), mLineWidth ).toDouble();
2863+
lineWidth = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINEWIDTH, context.feature(), mLineWidth ).toDouble();
28642864
}
28652865
QColor color = mColor;
28662866
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_COLOR ) )
@@ -3251,32 +3251,32 @@ void QgsPointPatternFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2
32513251
{
32523252
#if 0
32533253
// TODO: enable but check also if mMarkerSymbol has data defined properties
3254-
if ( !hasDataDefinedProperty( "distance_x" ) && !hasDataDefinedProperty( "distance_y" )
3255-
&& !hasDataDefinedProperty( "displacement_x" ) && !hasDataDefinedProperty( "displacement_y" ) )
3254+
if ( !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_X ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_Y )
3255+
&& !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_X ) && !hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_Y ) )
32563256
{
32573257
return;
32583258
}
32593259
#endif
32603260

32613261
double distanceX = mDistanceX;
3262-
if ( hasDataDefinedProperty( "distance_x" ) )
3262+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_X ) )
32633263
{
3264-
distanceX = evaluateDataDefinedProperty( "distance_x", context.feature(), mDistanceX ).toDouble();
3264+
distanceX = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_X, context.feature(), mDistanceX ).toDouble();
32653265
}
32663266
double distanceY = mDistanceY;
3267-
if ( hasDataDefinedProperty( "distance_y" ) )
3267+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_Y ) )
32683268
{
3269-
distanceY = evaluateDataDefinedProperty( "distance_y", context.feature(), mDistanceY ).toDouble();
3269+
distanceY = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISTANCE_Y, context.feature(), mDistanceY ).toDouble();
32703270
}
32713271
double displacementX = mDisplacementX;
3272-
if ( hasDataDefinedProperty( "displacement_x" ) )
3272+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_X ) )
32733273
{
3274-
displacementX = evaluateDataDefinedProperty( "displacement_x", context.feature(), mDisplacementX ).toDouble();
3274+
displacementX = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_X, context.feature(), mDisplacementX ).toDouble();
32753275
}
32763276
double displacementY = mDisplacementY;
3277-
if ( hasDataDefinedProperty( "displacement_y" ) )
3277+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_Y ) )
32783278
{
3279-
displacementY = evaluateDataDefinedProperty( "displacement_y", context.feature(), mDisplacementY ).toDouble();
3279+
displacementY = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_DISPLACEMENT_Y, context.feature(), mDisplacementY ).toDouble();
32803280
}
32813281
applyPattern( context, mBrush, distanceX, distanceY, displacementX, displacementY );
32823282
}
@@ -3651,8 +3651,8 @@ void QgsRasterFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2Render
36513651
return; // shortcut
36523652

36533653
bool hasWidthExpression = hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_WIDTH );
3654-
bool hasFileExpression = hasDataDefinedProperty( "file" );
3655-
bool hasAlphaExpression = hasDataDefinedProperty( "alpha" );
3654+
bool hasFileExpression = hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILE );
3655+
bool hasAlphaExpression = hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ALPHA );
36563656
bool hasAngleExpression = hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_ANGLE );
36573657

36583658
if ( !hasWidthExpression && !hasAngleExpression && !hasAlphaExpression && !hasFileExpression )
@@ -3681,12 +3681,12 @@ void QgsRasterFillSymbolLayer::applyDataDefinedSettings( const QgsSymbolV2Render
36813681
double alpha = mAlpha;
36823682
if ( hasAlphaExpression )
36833683
{
3684-
alpha = evaluateDataDefinedProperty( "alpha", context.feature(), mAlpha ).toDouble();
3684+
alpha = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_ALPHA, context.feature(), mAlpha ).toDouble();
36853685
}
36863686
QString file = mImageFilePath;
36873687
if ( hasFileExpression )
36883688
{
3689-
file = evaluateDataDefinedProperty( "file", context.feature(), mImageFilePath ).toString();
3689+
file = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_FILE, context.feature(), mImageFilePath ).toString();
36903690
}
36913691
applyPattern( mBrush, file, width, alpha, context );
36923692
}

src/core/symbology-ng/qgslinesymbollayerv2.cpp

+16-16
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ void QgsSimpleLineSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2RenderCon
492492
}
493493

494494
//dash dot vector
495-
if ( hasDataDefinedProperty( "customdash" ) )
495+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_CUSTOMDASH ) )
496496
{
497497
double scaledWidth = mWidth * QgsSymbolLayerV2Utils::lineWidthScaleFactor( context.renderContext(), mWidthUnit, mWidthMapUnitScale );
498498
double dashWidthDiv = mPen.widthF();
@@ -513,7 +513,7 @@ void QgsSimpleLineSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2RenderCon
513513
}
514514

515515
QVector<qreal> dashVector;
516-
QStringList dashList = evaluateDataDefinedProperty( "customdash", context.feature(), QVariant(), &ok ).toString().split( ";" );
516+
QStringList dashList = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_CUSTOMDASH, context.feature(), QVariant(), &ok ).toString().split( ";" );
517517
if ( ok )
518518
{
519519
QStringList::const_iterator dashIt = dashList.constBegin();
@@ -526,25 +526,25 @@ void QgsSimpleLineSymbolLayerV2::applyDataDefinedSymbology( QgsSymbolV2RenderCon
526526
}
527527

528528
//line style
529-
if ( hasDataDefinedProperty( "line_style" ) )
529+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINE_STYLE ) )
530530
{
531-
QString lineStyleString = evaluateDataDefinedProperty( "line_style", context.feature(), QVariant(), &ok ).toString();
531+
QString lineStyleString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_LINE_STYLE, context.feature(), QVariant(), &ok ).toString();
532532
if ( ok )
533533
pen.setStyle( QgsSymbolLayerV2Utils::decodePenStyle( lineStyleString ) );
534534
}
535535

536536
//join style
537-
if ( hasDataDefinedProperty( "joinstyle" ) )
537+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_JOINSTYLE ) )
538538
{
539-
QString joinStyleString = evaluateDataDefinedProperty( "joinstyle", context.feature(), QVariant(), &ok ).toString();
539+
QString joinStyleString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_JOINSTYLE, context.feature(), QVariant(), &ok ).toString();
540540
if ( ok )
541541
pen.setJoinStyle( QgsSymbolLayerV2Utils::decodePenJoinStyle( joinStyleString ) );
542542
}
543543

544544
//cap style
545-
if ( hasDataDefinedProperty( "capstyle" ) )
545+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_CAPSTYLE ) )
546546
{
547-
QString capStyleString = evaluateDataDefinedProperty( "capstyle", context.feature(), QVariant(), &ok ).toString();
547+
QString capStyleString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_CAPSTYLE, context.feature(), QVariant(), &ok ).toString();
548548
if ( ok )
549549
pen.setCapStyle( QgsSymbolLayerV2Utils::decodePenCapStyle( capStyleString ) );
550550
}
@@ -806,9 +806,9 @@ void QgsMarkerLineSymbolLayerV2::renderPolyline( const QPolygonF& points, QgsSym
806806
Placement placement = mPlacement;
807807

808808
bool ok;
809-
if ( hasDataDefinedProperty( "placement" ) )
809+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_PLACEMENT ) )
810810
{
811-
QString placementString = evaluateDataDefinedProperty( "placement", context.feature(), QVariant(), &ok ).toString();
811+
QString placementString = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_PLACEMENT, context.feature(), QVariant(), &ok ).toString();
812812
if ( ok )
813813
{
814814
if ( placementString.compare( "vertex", Qt::CaseInsensitive ) == 0 )
@@ -885,18 +885,18 @@ void QgsMarkerLineSymbolLayerV2::renderPolylineInterval( const QPolygonF& points
885885
QgsRenderContext& rc = context.renderContext();
886886
double interval = mInterval;
887887

888-
if ( hasDataDefinedProperty( "interval" ) )
888+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_INTERVAL ) )
889889
{
890-
interval = evaluateDataDefinedProperty( "interval", context.feature(), mInterval ).toDouble();
890+
interval = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_INTERVAL, context.feature(), mInterval ).toDouble();
891891
}
892892
if ( interval <= 0 )
893893
{
894894
interval = 0.1;
895895
}
896896
double offsetAlongLine = mOffsetAlongLine;
897-
if ( hasDataDefinedProperty( "offset_along_line" ) )
897+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET_ALONG_LINE ) )
898898
{
899-
offsetAlongLine = evaluateDataDefinedProperty( "offset_along_line", context.feature(), mOffsetAlongLine ).toDouble();
899+
offsetAlongLine = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET_ALONG_LINE, context.feature(), mOffsetAlongLine ).toDouble();
900900
}
901901

902902
double painterUnitInterval = interval * QgsSymbolLayerV2Utils::lineWidthScaleFactor( rc, mIntervalUnit, mIntervalMapUnitScale );
@@ -968,9 +968,9 @@ void QgsMarkerLineSymbolLayerV2::renderPolylineVertex( const QPolygonF& points,
968968
bool isRing = false;
969969

970970
double offsetAlongLine = mOffsetAlongLine;
971-
if ( hasDataDefinedProperty( "offset_along_line" ) )
971+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET_ALONG_LINE ) )
972972
{
973-
offsetAlongLine = evaluateDataDefinedProperty( "offset_along_line", context.feature(), mOffsetAlongLine ).toDouble();
973+
offsetAlongLine = evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_OFFSET_ALONG_LINE, context.feature(), mOffsetAlongLine ).toDouble();
974974
}
975975
if ( offsetAlongLine != 0 )
976976
{

src/core/symbology-ng/qgssymbollayerv2.cpp

+27-4
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,29 @@ const QString QgsSymbolLayerV2::EXPR_REFERENCE1_ISCENTROID( "reference1_iscentro
6464
const QString QgsSymbolLayerV2::EXPR_REFERENCE2_ISCENTROID( "reference2_iscentroid" );
6565
const QString QgsSymbolLayerV2::EXPR_BLUR_RADIUS( "blur_radius" );
6666
const QString QgsSymbolLayerV2::EXPR_DISTANCE( "distance" );
67+
const QString QgsSymbolLayerV2::EXPR_USE_WHOLE_SHAPE( "use_whole_shape" );
68+
const QString QgsSymbolLayerV2::EXPR_MAX_DISTANCE( "max_distance" );
69+
const QString QgsSymbolLayerV2::EXPR_IGNORE_RINGS( "ignore_rings" );
70+
const QString QgsSymbolLayerV2::EXPR_SVG_FILE( "svgFile" );
71+
const QString QgsSymbolLayerV2::EXPR_SVG_FILL_COLOR( "svgFillColor" );
72+
const QString QgsSymbolLayerV2::EXPR_SVG_OUTLINE_COLOR( "svgOutlineColor" );
73+
const QString QgsSymbolLayerV2::EXPR_SVG_OUTLINE_WIDTH( "svgOutlineWidth" );
74+
const QString QgsSymbolLayerV2::EXPR_LINEWIDTH( "linewidth" );
75+
const QString QgsSymbolLayerV2::EXPR_DISTANCE_X( "distance_x" );
76+
const QString QgsSymbolLayerV2::EXPR_DISTANCE_Y( "distance_y" );
77+
const QString QgsSymbolLayerV2::EXPR_DISPLACEMENT_X( "displacement_x" );
78+
const QString QgsSymbolLayerV2::EXPR_DISPLACEMENT_Y( "displacement_y" );
79+
const QString QgsSymbolLayerV2::EXPR_FILE( "file" );
80+
const QString QgsSymbolLayerV2::EXPR_ALPHA( "alpha" );
81+
const QString QgsSymbolLayerV2::EXPR_CUSTOMDASH( "customdash" );
82+
const QString QgsSymbolLayerV2::EXPR_LINE_STYLE( "line_style" );
83+
const QString QgsSymbolLayerV2::EXPR_JOINSTYLE( "joinstyle" );
84+
const QString QgsSymbolLayerV2::EXPR_CAPSTYLE( "capstyle" );
85+
const QString QgsSymbolLayerV2::EXPR_PLACEMENT( "placement" );
86+
const QString QgsSymbolLayerV2::EXPR_INTERVAL( "interval" );
87+
const QString QgsSymbolLayerV2::EXPR_OFFSET_ALONG_LINE( "offset_along_line" );
88+
const QString QgsSymbolLayerV2::EXPR_HORIZONTAL_ANCHOR_POINT( "horizontal_anchor_point" );
89+
const QString QgsSymbolLayerV2::EXPR_VERTICAL_ANCHOR_POINT( "vertical_anchor_point" );
6790

6891
const QgsExpression* QgsSymbolLayerV2::dataDefinedProperty( const QString& property ) const
6992
{
@@ -463,13 +486,13 @@ void QgsMarkerSymbolLayerV2::markerOffset( const QgsSymbolV2RenderContext& conte
463486

464487
HorizontalAnchorPoint horizontalAnchorPoint = mHorizontalAnchorPoint;
465488
VerticalAnchorPoint verticalAnchorPoint = mVerticalAnchorPoint;
466-
if ( hasDataDefinedProperty( "horizontal_anchor_point" ) )
489+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_HORIZONTAL_ANCHOR_POINT ) )
467490
{
468-
horizontalAnchorPoint = decodeHorizontalAnchorPoint( evaluateDataDefinedProperty( "horizontal_anchor_point", context.feature() ).toString() );
491+
horizontalAnchorPoint = decodeHorizontalAnchorPoint( evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_HORIZONTAL_ANCHOR_POINT , context.feature() ).toString() );
469492
}
470-
if ( hasDataDefinedProperty( "vertical_anchor_point" ) )
493+
if ( hasDataDefinedProperty( QgsSymbolLayerV2::EXPR_VERTICAL_ANCHOR_POINT ) )
471494
{
472-
verticalAnchorPoint = decodeVerticalAnchorPoint( evaluateDataDefinedProperty( "vertical_anchor_point", context.feature() ).toString() );
495+
verticalAnchorPoint = decodeVerticalAnchorPoint( evaluateDataDefinedProperty( QgsSymbolLayerV2::EXPR_VERTICAL_ANCHOR_POINT, context.feature() ).toString() );
473496
}
474497

475498
//correct horizontal position according to anchor point

src/core/symbology-ng/qgssymbollayerv2.h

+23-1
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,29 @@ class CORE_EXPORT QgsSymbolLayerV2
320320
static const QString EXPR_REFERENCE2_ISCENTROID;
321321
static const QString EXPR_BLUR_RADIUS;
322322
static const QString EXPR_DISTANCE;
323-
323+
static const QString EXPR_USE_WHOLE_SHAPE;
324+
static const QString EXPR_MAX_DISTANCE;
325+
static const QString EXPR_IGNORE_RINGS;
326+
static const QString EXPR_SVG_FILE;
327+
static const QString EXPR_SVG_FILL_COLOR;
328+
static const QString EXPR_SVG_OUTLINE_COLOR;
329+
static const QString EXPR_SVG_OUTLINE_WIDTH;
330+
static const QString EXPR_LINEWIDTH;
331+
static const QString EXPR_DISTANCE_X;
332+
static const QString EXPR_DISTANCE_Y;
333+
static const QString EXPR_DISPLACEMENT_X;
334+
static const QString EXPR_DISPLACEMENT_Y;
335+
static const QString EXPR_FILE;
336+
static const QString EXPR_ALPHA;
337+
static const QString EXPR_CUSTOMDASH;
338+
static const QString EXPR_LINE_STYLE;
339+
static const QString EXPR_JOINSTYLE; //near duplicate is required to maintain project compatibility
340+
static const QString EXPR_CAPSTYLE;
341+
static const QString EXPR_PLACEMENT;
342+
static const QString EXPR_INTERVAL;
343+
static const QString EXPR_OFFSET_ALONG_LINE;
344+
static const QString EXPR_HORIZONTAL_ANCHOR_POINT;
345+
static const QString EXPR_VERTICAL_ANCHOR_POINT;
324346
};
325347

326348
//////////////////////

0 commit comments

Comments
 (0)