@@ -348,25 +348,7 @@ void QgsRuleBasedRenderer::Rule::toSld( QDomDocument& doc, QDomElement &element,
348
348
props[ " filter" ] += mFilterExp ;
349
349
}
350
350
351
- if ( mScaleMinDenom != 0 )
352
- {
353
- bool ok;
354
- int parentScaleMinDenom = props.value ( " scaleMinDenom" , " 0" ).toInt ( &ok );
355
- if ( !ok || parentScaleMinDenom <= 0 )
356
- props[ " scaleMinDenom" ] = QString::number ( mScaleMinDenom );
357
- else
358
- props[ " scaleMinDenom" ] = QString::number ( qMax ( parentScaleMinDenom, mScaleMinDenom ) );
359
- }
360
-
361
- if ( mScaleMaxDenom != 0 )
362
- {
363
- bool ok;
364
- int parentScaleMaxDenom = props.value ( " scaleMaxDenom" , " 0" ).toInt ( &ok );
365
- if ( !ok || parentScaleMaxDenom <= 0 )
366
- props[ " scaleMaxDenom" ] = QString::number ( mScaleMaxDenom );
367
- else
368
- props[ " scaleMaxDenom" ] = QString::number ( qMin ( parentScaleMaxDenom, mScaleMaxDenom ) );
369
- }
351
+ QgsSymbolLayerUtils::mergeScaleDependencies ( mScaleMinDenom , mScaleMaxDenom , props );
370
352
371
353
if ( mSymbol )
372
354
{
@@ -402,19 +384,7 @@ void QgsRuleBasedRenderer::Rule::toSld( QDomDocument& doc, QDomElement &element,
402
384
QgsSymbolLayerUtils::createFunctionElement ( doc, ruleElem, props.value ( " filter" , " " ) );
403
385
}
404
386
405
- if ( !props.value ( " scaleMinDenom" , " " ).isEmpty () )
406
- {
407
- QDomElement scaleMinDenomElem = doc.createElement ( " se:MinScaleDenominator" );
408
- scaleMinDenomElem.appendChild ( doc.createTextNode ( props.value ( " scaleMinDenom" , " " ) ) );
409
- ruleElem.appendChild ( scaleMinDenomElem );
410
- }
411
-
412
- if ( !props.value ( " scaleMaxDenom" , " " ).isEmpty () )
413
- {
414
- QDomElement scaleMaxDenomElem = doc.createElement ( " se:MaxScaleDenominator" );
415
- scaleMaxDenomElem.appendChild ( doc.createTextNode ( props.value ( " scaleMaxDenom" , " " ) ) );
416
- ruleElem.appendChild ( scaleMaxDenomElem );
417
- }
387
+ QgsSymbolLayerUtils::applyScaleDependency ( doc, ruleElem, props );
418
388
419
389
mSymbol ->toSld ( doc, ruleElem, props );
420
390
}
@@ -977,9 +947,9 @@ QgsRuleBasedRenderer* QgsRuleBasedRenderer::clone() const
977
947
return r;
978
948
}
979
949
980
- void QgsRuleBasedRenderer::toSld ( QDomDocument& doc, QDomElement &element ) const
950
+ void QgsRuleBasedRenderer::toSld ( QDomDocument& doc, QDomElement &element, QgsStringMap props ) const
981
951
{
982
- mRootRule ->toSld ( doc, element, QgsStringMap () );
952
+ mRootRule ->toSld ( doc, element, props );
983
953
}
984
954
985
955
// TODO: ideally this function should be removed in favor of legendSymbol(ogy)Items
0 commit comments