def prepareCompleter(self, listenId = None): '''user can type in comboBox, appropriate values are displayed''' if listenId == None: DdComboBox.prepareCompleter(self) else: completerList = [] for keyValue, valueArray in self.values.iteritems(): if valueArray[1] == listenId: completerList.append(valueArray[0]) self.completer = QtGui.QCompleter(completerList) #values method of dict class self.completer.setCaseSensitivity(0) self.inputWidget.setCompleter(self.completer)
def fill(self, listenId = None): '''fill the QComboBox with the values''' if self.values != {}: self.inputWidget.clear() if listenId == None: DdComboBox.fill(self) else: for keyValue, valueArray in self.values.iteritems(): if valueArray[1] == listenId: sValue = valueArray[0] self.inputWidget.addItem(sValue, keyValue) #sort the comboBox model = self.inputWidget.model() proxy = QtGui.QSortFilterProxyModel(self.inputWidget) proxy.setSourceModel(model) model.setParent(proxy) model.sort(0) self.prepareCompleter(listenId)
def __init__(self, attribute, listenToCombo): DdComboBox.__init__(self, attribute) self.listenToCombo = listenToCombo