Skip to content

Commit 1b5bf1d

Browse files
committed
Deprecate QgsScaleExpression
Has now been completely replaced by QgsSizeScalePropertyTransformer
1 parent b376ae1 commit 1b5bf1d

9 files changed

+20
-227
lines changed

doc/api_break.dox

+1
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
274274
- QgsProviderCountCalcEvent and QgsProviderExtentCalcEvent. These classes were unused in QGIS core and unmaintained.
275275
- QgsWebviewWidgetWrapper was removed. Use QgsExternalResourceWidgetWrapper instead.
276276
- QgsEditorWidgetConfig was removed. Use QVariantMap instead.
277+
- QgsScaleExpression. Use QgsProperty with a QgsSizeScalePropertyTransformer instead.
277278
- QgsSvgAnnotationItem. Use QgsSvgAnnotation instead.
278279
- QgsSymbologyV2Conversion was removed. Reading of renderers from pre-1.0 versions is not supported anymore.
279280
- QgsTextAnnotationItem. Use QgsTextAnnotation instead.

python/core/core.sip

-1
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@
131131
%Include qgsrunprocess.sip
132132
%Include qgsruntimeprofiler.sip
133133
%Include qgsscalecalculator.sip
134-
%Include qgsscaleexpression.sip
135134
%Include qgsscaleutils.sip
136135
%Include qgssimplifymethod.sip
137136
%Include qgssnapper.sip

python/core/qgsscaleexpression.sip

-95
This file was deleted.

src/core/qgsscaleexpression.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class CORE_EXPORT QgsScaleExpression : public QgsExpression
4343
* to determine whether it's a scale expression
4444
* @param expression expression string
4545
*/
46-
QgsScaleExpression( const QString &expression );
46+
Q_DECL_DEPRECATED QgsScaleExpression( const QString &expression );
4747

4848
/** Constructor for QgsScaleExpression which creates an expression from
4949
* specified parameters
@@ -56,7 +56,7 @@ class CORE_EXPORT QgsScaleExpression : public QgsExpression
5656
* @param nullSize size in case expression evaluates to NULL
5757
* @param exponent to use in case of Exponential type
5858
*/
59-
QgsScaleExpression( Type type, const QString& baseExpression, double minValue, double maxValue, double minSize, double maxSize, double nullSize = 0, double exponent = 1 );
59+
Q_DECL_DEPRECATED QgsScaleExpression( Type type, const QString& baseExpression, double minValue, double maxValue, double minSize, double maxSize, double nullSize = 0, double exponent = 1 );
6060

6161
operator bool() const { return ! mExpression.isEmpty(); }
6262

src/core/symbology-ng/qgscategorizedsymbolrenderer.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -793,17 +793,17 @@ QgsLegendSymbolListV2 QgsCategorizedSymbolRenderer::legendSymbolItemsV2() const
793793
return QgsFeatureRenderer::legendSymbolItemsV2();
794794
}
795795

796-
QgsScaleExpression exp( ddSize.asExpression() );
797-
if ( exp.type() != QgsScaleExpression::Unknown )
796+
if ( QgsSizeScaleTransformer* sizeTransformer = dynamic_cast< QgsSizeScaleTransformer* >( ddSize.transformer() ) )
798797
{
799-
QgsLegendSymbolItem title( nullptr, exp.baseExpression(), QLatin1String( "" ) );
798+
QgsLegendSymbolItem title( nullptr, ddSize.propertyType() == QgsProperty::ExpressionBasedProperty ? ddSize.expressionString()
799+
: ddSize.field(), QString() );
800800
lst << title;
801-
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( exp.minValue(), exp.maxValue(), 4 ) )
801+
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( sizeTransformer->minValue(), sizeTransformer->maxValue(), 4 ) )
802802
{
803-
QgsLegendSymbolItem si( mSourceSymbol.get(), QString::number( v ), QLatin1String( "" ) );
803+
QgsLegendSymbolItem si( mSourceSymbol.get(), QString::number( v ), QString() );
804804
QgsMarkerSymbol * s = static_cast<QgsMarkerSymbol *>( si.symbol() );
805805
s->setDataDefinedSize( QgsProperty() );
806-
s->setSize( exp.size( v ) );
806+
s->setSize( sizeTransformer->size( v ) );
807807
lst << si;
808808
}
809809
// now list the categorized symbols

