def setParamValue(self, alg, param, widget): if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable)): return self.setParamValueLayerOrTable(alg, param, widget) elif isinstance(param, ParameterBoolean): if widget.currentIndex() < 2: value = widget.currentIndex() == 0 else: value = widget.itemData(widget.currentIndex()) alg.params[param.name] = value return True elif isinstance(param, ParameterString): return self.setParamStringValue(alg, param, widget) elif isinstance(param, ParameterNumber): return self.setParamNumberValue(alg, param, widget) elif isinstance(param, ParameterExtent): return self.setParamExtentValue(alg, param, widget) elif isinstance(param, ParameterFile): return self.setParamFileValue(alg, param, widget) elif isinstance(param, ParameterSelection): alg.params[param.name] = widget.currentIndex() return True elif isinstance(param, ParameterRange): alg.params[param.name] = widget.getValue() return True elif isinstance(param, ParameterCrs): authid = widget.getValue() if authid is None: alg.params[param.name] = None else: alg.params[param.name] = authid return True elif isinstance(param, ParameterFixedTable): alg.params[param.name] = ParameterFixedTable.tableToString(widget.table) return True elif isinstance(param, ParameterTableField): return self.setParamTableFieldValue(alg, param, widget) elif isinstance(param, ParameterMultipleInput): if param.datatype == ParameterMultipleInput.TYPE_VECTOR_ANY: options = self.getAvailableValuesOfType(ParameterVector, OutputVector) else: options = self.getAvailableValuesOfType(ParameterRaster, OutputRaster) values = [options[i] for i in widget.selectedoptions] if len(values) == 0 and not param.optional: return False alg.params[param.name] = values return True else: alg.params[param.name] = unicode(widget.text()) return True
def setParamValue(self, param, widget): if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable)): return self.setParamValueLayerOrTable(param, widget) elif isinstance(param, ParameterBoolean): return self.setParamBooleanValue(param, widget) elif isinstance(param, ParameterString): return self.setParamStringValue(param, widget) elif isinstance(param, ParameterNumber): return self.setParamNumberValue(param, widget) elif isinstance(param, ParameterExtent): return self.setParamExtentValue(param, widget) elif isinstance(param, ParameterFile): return self.setParamFileValue(param, widget) elif isinstance(param, ParameterSelection): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = str(widget.currentIndex()) return True elif isinstance(param, ParameterRange): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = str(widget.getValue()) return True elif isinstance(param, ParameterCrs): authid = widget.getValue() if authid is None: self.params[param.name] = None else: name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = authid return True elif isinstance(param, ParameterFixedTable): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = ParameterFixedTable.tableToString(widget.table) return True elif isinstance(param, ParameterTableField): return self.setParamTableFieldValue(param, widget) elif isinstance(param, ParameterMultipleInput): if param.datatype == ParameterMultipleInput.TYPE_VECTOR_ANY: options = self.getVectorLayers() else: options = self.getRasterLayers() values = [] for index in widget.selectedoptions: values.append(options[index].serialize()) if len(values) == 0 and not param.optional: return False name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = ';'.join(values) return True else: name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter( AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = unicode(widget.text()) return True
def setParamValue(self, param, widget): if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable)): return self.setParamValueLayerOrTable(param, widget) elif isinstance(param, ParameterBoolean): return self.setParamBooleanValue(param, widget) elif isinstance(param, ParameterString): return self.setParamStringValue(param, widget) elif isinstance(param, ParameterNumber): return self.setParamNumberValue(param, widget) elif isinstance(param, ParameterExtent): return self.setParamExtentValue(param, widget) elif isinstance(param, ParameterFile): return self.setParamFileValue(param, widget) elif isinstance(param, ParameterSelection): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = str(widget.currentIndex()) return True elif isinstance(param, ParameterRange): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = str(widget.getValue()) return True elif isinstance(param, ParameterCrs): authid = widget.getValue() if authid is None: self.params[param.name] = None else: name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = authid return True elif isinstance(param, ParameterFixedTable): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = ParameterFixedTable.tableToString(widget.table) return True elif isinstance(param, ParameterTableField): return self.setParamTableFieldValue(param, widget) elif isinstance(param, ParameterMultipleInput): if param.datatype == ParameterMultipleInput.TYPE_VECTOR_ANY: options = self.getVectorLayers() else: options = self.getRasterLayers() values = [] for index in widget.selectedoptions: values.append(options[index].serialize()) if len(values) == 0 and not param.optional: return False name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = ";".join(values) return True else: name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value self.values[name] = unicode(widget.text()) return True