From 7c779aea3c6c45e0509d8b935de274fb2f2e07d7 Mon Sep 17 00:00:00 2001 From: Webmaster Date: Wed, 13 Apr 2016 19:17:33 +0700 Subject: [PATCH] [symbology] add diamond ellipse marker --- src/core/symbology-ng/qgsellipsesymbollayerv2.cpp | 8 ++++++++ src/gui/qgsdatadefinedbutton.cpp | 2 +- src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/symbology-ng/qgsellipsesymbollayerv2.cpp b/src/core/symbology-ng/qgsellipsesymbollayerv2.cpp index 73c09b0a565..3002923575e 100644 --- a/src/core/symbology-ng/qgsellipsesymbollayerv2.cpp +++ b/src/core/symbology-ng/qgsellipsesymbollayerv2.cpp @@ -597,6 +597,14 @@ void QgsEllipseSymbolLayerV2::preparePath( const QString& symbolName, QgsSymbolV { mPainterPath.addRect( QRectF( -size.width() / 2.0, -size.height() / 2.0, size.width(), size.height() ) ); } + else if ( symbolName == "diamond" ) + { + mPainterPath.moveTo( -size.width() / 2.0, 0 ); + mPainterPath.lineTo( 0, size.height() / 2.0 ); + mPainterPath.lineTo( size.width() / 2.0, 0 ); + mPainterPath.lineTo( 0, -size.height() / 2.0 ); + mPainterPath.lineTo( -size.width() / 2.0, 0 ); + } else if ( symbolName == "cross" ) { mPainterPath.moveTo( 0, -size.height() / 2.0 ); diff --git a/src/gui/qgsdatadefinedbutton.cpp b/src/gui/qgsdatadefinedbutton.cpp index 829bd061b4e..8702b22c73d 100644 --- a/src/gui/qgsdatadefinedbutton.cpp +++ b/src/gui/qgsdatadefinedbutton.cpp @@ -896,7 +896,7 @@ QString QgsDataDefinedButton::fillStyleDesc() QString QgsDataDefinedButton::markerStyleDesc() { - return trString() + QLatin1String( "[circle|rectangle|cross|triangle" + return trString() + QLatin1String( "[circle|rectangle|diamond|cross|triangle" "|right_half_triangle|left_half_triangle|semi_circle]" ); } diff --git a/src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp b/src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp index daf374b4fac..28ead8ef929 100644 --- a/src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp +++ b/src/gui/symbology-ng/qgsellipsesymbollayerv2widget.cpp @@ -46,7 +46,7 @@ QgsEllipseSymbolLayerV2Widget::QgsEllipseSymbolLayerV2Widget( const QgsVectorLay mRotationSpinBox->setClearValue( 0.0 ); QStringList names; - names << "circle" << "rectangle" << "cross" << "triangle" << "right_half_triangle" << "left_half_triangle" << "semi_circle"; + names << "circle" << "rectangle" << "diamond" << "cross" << "triangle" << "right_half_triangle" << "left_half_triangle" << "semi_circle"; QSize iconSize = mShapeListWidget->iconSize(); Q_FOREACH ( const QString& name, names )