diff --git a/python/plugins/processing/gui/ExtentSelectionPanel.py b/python/plugins/processing/gui/ExtentSelectionPanel.py index 739143f5fbe..c043a538b1c 100644 --- a/python/plugins/processing/gui/ExtentSelectionPanel.py +++ b/python/plugins/processing/gui/ExtentSelectionPanel.py @@ -48,7 +48,7 @@ WIDGET, BASE = uic.loadUiType( class ExtentSelectionPanel(BASE, WIDGET): - def __init__(self, dialog, alg, default): + def __init__(self, dialog, alg, default=None): super(ExtentSelectionPanel, self).__init__(None) self.setupUi(self) @@ -66,6 +66,18 @@ class ExtentSelectionPanel(BASE, WIDGET): self.tool = RectangleMapTool(canvas) self.tool.rectangleCreated.connect(self.updateExtent) + if default: + tokens = unicode(default).split(',') + if len(tokens) == 4: + try: + float(tokens[0]) + float(tokens[1]) + float(tokens[2]) + float(tokens[3]) + self.leText.setText(unicode(default)) + except: + pass + def canUseAutoExtent(self): for param in self.params: if isinstance(param, (ParameterRaster, ParameterVector)): diff --git a/python/plugins/processing/gui/GeometryPredicateSelectionPanel.py b/python/plugins/processing/gui/GeometryPredicateSelectionPanel.py index 24029b24737..c50b006e73c 100644 --- a/python/plugins/processing/gui/GeometryPredicateSelectionPanel.py +++ b/python/plugins/processing/gui/GeometryPredicateSelectionPanel.py @@ -82,7 +82,7 @@ class GeometryPredicateSelectionPanel(BASE, WIDGET): def updatePredicates(self): if (isinstance(self.leftLayer, QgsVectorLayer) - and isinstance(self.rightLayer, QgsVectorLayer)): + and isinstance(self.rightLayer, QgsVectorLayer)): leftType = self.leftLayer.geometryType() rightType = self.rightLayer.geometryType() unusablePredicates = self.unusablePredicates[leftType][rightType] @@ -115,7 +115,8 @@ class GeometryPredicateSelectionPanel(BASE, WIDGET): return values def setValue(self, values): - for predicate in ParameterGeometryPredicate.predicates: - widget = self.getWidget(predicate) - widget.setChecked(predicate in values) + if values: + for predicate in ParameterGeometryPredicate.predicates: + widget = self.getWidget(predicate) + widget.setChecked(predicate in values) return True diff --git a/python/plugins/processing/gui/NumberInputPanel.py b/python/plugins/processing/gui/NumberInputPanel.py index a286bfd4c5d..0a85edd3f47 100644 --- a/python/plugins/processing/gui/NumberInputPanel.py +++ b/python/plugins/processing/gui/NumberInputPanel.py @@ -60,8 +60,16 @@ class NumberInputPanel(BASE, WIDGET): else: self.spnValue.setMinimum(-99999999) - self.spnValue.setValue(float(number)) - self.spnValue.setClearValue(float(number)) + #Set default value + if number == 0 or number: + self.spnValue.setValue(float(number)) + self.spnValue.setClearValue(float(number)) + elif minimum == 0 or minimum: + self.spnValue.setValue(float(minimum)) + self.spnValue.setClearValue(float(minimum)) + else: + self.spnValue.setValue(0) + self.spnValue.setClearValue(0) self.btnCalc.clicked.connect(self.showNumberInputDialog) diff --git a/python/plugins/processing/gui/ParametersPanel.py b/python/plugins/processing/gui/ParametersPanel.py index b9f14a9efe9..314684e3504 100644 --- a/python/plugins/processing/gui/ParametersPanel.py +++ b/python/plugins/processing/gui/ParametersPanel.py @@ -286,7 +286,8 @@ class ParametersPanel(BASE, WIDGET): elif isinstance(param, ParameterSelection): item = QComboBox() item.addItems(param.options) - item.setCurrentIndex(param.default) + if param.default: + item.setCurrentIndex(param.default) elif isinstance(param, ParameterFixedTable): item = FixedTablePanel(param) elif isinstance(param, ParameterRange): @@ -320,12 +321,14 @@ class ParametersPanel(BASE, WIDGET): verticalLayout.setSizeConstraint( QLayout.SetDefaultConstraint) textEdit = QPlainTextEdit() - textEdit.setPlainText(param.default) + if param.default: + textEdit.setPlainText(param.default) verticalLayout.addWidget(textEdit) item = textEdit else: item = QLineEdit() - item.setText(unicode(param.default)) + if param.default: + item.setText(unicode(param.default)) elif isinstance(param, ParameterGeometryPredicate): item = GeometryPredicateSelectionPanel(param.enabledPredicates) if param.left: @@ -341,10 +344,12 @@ class ParametersPanel(BASE, WIDGET): widget.currentIndexChanged.connect(item.onRightLayerChange) item.rightLayer = widget.itemData(widget.currentIndex()) item.updatePredicates() - item.setValue(param.default) + if param.default: + item.setValue(param.default) else: item = QLineEdit() - item.setText(unicode(param.default)) + if param.default: + item.setText(unicode(param.default)) return item @@ -362,7 +367,7 @@ class ParametersPanel(BASE, WIDGET): if self.alg.getParameterFromName(child).optional: widget.addItem(self.tr('[not set]')) widget.addItems(self.getFields(layer, - self.alg.getParameterFromName(child).datatype)) + self.alg.getParameterFromName(child).datatype)) def getFields(self, layer, datatype): fieldTypes = []