Skip to content

Commit

Permalink
use QgsProcessingParameters::parameterAsBool
Browse files Browse the repository at this point in the history
rather than re-implementing QVariant conversion in QgsClassificationMethod
  • Loading branch information
3nids committed Dec 5, 2019
1 parent 7acc936 commit 456384e
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 22 deletions.
Expand Up @@ -341,13 +341,10 @@ The paramaeter is a processing parameter which will allow its configuration in t
.. versionadded:: 3.12
%End

QVariant parameterValue( const QString &name ) const;
QVariantMap parameterValues() const;
%Docstring
Get the parameter value

.. seealso:: :py:func:`setParameterValues`

.. versionadded:: 3.12
Return the values of the processing parameters.
One could use QgsProcessingParameters.parameterAsXxxx to retrieve the actual value of a parameter.
%End

};
Expand Down
Empty file.
10 changes: 8 additions & 2 deletions src/core/classification/qgsclassificationlogarithmic.cpp
Expand Up @@ -18,6 +18,8 @@
#include "qgsclassificationlogarithmic.h"
#include "qgssymbollayerutils.h"
#include "qgsapplication.h"
#include "qgsprocessingcontext.h"


QgsClassificationLogarithmic::QgsClassificationLogarithmic()
: QgsClassificationMethod( NoFlag, 0 )
Expand Down Expand Up @@ -55,7 +57,10 @@ QList<double> QgsClassificationLogarithmic::calculateBreaks( double &minimum, do
if ( maximum <= 0 )
return QList<double>();

if ( parameterValue( QStringLiteral( "FILTER_ZERO_NEG_VALUES" ) ).toBool() && minimum <= 0 )
QgsProcessingContext context;
bool filterZeroNeg = QgsProcessingParameters::parameterAsBool( parameterDefinition( QStringLiteral( "FILTER_ZERO_NEG_VALUES" ) ), parameterValues(), context );

if ( filterZeroNeg && minimum <= 0 )
{
Q_ASSERT( values.count() );
minimum = std::numeric_limits<double>::max();
Expand Down Expand Up @@ -109,5 +114,6 @@ QString QgsClassificationLogarithmic::labelForRange( double lowerValue, double u

bool QgsClassificationLogarithmic::valuesRequired() const
{
return parameterValue( QStringLiteral( "FILTER_ZERO_NEG_VALUES" ) ).toBool();
QgsProcessingContext context;
return QgsProcessingParameters::parameterAsBool( parameterDefinition( QStringLiteral( "FILTER_ZERO_NEG_VALUES" ) ), parameterValues(), context );
}
11 changes: 1 addition & 10 deletions src/core/classification/qgsclassificationmethod.cpp
Expand Up @@ -166,15 +166,6 @@ void QgsClassificationMethod::addParameter( QgsProcessingParameterDefinition *de
mParameters.append( definition );
}

QVariant QgsClassificationMethod::parameterValue( const QString &name ) const
{
const QgsProcessingParameterDefinition *def = parameterDefinition( name );
if ( def )
return mParameterValues.value( name, def->defaultValue() );
else
return mParameterValues.value( name );
}

const QgsProcessingParameterDefinition *QgsClassificationMethod::parameterDefinition( const QString &parameterName ) const
{
for ( const QgsProcessingParameterDefinition *def : mParameters )
Expand All @@ -188,7 +179,7 @@ const QgsProcessingParameterDefinition *QgsClassificationMethod::parameterDefini
void QgsClassificationMethod::setParameterValues( const QVariantMap &values )
{
mParameterValues = values;
for ( auto it = mParameterValues.begin(); it != mParameterValues.end(); ++it )
for ( auto it = mParameterValues.begin(); it != mParameterValues.end(); ++it )
{
if ( !parameterDefinition( it.key() ) )
{
Expand Down
7 changes: 3 additions & 4 deletions src/core/classification/qgsclassificationmethod.h
Expand Up @@ -312,11 +312,10 @@ class CORE_EXPORT QgsClassificationMethod SIP_ABSTRACT
void addParameter( QgsProcessingParameterDefinition *definition SIP_TRANSFER );

/**
* Get the parameter value
* \see setParameterValues
* \since QGIS 3.12
* Return the values of the processing parameters.
* One could use QgsProcessingParameters::parameterAsXxxx to retrieve the actual value of a parameter.
*/
QVariant parameterValue( const QString &name ) const;
QVariantMap parameterValues() const {return mParameterValues;}

private:

Expand Down

0 comments on commit 456384e

Please sign in to comment.