fixed issue with MultilineTextPanel in modeler (#10813)

This commit is contained in:
Victor Olaya 2014-07-06 11:56:51 +02:00
parent dcc017131b
commit 4df7b3464a
2 changed files with 10 additions and 10 deletions

View File

@ -319,15 +319,16 @@ class ModelerParametersDialog(QtGui.QDialog):
item = MultipleInputPanel(opts)
elif isinstance(param, ParameterString):
strings = self.getAvailableValuesOfType(ParameterString, OutputString)
options = [(self.resolveValueDescription(s), s) for s in strings]
if param.multiline:
item = MultilineTextPanel(strings, self.model)
item.setText(str(param.default))
item = MultilineTextPanel(options)
item.setText(unicode(param.default))
else:
item = QtGui.QComboBox()
item.setEditable(True)
for s in strings:
item.addItem(self.resolveValueDescription(s), s)
item.setEditText(str(param.default))
for desc, val in options:
item.addItem(desc, val)
item.setEditText(unicode(param.default))
elif isinstance(param, ParameterTableField):
item = QtGui.QComboBox()
item.setEditable(True)

View File

@ -25,24 +25,23 @@ __copyright__ = '(C) 2013, Victor Olaya'
__revision__ = '$Format:%H$'
from PyQt4 import QtCore, QtGui
from PyQt4 import QtGui
class MultilineTextPanel(QtGui.QWidget):
USE_TEXT = 0
def __init__(self, options, model, parent=None):
def __init__(self, options, parent=None):
super(MultilineTextPanel, self).__init__(parent)
self.options = options
self.model = model
self.options = options
self.verticalLayout = QtGui.QVBoxLayout(self)
self.verticalLayout.setSpacing(2)
self.verticalLayout.setMargin(0)
self.combo = QtGui.QComboBox()
self.combo.addItem('[Use text below]')
for option in options:
self.combo.addItem(option.name(), option)
self.combo.addItem(option[0], option[1])
self.combo.setSizePolicy(QtGui.QSizePolicy.Expanding,
QtGui.QSizePolicy.Expanding)
self.verticalLayout.addWidget(self.combo)