Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
address comments
  • Loading branch information
alexbruy authored and nyalldawson committed Apr 4, 2020
1 parent f98a9e8 commit 4cdeafe
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
24 changes: 15 additions & 9 deletions src/gui/processing/qgsprocessingwidgetwrapperimpl.cpp
Expand Up @@ -653,17 +653,19 @@ QgsProcessingNumberParameterDefinitionWidget::QgsProcessingNumberParameterDefini

QgsProcessingParameterDefinition *QgsProcessingNumberParameterDefinitionWidget::createParameter( const QString &name, const QString &description, QgsProcessingParameterDefinition::Flags flags ) const
{
bool ok;
double val = mDefaultLineEdit->text().toDouble( &ok );

QgsProcessingParameterNumber::Type dataType = static_cast< QgsProcessingParameterNumber::Type >( mTypeComboBox->currentData().toInt() );
auto param = qgis::make_unique< QgsProcessingParameterNumber >( name, description, dataType, mDefaultLineEdit->text() );
auto param = qgis::make_unique< QgsProcessingParameterNumber >( name, description, dataType, ok ? val : QVariant() );

bool ok;
float val = mMinLineEdit->text().toFloat( &ok );
val = mMinLineEdit->text().toDouble( &ok );
if ( ok )
{
param->setMinimum( val );
}

val = mMaxLineEdit->text().toFloat( &ok );
val = mMaxLineEdit->text().toDouble( &ok );
if ( ok )
{
param->setMaximum( val );
Expand Down Expand Up @@ -995,10 +997,12 @@ QgsProcessingDistanceParameterDefinitionWidget::QgsProcessingDistanceParameterDe

QgsProcessingParameterDefinition *QgsProcessingDistanceParameterDefinitionWidget::createParameter( const QString &name, const QString &description, QgsProcessingParameterDefinition::Flags flags ) const
{
auto param = qgis::make_unique< QgsProcessingParameterDistance >( name, description, mDefaultLineEdit->text(), mParentLayerComboBox->currentData().toString() );

bool ok;
float val = mMinLineEdit->text().toFloat( &ok );
double val = mDefaultLineEdit->text().toDouble( &ok );

auto param = qgis::make_unique< QgsProcessingParameterDistance >( name, description, ok ? val : QVariant(), mParentLayerComboBox->currentData().toString() );

val = mMinLineEdit->text().toDouble( &ok );
if ( ok )
{
param->setMinimum( val );
Expand Down Expand Up @@ -1211,7 +1215,9 @@ QgsProcessingScaleParameterDefinitionWidget::QgsProcessingScaleParameterDefiniti

QgsProcessingParameterDefinition *QgsProcessingScaleParameterDefinitionWidget::createParameter( const QString &name, const QString &description, QgsProcessingParameterDefinition::Flags flags ) const
{
auto param = qgis::make_unique< QgsProcessingParameterScale >( name, description, mDefaultLineEdit->text() );
bool ok;
double val = mDefaultLineEdit->text().toDouble( &ok );
auto param = qgis::make_unique< QgsProcessingParameterScale >( name, description, ok ? val : QVariant() );
param->setFlags( flags );
return param.release();
}
Expand Down Expand Up @@ -3733,7 +3739,7 @@ QgsProcessingFieldParameterDefinitionWidget::QgsProcessingFieldParameterDefiniti
mDataTypeComboBox->addItem( tr( "String" ), QgsProcessingParameterField::String );
mDataTypeComboBox->addItem( tr( "Date/time" ), QgsProcessingParameterField::DateTime );
if ( const QgsProcessingParameterField *fieldParam = dynamic_cast<const QgsProcessingParameterField *>( definition ) )
mDataTypeComboBox->setCurrentIndex( fieldParam->dataType() + 1 ); // QComboBoxes indexes start at 0, datatype start with -1 that is why I need to do +1
mDataTypeComboBox->setCurrentIndex( mDataTypeComboBox->findData( fieldParam->dataType() ) );

vlayout->addWidget( mDataTypeComboBox );

Expand Down
2 changes: 1 addition & 1 deletion tests/src/gui/testprocessinggui.cpp
Expand Up @@ -1626,7 +1626,7 @@ void TestProcessingGui::testNumericWrapperDouble()
QVERIFY( !( def->flags() & QgsProcessingParameterDefinition::FlagAdvanced ) );

// using a parameter definition as initial values
QgsProcessingParameterNumber numParam( QStringLiteral( "n" ), QStringLiteral( "test desc" ), QgsProcessingParameterNumber::Double, 1 );
QgsProcessingParameterNumber numParam( QStringLiteral( "n" ), QStringLiteral( "test desc" ), QgsProcessingParameterNumber::Double, 1.0 );
numParam.setMinimum( 0 );
numParam.setMaximum( 10 );
widget = qgis::make_unique< QgsProcessingParameterDefinitionWidget >( QStringLiteral( "number" ), context, widgetContext, &numParam );
Expand Down

0 comments on commit 4cdeafe

Please sign in to comment.