예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
 def __init__(self, attribute, listenToCombo):
     DdComboBox.__init__(self, attribute)
     self.listenToCombo = listenToCombo