def _getTypeCombobox(self, additionalTypes=None): """ Initializes and returns a combination box displaying available property types. """ stringList = QStringList() if not additionalTypes is None: for typeName in additionalTypes: if not typeName in self._propertyTypeNames: stringList.append(typeName) for typeName in self._propertyTypeNames: stringList.append(typeName) typeComboBox = QComboTableItem(self.propertyTable, stringList) typeComboBox.setEditable(True) return typeComboBox
def setWidgetFromProperty(self, row, property): if property.getType() == "boolean": newPropertyItem = QCheckTableItem(self, "") self.setItem(row, 1, newPropertyItem) if property.getUserValue(): self.item(row, 1).setChecked(1) else: self.item(row, 1).setChecked(0) elif property.getType() == "combo": choicesList = QStringList() choices = property.getChoices() for choice in choices: choicesList.append(choice) newPropertyItem = QComboTableItem(self, choicesList, 0) self.setItem(row, 1, newPropertyItem) self.item(row, 1).setCurrentItem(str(property.getUserValue())) elif property.getType() == "file": newPropertyItem = FileTableItem(self, property.getUserValue(), property.getFilter()) self.setItem(row, 1, newPropertyItem) elif property.getType() == "color": newPropertyItem = ColorTableItem(self, property.getUserValue()) self.setItem(row, 1, newPropertyItem) else: if property.getUserValue() is None: self.setText(row, 1, "") else: self.setText(row, 1, str(property.getUserValue()))
def addRows(self, rows=1): row = self.numRows() QTable.setNumRows(self, row + rows) for i in range(rows): self.setItem(row + i, 0, QComboTableItem(self, self.choicesList)) self.setItem(row + i, 1, MotorPositionReminder(self)) self.adjustColumn(1) self.updateGeometry()
def addRows(self, rows=1): row = self.numRows() QTable.setNumRows(self, row + rows) for i in range(rows): self.setItem(row + i, 0, QComboTableItem(self, self.motorsList)) self.setItem(row + i, 1, MotorPositionReminder(self)) for col in self.customColumns: if self.customColumns[col]['type'] == 'combo': optList = QStringList() try: for opt in self.customColumns[col]['opt']: optList.append(str(opt)) except: pass self.setItem(row + i, col, QComboTableItem(self, optList)) self.adjustColumn(1) self.updateGeometry()
def setMotors(self, motorSet): self.motorsList = QStringList() self.motors = {} #self.motorsList.append('') #self.motors[''] = None for motor in motorSet: self.motors[motor[1]] = motor[0] self.motorsList.append(motor[1]) self.motorsList.sort() for i in range(self.numRows()): self.setItem(i, 0, QComboTableItem(self, self.motorsList)) self.updateGeometry()
def addRows(self, rows=1): row = self.numRows() QTable.setNumRows(self, row + rows) for i in range(rows): for col in self.customColumns: if self.customColumns[col]['type'] == 'combo': optList = QStringList() try: for opt in self.customColumns[col]['opt']: optList.append(str(opt)) except: raise self.setItem(row + i, col, QComboTableItem(self, optList)) self.adjustColumn(col) self.updateGeometry()
def addColumn(self, label, type, opt=()): c = self.numCols() self.setNumCols(c + 1) self.horizontalHeader().setLabel(c, str(label)) self.customColumns[c] = {"type": str(type), "label": str(label), "opt": opt} if self.customColumns[c]["type"] == "combo": optList = QStringList() try: for opt in self.customColumns[c]["opt"]: optList.append(str(opt)) except BaseException: raise for i in range(self.numRows()): self.setItem(i, c, QComboTableItem(self, optList)) self.adjustColumn(c)
def addColumn(self, label, type, opt = ()): c = self.numCols() self.setNumCols(c + 1) self.horizontalHeader().setLabel(c, str(label)) self.customColumns[c] = {'type':str(type), 'label':str(label), 'opt':opt} if self.customColumns[c]['type'] == 'combo': optList = QStringList() try: for opt in self.customColumns[c]['opt']: optList.append(str(opt)) except: raise for i in range(self.numRows()): self.setItem(i, c, QComboTableItem(self, optList)) self.adjustColumn(c)
def setMotors(self, motorSet): self.motorList = QStringList() self.motors = {} self.motorList.append("") self.motors[""] = None for motor in motorSet: self.motors[motor[1]] = motor[0] self.motorList.append(motor[1]) self.motorList.sort() for i in range(self.numRows()): self.setItem(i, 0, QComboTableItem(self, self.motorList)) self.setText(i, 2, "") self.setText(i, 3, "") self.setText(i, 4, "") self.updateGeometry()
def __init__(self, parent): QComboTableItem.__init__(self, parent, QStringList(), False) self.index_to_key = {} self.key_to_index = {}