def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """

        if param.name in ["CHANGES"]:
            item = TableReplaceInputDialog(self, param)

        elif param.name in ["MAP_CSV"]:
            item = FileSelectionCSVTXTPanel(param.isFolder, param.ext)

        elif isinstance(param, ParameterRaster):
            # === Overload of Panel for Raster in order to add signal for updating param
            layers = dataobjects.getRasterLayers()
            items = []
            if param.optional:
                items.append((self.NOT_SELECTED, None))

            self.NONE_SELECTED = self.tr('Chose a layer')
            items.append((self.NONE_SELECTED, ""))  # Not use None
            for layer in layers:
                items.append((self.getExtendedLayerName(layer), layer))
            item = InputLayerSelectorPanel(items, param)

        else:
            # == default Wigdet from Parameter, i.e. use parent method
            item = ParametersPanel.getWidgetFromParameter(self, param)

        return item
Esempio n. 2
0
    def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """

        if param.name in ["METRICS"]:
            # === Overload ParameterString for special parameter name like FIELDS,..s
            item = DoubleCmbBoxSelectionPanel(self.parent, self.alg,
                                              param.default)
        elif param.name in ["FILTER", "UNFILTER"]:
            # === Overload ParameterString for special parameter name like FIELDS,..s
            item = ValuesSelectionPanel(self.parent, self.alg, param.default,
                                        'INPUT_LAYER_ASC')
            if param.default:
                item.setText(unicode(param.default))

        elif isinstance(param, ParameterRaster):
            # === Overload of Panel for Raster in order to add signal for updating param
            layers = dataobjects.getRasterLayers()
            items = []
            if param.optional:
                items.append((self.NOT_SELECTED, None))

            self.NONE_SELECTED = self.tr('Chose a layer')
            items.append((self.NONE_SELECTED, ""))  # Not use None
            for layer in layers:
                items.append((self.getExtendedLayerName(layer), layer))
            item = InputLayerSelectorPanel(items, param)

        else:
            # == default Wigdet from Parameter, i.e. use parent method
            item = ParametersPanel.getWidgetFromParameter(self, param)

        return item
 def getWidgetFromParameter(self, param):
     if isinstance(param, ParameterBands):
         item = GPFBandsSelectorPanel(param.default, self.parent,
                                      self.alg.programKey,
                                      param.bandSourceRaster, False)
     # Sspecial treatment for S1 Toolbox Terrain-Correction to get pixel sizes from SAR image
     elif isinstance(param, ParameterPixelSize):
         item = S1TbxPixelSizeInputPanel(param.default, param.isInteger,
                                         self.parent, self.alg.programKey)
     else:
         item = ParametersPanel.getWidgetFromParameter(self, param)
     return item
Esempio n. 4
0
    def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """

        if param.name in ["METRICS"]:
            # === Overload ParameterString for special parameter name like FIELDS,..s
            item = ListSelectionPanel(self.parent, self.alg, param.default)


        else:
            # == default Wigdet from Parameter, i.e. use parent method
            item = ParametersPanel.getWidgetFromParameter(self,param)

        return item
    def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """

        if param.name in ["INPUTS_MATRIX"]:
            
            options = dataobjects.getRasterLayers(sorting=False)
            opts = [self.getExtendedLayerName(opt) for opt in options]
            item = OrderedMultipleInputPanel(opts)

        else:
            # == default Wigdet from Parameter, i.e. use parent method
            item = ParametersPanel.getWidgetFromParameter(self,param)

        return item
Esempio n. 6
0
 def getWidgetFromParameter(self, param):
     if isinstance(param, ParameterFieldsMapping):
         item = FieldsMappingPanel()
         if param.parent in self.dependentItems:
             items = self.dependentItems[param.parent]
         else:
             items = []
             self.dependentItems[param.parent] = items
         items.append(param.name)
         parent = self.alg.getParameterFromName(param.parent)
         if isinstance(parent, ParameterVector):
             layers = dataobjects.getVectorLayers(parent.shapetype)
         else:
             layers = dataobjects.getTables()
         if len(layers) > 0:
             item.setLayer(layers[0])
         return item
     return ParametersPanel.getWidgetFromParameter(self, param)
Esempio n. 7
0
 def getWidgetFromParameter(self, param):
     if isinstance(param, ParameterFieldsMapping):
         item = FieldsMappingPanel()
         if param.parent in self.dependentItems:
             items = self.dependentItems[param.parent]
         else:
             items = []
             self.dependentItems[param.parent] = items
         items.append(param.name)
         parent = self.alg.getParameterFromName(param.parent)
         if isinstance(parent, ParameterVector):
             layers = dataobjects.getVectorLayers(parent.shapetype)
         else:
             layers = dataobjects.getTables()
         if len(layers) > 0:
             item.setLayer(layers[0])
         return item
     return ParametersPanel.getWidgetFromParameter(self, param)
Esempio n. 8
0
    def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """

        # if isinstance(param, ParameterString) and param.name in ["VALUES_RANGES"]:
        #     # === Overload ParameterString for special parameter name like VALUES_RANGES,..

        #     if param.name == "VALUES_RANGES":
        #         item = ValuesSelectionPanel(self.parent, self.alg, param.default)

        #         if param.default:
        #             item.setText(unicode(param.default))

        # == default Wigdet from Parameter, i.e. use parent method
        item = ParametersPanel.getWidgetFromParameter(self, param)

        return item
    def getWidgetFromParameter(self, param):
        """
        Overload for custom Qwidget(Panel) from Parameter
        return item : Qwidget(Panel)
        """


        if param.name in ["FIELDS"]:
            # === Overload ParameterString for special parameter name like FIELDS,..
            
            item = CSVFieldSelectionPanel(self.parent, self.alg, param.default)
            if param.default:
                item.setText(unicode(param.default))


        elif param.name in ["INPUT_FILE_CSV"]:
            layers = dataobjects.getTables()
            items = []
            if param.optional:
                items.append((self.NOT_SELECTED, None))
            for layer in layers:
                items.append((layer.name(), layer))
            # if already set, put first in list
            for i, (name, layer) in enumerate(items):
                if layer and layer.source() == param.value:
                    items.insert(0, items.pop(i))
            item = InputLayerSelectorPanel(items, param)

        #     # === Overload ParameterString for special parameter name like FIELDS,..
            
        #     item = CSVFieldSelectionPanel(self.parent, self.alg, param.default)
        #     if param.default:
        #         item.setText(unicode(param.default))

        # elif isinstance(param, ParameterFile):
        #     # === Overload of Panel for Raster in order to add signal for updating param
        #     item = CustomFileSelectionPanel(param.isFolder, param.ext)

        else:
            # == default Wigdet from Parameter, i.e. use parent method
            item = ParametersPanel.getWidgetFromParameter(self,param)

        return item
 def getWidgetFromParameter(self, param):
     if param.name in self.customParam.keys():
         return self.customParam[param.name]
     return ParametersPanel.getWidgetFromParameter(self, param)