mirror of
https://github.com/qgis/QGIS.git
synced 2025-12-15 00:07:25 -05:00
Give up on enum class
Python says no.
This commit is contained in:
parent
f13e91fb76
commit
a7610c5682
@ -1,6 +0,0 @@
|
||||
# The following has been generated automatically from src/core/processing/qgsprocessingparameters.h
|
||||
# monkey patching scoped based enum
|
||||
QgsProcessingFeatureSourceDefinition.Flag.FlagOverrideDefaultGeometryCheck.__doc__ = "If set, the default geometry check method (as dictated by QgsProcessingContext) will be overridden for this source"
|
||||
QgsProcessingFeatureSourceDefinition.Flag.FlagCreateIndividualOutputPerInputFeature.__doc__ = "If set, every feature processed from this source will be placed into its own individually created output destination. Support for this flag depends on how an algorithm is executed."
|
||||
QgsProcessingFeatureSourceDefinition.Flag.__doc__ = 'Flags which control source behavior.\n\n.. versionadded:: 3.14\n\n' + '* ``FlagOverrideDefaultGeometryCheck``: ' + QgsProcessingFeatureSourceDefinition.Flag.FlagOverrideDefaultGeometryCheck.__doc__ + '\n' + '* ``FlagCreateIndividualOutputPerInputFeature``: ' + QgsProcessingFeatureSourceDefinition.Flag.FlagCreateIndividualOutputPerInputFeature.__doc__
|
||||
# --
|
||||
@ -25,7 +25,7 @@ Encapsulates settings relating to a feature source input to a processing algorit
|
||||
%End
|
||||
public:
|
||||
|
||||
enum class Flag
|
||||
enum Flag
|
||||
{
|
||||
FlagOverrideDefaultGeometryCheck,
|
||||
FlagCreateIndividualOutputPerInputFeature,
|
||||
|
||||
@ -210,7 +210,7 @@ class AlgorithmDialog(QgsProcessingAlgorithmDialogBase):
|
||||
self.iterateParam = None
|
||||
|
||||
for param in self.algorithm().parameterDefinitions():
|
||||
if isinstance(parameters.get(param.name(), None), QgsProcessingFeatureSourceDefinition) and parameters[param.name()].flags & QgsProcessingFeatureSourceDefinition.Flag.FlagCreateIndividualOutputPerInputFeature.value:
|
||||
if isinstance(parameters.get(param.name(), None), QgsProcessingFeatureSourceDefinition) and parameters[param.name()].flags & QgsProcessingFeatureSourceDefinition.FlagCreateIndividualOutputPerInputFeature:
|
||||
self.iterateParam = param.name()
|
||||
break
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ class CORE_EXPORT QgsProcessingFeatureSourceDefinition
|
||||
* Flags which control source behavior.
|
||||
* \since QGIS 3.14
|
||||
*/
|
||||
enum class Flag : int
|
||||
enum Flag
|
||||
{
|
||||
FlagOverrideDefaultGeometryCheck = 1 << 0, //!< If set, the default geometry check method (as dictated by QgsProcessingContext) will be overridden for this source
|
||||
FlagCreateIndividualOutputPerInputFeature = 1 << 1, //!< If set, every feature processed from this source will be placed into its own individually created output destination. Support for this flag depends on how an algorithm is executed.
|
||||
|
||||
@ -253,7 +253,7 @@ class TestQgsXmlUtils(unittest.TestCase):
|
||||
definition = QgsProcessingFeatureSourceDefinition(QgsProperty.fromValue('my source'))
|
||||
definition.selectedFeaturesOnly = True
|
||||
definition.featureLimit = 27
|
||||
definition.flags = QgsProcessingFeatureSourceDefinition.Flag.FlagCreateIndividualOutputPerInputFeature
|
||||
definition.flags = QgsProcessingFeatureSourceDefinition.FlagCreateIndividualOutputPerInputFeature
|
||||
definition.geometryCheck = QgsFeatureRequest.GeometrySkipInvalid
|
||||
|
||||
elem = QgsXmlUtils.writeVariant(definition, doc)
|
||||
@ -261,9 +261,7 @@ class TestQgsXmlUtils(unittest.TestCase):
|
||||
self.assertEqual(c.source.staticValue(), 'my source')
|
||||
self.assertTrue(c.selectedFeaturesOnly)
|
||||
self.assertEqual(c.featureLimit, 27)
|
||||
self.assertTrue(c.flags & QgsProcessingFeatureSourceDefinition.Flag.FlagCreateIndividualOutputPerInputFeature.value)
|
||||
self.assertFalse(int(
|
||||
c.flags & QgsProcessingFeatureSourceDefinition.Flag.FlagOverrideDefaultGeometryCheck.value))
|
||||
self.assertEqual(c.flags, QgsProcessingFeatureSourceDefinition.FlagCreateIndividualOutputPerInputFeature)
|
||||
self.assertEqual(c.geometryCheck, QgsFeatureRequest.GeometrySkipInvalid)
|
||||
|
||||
def test_output_layer_definition(self):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user