src/core/symbology-ng/qgsgraduatedsymbolrenderer.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -1180,17 +1180,17 @@ QgsLegendSymbolListV2 QgsGraduatedSymbolRenderer::legendSymbolItemsV2() const
11801180
return QgsFeatureRenderer::legendSymbolItemsV2();
11811181
}
11821182

1183-
QgsScaleExpression exp( ddSize.asExpression() );
1184-
if ( exp.type() != QgsScaleExpression::Unknown )
1183+
if ( QgsSizeScaleTransformer* sizeTransformer = dynamic_cast< QgsSizeScaleTransformer* >( ddSize.transformer() ) )
11851184
{
1186-
QgsLegendSymbolItem title( nullptr, exp.baseExpression(), QLatin1String( "" ) );
1185+
QgsLegendSymbolItem title( nullptr, ddSize.propertyType() == QgsProperty::ExpressionBasedProperty ? ddSize.expressionString()
1186+
: ddSize.field(), QString() );
11871187
list << title;
1188-
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( exp.minValue(), exp.maxValue(), 4 ) )
1188+
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( sizeTransformer->minValue(), sizeTransformer->maxValue(), 4 ) )
11891189
{
1190-
QgsLegendSymbolItem si( mSourceSymbol.get(), QString::number( v ), QLatin1String( "" ) );
1190+
QgsLegendSymbolItem si( mSourceSymbol.get(), QString::number( v ), QString() );
11911191
QgsMarkerSymbol * s = static_cast<QgsMarkerSymbol *>( si.symbol() );
11921192
s->setDataDefinedSize( QgsProperty() );
1193-
s->setSize( exp.size( v ) );
1193+
s->setSize( sizeTransformer->size( v ) );
11941194
list << si;
11951195
}
11961196
// now list the graduated symbols

src/core/symbology-ng/qgssinglesymbolrenderer.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -308,17 +308,17 @@ QgsLegendSymbolListV2 QgsSingleSymbolRenderer::legendSymbolItemsV2() const
308308
QgsProperty sizeDD( symbol->dataDefinedSize() );
309309
if ( sizeDD && sizeDD.isActive() && sizeDD.propertyType() == QgsProperty::ExpressionBasedProperty )
310310
{
311-
QgsScaleExpression scaleExp( sizeDD.asExpression() );
312-
if ( scaleExp.type() != QgsScaleExpression::Unknown )
311+
if ( QgsSizeScaleTransformer* sizeTransformer = dynamic_cast< QgsSizeScaleTransformer* >( ddSize.transformer() ) )
313312
{
314-
QgsLegendSymbolItem title( nullptr, scaleExp.baseExpression(), QString() );
313+
QgsLegendSymbolItem title( nullptr, ddSize.propertyType() == QgsProperty::ExpressionBasedProperty ? ddSize.expressionString()
314+
: ddSize.field(), QString() );
315315
lst << title;
316-
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( scaleExp.minValue(), scaleExp.maxValue(), 4 ) )
316+
Q_FOREACH ( double v, QgsSymbolLayerUtils::prettyBreaks( sizeTransformer->minValue(), sizeTransformer->maxValue(), 4 ) )
317317
{
318318
QgsLegendSymbolItem si( mSymbol.get(), QString::number( v ), QString() );
319319
QgsMarkerSymbol * s = static_cast<QgsMarkerSymbol *>( si.symbol() );
320320
s->setDataDefinedSize( QgsProperty() );
321-
s->setSize( scaleExp.size( v ) );
321+
s->setSize( sizeTransformer->size( v ) );
322322
lst << si;
323323
}
324324
return lst;

tests/src/core/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ ADD_QGIS_TEST(rastersublayertest testqgsrastersublayer.cpp)
181181
ADD_QGIS_TEST(rectangletest testqgsrectangle.cpp)
182182
ADD_QGIS_TEST(rendererstest testqgsrenderers.cpp)
183183
ADD_QGIS_TEST(rulebasedrenderertest testqgsrulebasedrenderer.cpp)
184-
ADD_QGIS_TEST(scaleexpressiontest testqgsscaleexpression.cpp)
185184
ADD_QGIS_TEST(shapebursttest testqgsshapeburst.cpp )
186185
ADD_QGIS_TEST(simplemarkertest testqgssimplemarker.cpp)
187186
ADD_QGIS_TEST(snappingutilstest testqgssnappingutils.cpp )

tests/src/core/testqgsscaleexpression.cpp

-111
This file was deleted.

0 commit comments

Comments
 (0)