mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-13 00:03:09 -04:00
Fix clang warnings, scale truncation to int
This commit is contained in:
parent
0e2ceb90fe
commit
b5476ef5d4
@ -35,7 +35,7 @@ class QgsRuleBasedLabeling : QgsAbstractVectorLayerLabeling
|
||||
#include "qgsrulebasedlabeling.h"
|
||||
%End
|
||||
public:
|
||||
Rule( QgsPalLayerSettings *settings /Transfer/, int maximumScale = 0, int minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
|
||||
Rule( QgsPalLayerSettings *settings /Transfer/, double maximumScale = 0, double minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
|
||||
%Docstring
|
||||
takes ownership of settings, settings may be None
|
||||
%End
|
||||
|
@ -717,7 +717,7 @@ Checks if the properties contain scaleMinDenom and scaleMaxDenom, if available,
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
static void mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props );
|
||||
static void mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props );
|
||||
%Docstring
|
||||
Merges the local scale limits, if any, with the ones already in the map, if any
|
||||
|
||||
|
@ -54,7 +54,7 @@ QList<QgsAbstractLabelProvider *> QgsRuleBasedLabelProvider::subProviders()
|
||||
|
||||
////////////////////
|
||||
|
||||
QgsRuleBasedLabeling::Rule::Rule( QgsPalLayerSettings *settings, int scaleMinDenom, int scaleMaxDenom, const QString &filterExp, const QString &description, bool elseRule )
|
||||
QgsRuleBasedLabeling::Rule::Rule( QgsPalLayerSettings *settings, double scaleMinDenom, double scaleMaxDenom, const QString &filterExp, const QString &description, bool elseRule )
|
||||
: mSettings( settings )
|
||||
, mMaximumScale( scaleMinDenom )
|
||||
, mMinimumScale( scaleMaxDenom )
|
||||
@ -256,9 +256,9 @@ QDomElement QgsRuleBasedLabeling::Rule::save( QDomDocument &doc, const QgsReadWr
|
||||
}
|
||||
if ( !mFilterExp.isEmpty() )
|
||||
ruleElem.setAttribute( QStringLiteral( "filter" ), mFilterExp );
|
||||
if ( mMaximumScale != 0 )
|
||||
if ( !qgsDoubleNear( mMaximumScale, 0 ) )
|
||||
ruleElem.setAttribute( QStringLiteral( "scalemindenom" ), mMaximumScale );
|
||||
if ( mMinimumScale != 0 )
|
||||
if ( !qgsDoubleNear( mMinimumScale, 0 ) )
|
||||
ruleElem.setAttribute( QStringLiteral( "scalemaxdenom" ), mMinimumScale );
|
||||
if ( !mDescription.isEmpty() )
|
||||
ruleElem.setAttribute( QStringLiteral( "description" ), mDescription );
|
||||
|
@ -53,7 +53,7 @@ class CORE_EXPORT QgsRuleBasedLabeling : public QgsAbstractVectorLayerLabeling
|
||||
{
|
||||
public:
|
||||
//! takes ownership of settings, settings may be nullptr
|
||||
Rule( QgsPalLayerSettings *settings SIP_TRANSFER, int maximumScale = 0, int minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
|
||||
Rule( QgsPalLayerSettings *settings SIP_TRANSFER, double maximumScale = 0, double minimumScale = 0, const QString &filterExp = QString(), const QString &description = QString(), bool elseRule = false );
|
||||
~Rule();
|
||||
|
||||
//! Rules cannot be copied.
|
||||
@ -79,7 +79,7 @@ class CORE_EXPORT QgsRuleBasedLabeling : public QgsAbstractVectorLayerLabeling
|
||||
*
|
||||
* \returns True if scale based labeling is active
|
||||
*/
|
||||
bool dependsOnScale() const { return mMinimumScale != 0 || mMaximumScale != 0; }
|
||||
bool dependsOnScale() const { return !qgsDoubleNear( mMinimumScale, 0.0 ) || !qgsDoubleNear( mMaximumScale, 0 ); }
|
||||
|
||||
/**
|
||||
* Returns the maximum map scale (i.e. most "zoomed in" scale) at which the label rule will be active.
|
||||
|
@ -4201,22 +4201,22 @@ void QgsSymbolLayerUtils::applyScaleDependency( QDomDocument &doc, QDomElement &
|
||||
}
|
||||
}
|
||||
|
||||
void QgsSymbolLayerUtils::mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props )
|
||||
void QgsSymbolLayerUtils::mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props )
|
||||
{
|
||||
if ( mScaleMinDenom != 0 )
|
||||
if ( !qgsDoubleNear( mScaleMinDenom, 0 ) )
|
||||
{
|
||||
bool ok;
|
||||
int parentScaleMinDenom = props.value( QStringLiteral( "scaleMinDenom" ), QStringLiteral( "0" ) ).toInt( &ok );
|
||||
double parentScaleMinDenom = props.value( QStringLiteral( "scaleMinDenom" ), QStringLiteral( "0" ) ).toDouble( &ok );
|
||||
if ( !ok || parentScaleMinDenom <= 0 )
|
||||
props[ QStringLiteral( "scaleMinDenom" )] = QString::number( mScaleMinDenom );
|
||||
else
|
||||
props[ QStringLiteral( "scaleMinDenom" )] = QString::number( std::max( parentScaleMinDenom, mScaleMinDenom ) );
|
||||
}
|
||||
|
||||
if ( mScaleMaxDenom != 0 )
|
||||
if ( !qgsDoubleNear( mScaleMaxDenom, 0 ) )
|
||||
{
|
||||
bool ok;
|
||||
int parentScaleMaxDenom = props.value( QStringLiteral( "scaleMaxDenom" ), QStringLiteral( "0" ) ).toInt( &ok );
|
||||
double parentScaleMaxDenom = props.value( QStringLiteral( "scaleMaxDenom" ), QStringLiteral( "0" ) ).toDouble( &ok );
|
||||
if ( !ok || parentScaleMaxDenom <= 0 )
|
||||
props[ QStringLiteral( "scaleMaxDenom" )] = QString::number( mScaleMaxDenom );
|
||||
else
|
||||
|
@ -654,7 +654,7 @@ class CORE_EXPORT QgsSymbolLayerUtils
|
||||
* Merges the local scale limits, if any, with the ones already in the map, if any
|
||||
* \since QGIS 3.0
|
||||
*/
|
||||
static void mergeScaleDependencies( int mScaleMinDenom, int mScaleMaxDenom, QgsStringMap &props );
|
||||
static void mergeScaleDependencies( double mScaleMinDenom, double mScaleMaxDenom, QgsStringMap &props );
|
||||
|
||||
/**
|
||||
* Encodes a reference to a parametric SVG into SLD, as a succession of parametric SVG using URL parameters,
|
||||
|
Loading…
x
Reference in New Issue
Block a user