Filter params and output before use. Use Enurmerate to count rows

This commit is contained in:
Nathan Woodrow 2014-01-02 13:31:48 +10:00
parent 797bd3233d
commit 79447b92c1

View File

@ -185,6 +185,8 @@ class ParametersPanel(QtGui.QWidget):
return layer.name() return layer.name()
def getWidgetFromParameter(self, param): def getWidgetFromParameter(self, param):
# TODO Create Parameter widget class that holds the logic
# for creating a widget that belongs to the parameter.
if isinstance(param, ParameterRaster): if isinstance(param, ParameterRaster):
layers = dataobjects.getRasterLayers() layers = dataobjects.getRasterLayers()
items = [] items = []
@ -334,16 +336,13 @@ class ParametersPanel(QtGui.QWidget):
return False return False
def setTableContent(self): def setTableContent(self):
params = self.alg.parameters params = [parm for parm in self.alg.parameters if not parm.hidden]
outputs = self.alg.outputs outputs = [output for output in self.alg.outputs if not output.hidden]
numParams = count(p for p in params if not p.hidden) numParams = len(parms)
numParams = count(o for o in outputs if not o.hidden) numOutputs = len(outputs)
self.tableWidget.setRowCount(numParams + numOutputs) self.tableWidget.setRowCount(numParams + numOutputs)
i = 0 for i, param in enurmerate(params):
for param in params:
if param.hidden:
continue
item = QtGui.QTableWidgetItem(param.description) item = QtGui.QTableWidgetItem(param.description)
item.setFlags(QtCore.Qt.ItemIsEnabled) item.setFlags(QtCore.Qt.ItemIsEnabled)
self.tableWidget.setItem(i, 0, item) self.tableWidget.setItem(i, 0, item)
@ -351,11 +350,8 @@ class ParametersPanel(QtGui.QWidget):
self.valueItems[param.name] = item self.valueItems[param.name] = item
self.tableWidget.setCellWidget(i, 1, item) self.tableWidget.setCellWidget(i, 1, item)
self.tableWidget.setRowHeight(i, 22) self.tableWidget.setRowHeight(i, 22)
i += 1
for output in outputs: for i, output in enurmerate(outputs):
if output.hidden:
continue
item = QtGui.QTableWidgetItem(output.description + '<' item = QtGui.QTableWidgetItem(output.description + '<'
+ output.__module__.split('.')[-1] + '>') + output.__module__.split('.')[-1] + '>')
item.setFlags(QtCore.Qt.ItemIsEnabled) item.setFlags(QtCore.Qt.ItemIsEnabled)
@ -364,4 +360,3 @@ class ParametersPanel(QtGui.QWidget):
self.valueItems[output.name] = item self.valueItems[output.name] = item
self.tableWidget.setCellWidget(i, 1, item) self.tableWidget.setCellWidget(i, 1, item)
self.tableWidget.setRowHeight(i, 22) self.tableWidget.setRowHeight(i, 22)
i += 1