mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-28 00:17:30 -05:00
Fix gui handling of NULL/None default values in processing script algorithms
This commit is contained in:
parent
be959628e5
commit
2013725793
@ -70,7 +70,8 @@ from qgis.core import (
|
|||||||
QgsProcessingOutputString,
|
QgsProcessingOutputString,
|
||||||
QgsProcessingOutputNumber,
|
QgsProcessingOutputNumber,
|
||||||
QgsProcessingModelChildParameterSource,
|
QgsProcessingModelChildParameterSource,
|
||||||
QgsProcessingModelAlgorithm)
|
QgsProcessingModelAlgorithm,
|
||||||
|
NULL)
|
||||||
|
|
||||||
from qgis.PyQt.QtWidgets import (
|
from qgis.PyQt.QtWidgets import (
|
||||||
QCheckBox,
|
QCheckBox,
|
||||||
@ -249,6 +250,8 @@ class BooleanWidgetWrapper(WidgetWrapper):
|
|||||||
return widget
|
return widget
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
self.widget.setChecked(value)
|
self.widget.setChecked(value)
|
||||||
else:
|
else:
|
||||||
@ -320,6 +323,9 @@ class CrsWidgetWrapper(WidgetWrapper):
|
|||||||
self.setValue(dialog.crs().authid())
|
self.setValue(dialog.crs().authid())
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_MODELER:
|
if self.dialogType == DIALOG_MODELER:
|
||||||
self.setComboValue(value, self.combo)
|
self.setComboValue(value, self.combo)
|
||||||
elif value == 'ProjectCrs':
|
elif value == 'ProjectCrs':
|
||||||
@ -365,6 +371,9 @@ class ExtentWidgetWrapper(WidgetWrapper):
|
|||||||
return widget
|
return widget
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
self.widget.setExtentFromString(value)
|
self.widget.setExtentFromString(value)
|
||||||
else:
|
else:
|
||||||
@ -410,6 +419,9 @@ class PointWidgetWrapper(WidgetWrapper):
|
|||||||
return item
|
return item
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
self.widget.setPointFromString(value)
|
self.widget.setPointFromString(value)
|
||||||
else:
|
else:
|
||||||
@ -491,6 +503,9 @@ class FileWidgetWrapper(WidgetWrapper):
|
|||||||
self.combo.setEditText(filename)
|
self.combo.setEditText(filename)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
self.widget.setText(value)
|
self.widget.setText(value)
|
||||||
else:
|
else:
|
||||||
@ -610,6 +625,9 @@ class MultipleLayerWidgetWrapper(WidgetWrapper):
|
|||||||
self.widget.updateForOptions(opts)
|
self.widget.updateForOptions(opts)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
pass # TODO
|
pass # TODO
|
||||||
elif self.dialogType == DIALOG_BATCH:
|
elif self.dialogType == DIALOG_BATCH:
|
||||||
@ -666,6 +684,9 @@ class NumberWidgetWrapper(WidgetWrapper):
|
|||||||
return ModellerNumberInputPanel(self.param, self.dialog)
|
return ModellerNumberInputPanel(self.param, self.dialog)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
self.widget.setValue(value)
|
self.widget.setValue(value)
|
||||||
|
|
||||||
def value(self):
|
def value(self):
|
||||||
@ -694,6 +715,9 @@ class RangeWidgetWrapper(WidgetWrapper):
|
|||||||
# return ModellerNumberInputPanel(self.param, self.dialog)
|
# return ModellerNumberInputPanel(self.param, self.dialog)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
self.widget.setValue(value)
|
self.widget.setValue(value)
|
||||||
|
|
||||||
def value(self):
|
def value(self):
|
||||||
@ -781,6 +805,9 @@ class MapLayerWidgetWrapper(WidgetWrapper):
|
|||||||
self.combo.setEditText(filename)
|
self.combo.setEditText(filename)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
if self.combo.findText(value) >= 0:
|
if self.combo.findText(value) >= 0:
|
||||||
self.combo.setCurrentIndex(self.combo.findText(value))
|
self.combo.setCurrentIndex(self.combo.findText(value))
|
||||||
@ -858,6 +885,9 @@ class EnumWidgetWrapper(WidgetWrapper):
|
|||||||
return widget
|
return widget
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self._useCheckBoxes and not self.dialogType == DIALOG_BATCH:
|
if self._useCheckBoxes and not self.dialogType == DIALOG_BATCH:
|
||||||
self.widget.setValue(value)
|
self.widget.setValue(value)
|
||||||
return
|
return
|
||||||
@ -990,6 +1020,9 @@ class FeatureSourceWidgetWrapper(WidgetWrapper):
|
|||||||
self.combo.setEditText(filename)
|
self.combo.setEditText(filename)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
if self.combo.findText(value) >= 0:
|
if self.combo.findText(value) >= 0:
|
||||||
self.combo.setCurrentIndex(self.combo.findText(value))
|
self.combo.setCurrentIndex(self.combo.findText(value))
|
||||||
@ -1077,6 +1110,9 @@ class StringWidgetWrapper(WidgetWrapper):
|
|||||||
self.setValue(dlg.expressionText())
|
self.setValue(dlg.expressionText())
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
if self.param.multiLine():
|
if self.param.multiLine():
|
||||||
self.widget.setPlainText(value)
|
self.widget.setPlainText(value)
|
||||||
@ -1166,6 +1202,9 @@ class ExpressionWidgetWrapper(WidgetWrapper):
|
|||||||
self.widget.setLayer(layer)
|
self.widget.setLayer(layer)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
self.widget.setExpression(value)
|
self.widget.setExpression(value)
|
||||||
else:
|
else:
|
||||||
@ -1273,6 +1312,9 @@ class VectorLayerWidgetWrapper(WidgetWrapper):
|
|||||||
self.combo.setEditText(filename)
|
self.combo.setEditText(filename)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType == DIALOG_STANDARD:
|
if self.dialogType == DIALOG_STANDARD:
|
||||||
if self.combo.findText(value) >= 0:
|
if self.combo.findText(value) >= 0:
|
||||||
self.combo.setCurrentIndex(self.combo.findText(value))
|
self.combo.setCurrentIndex(self.combo.findText(value))
|
||||||
@ -1387,6 +1429,9 @@ class TableFieldWidgetWrapper(WidgetWrapper):
|
|||||||
return fieldNames
|
return fieldNames
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
if self.param.allowMultiple():
|
if self.param.allowMultiple():
|
||||||
options = self.widget.options
|
options = self.widget.options
|
||||||
@ -1471,6 +1516,9 @@ class BandWidgetWrapper(WidgetWrapper):
|
|||||||
self.widget.setCurrentIndex(0)
|
self.widget.setCurrentIndex(0)
|
||||||
|
|
||||||
def setValue(self, value):
|
def setValue(self, value):
|
||||||
|
if value is None or value == NULL:
|
||||||
|
return
|
||||||
|
|
||||||
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
|
||||||
self.widget.setBand(value)
|
self.widget.setBand(value)
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user