QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
processing
qgsprocessingparameterinterpolationsource.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsprocessingparameterinterpolationsource.cpp
3
---------------------
4
Date : August 2026
5
Copyright : (C) 2026 by Nyall Dawson
6
Email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#include "
qgsprocessingparameterinterpolationsource.h
"
17
18
#include "
qgsprocessingcontext.h
"
19
20
#include <QString>
21
22
using namespace
Qt::StringLiterals;
23
24
25
QgsProcessingParameterInterpolationSource::QgsProcessingParameterInterpolationSource
(
const
QString &
name
,
const
QString &
description
)
26
:
QgsProcessingParameterDefinition
(
name
,
description
)
27
{}
28
29
QgsProcessingParameterInterpolationSource
*
QgsProcessingParameterInterpolationSource::clone
()
const
30
{
31
return
new
QgsProcessingParameterInterpolationSource
(
name
(),
description
() );
32
}
33
34
QString
QgsProcessingParameterInterpolationSource::type
()
const
35
{
36
return
typeName
();
37
}
38
39
QString
QgsProcessingParameterInterpolationSource::asPythonString
(
QgsProcessing::PythonOutputType
outputType )
const
40
{
41
switch
( outputType )
42
{
43
case
QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass
:
44
{
45
QString code = u
"QgsProcessingParameterInterpolationSource('%1', %2)"
_s.arg(
name
(),
QgsProcessingUtils::stringToPythonLiteral
(
description
() ) );
46
return
code;
47
}
48
}
49
return
QString();
50
}
51
52
bool
QgsProcessingParameterInterpolationSource::checkValueIsAcceptable
(
const
QVariant &input,
QgsProcessingContext
* )
const
53
{
54
if
( !input.isValid() && !
mDefault
.isValid() )
55
return
mFlags
&
Qgis::ProcessingParameterFlag::Optional
;
56
57
const
QString stringValue = input.toString();
58
if
( stringValue.isEmpty() || ( !input.isValid() &&
mDefault
.userType() == QMetaType::Type::QString &&
mDefault
.toString().isEmpty() ) )
59
return
mFlags
&
Qgis::ProcessingParameterFlag::Optional
;
60
61
const
QStringList layerRows = stringValue.split(
"::|::"
_L1 );
62
for
(
const
QString &row : layerRows )
63
{
64
if
( row.trimmed().isEmpty() )
65
return
false
;
66
67
const
QStringList tokens = row.split(
"::~::"
_L1 );
68
if
( tokens.count() < 4 )
69
{
70
return
false
;
71
}
72
}
73
74
return
true
;
75
}
Qgis::ProcessingParameterFlag::Optional
@ Optional
Parameter is optional.
Definition
qgis.h:4028
QgsProcessingContext
Contains information about the context in which a processing algorithm is executed.
Definition
qgsprocessingcontext.h:45
QgsProcessingParameterDefinition::mFlags
Qgis::ProcessingParameterFlags mFlags
Parameter flags.
Definition
qgsprocessingparameters.h:1024
QgsProcessingParameterDefinition::description
QString description() const
Returns the description for the parameter.
Definition
qgsprocessingparameters.h:623
QgsProcessingParameterDefinition::QgsProcessingParameterDefinition
QgsProcessingParameterDefinition(const QString &name, const QString &description=QString(), const QVariant &defaultValue=QVariant(), bool optional=false, const QString &help=QString())
Constructor for QgsProcessingParameterDefinition.
Definition
qgsprocessingparameters.cpp:2580
QgsProcessingParameterDefinition::name
QString name() const
Returns the name of the parameter.
Definition
qgsprocessingparameters.h:609
QgsProcessingParameterDefinition::mDefault
QVariant mDefault
Default value for parameter.
Definition
qgsprocessingparameters.h:1018
QgsProcessingParameterInterpolationSource::typeName
static QString typeName()
Returns the type name for the parameter class.
Definition
qgsprocessingparameterinterpolationsource.h:43
QgsProcessingParameterInterpolationSource::checkValueIsAcceptable
bool checkValueIsAcceptable(const QVariant &input, QgsProcessingContext *context=nullptr) const override
Checks whether the specified input value is acceptable for the parameter.
Definition
qgsprocessingparameterinterpolationsource.cpp:52
QgsProcessingParameterInterpolationSource::QgsProcessingParameterInterpolationSource
QgsProcessingParameterInterpolationSource(const QString &name, const QString &description=QString())
Constructor for QgsProcessingParameterInterpolationSource.
Definition
qgsprocessingparameterinterpolationsource.cpp:25
QgsProcessingParameterInterpolationSource::type
QString type() const override
Unique parameter type name.
Definition
qgsprocessingparameterinterpolationsource.cpp:34
QgsProcessingParameterInterpolationSource::clone
QgsProcessingParameterInterpolationSource * clone() const override
Creates a clone of the parameter definition.
Definition
qgsprocessingparameterinterpolationsource.cpp:29
QgsProcessingParameterInterpolationSource::asPythonString
QString asPythonString(QgsProcessing::PythonOutputType outputType=QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass) const override
Returns the parameter definition as a Python command which can be used within a Python Processing scr...
Definition
qgsprocessingparameterinterpolationsource.cpp:39
QgsProcessingUtils::stringToPythonLiteral
static QString stringToPythonLiteral(const QString &string)
Converts a string to a Python string literal.
Definition
qgsprocessingutils.cpp:869
QgsProcessing::PythonOutputType
PythonOutputType
Available Python output types.
Definition
qgsprocessing.h:50
QgsProcessing::PythonOutputType::PythonQgsProcessingAlgorithmSubclass
@ PythonQgsProcessingAlgorithmSubclass
Full Python QgsProcessingAlgorithm subclass.
Definition
qgsprocessing.h:51
qgsprocessingcontext.h
qgsprocessingparameterinterpolationsource.h
Generated on
for QGIS API Documentation by
1.17.0