コード例 #1
0
ファイル: data_type_dialog.py プロジェクト: DLR-SC/DataFinder
 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
コード例 #2
0
    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
コード例 #3
0
    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()))
コード例 #4
0
    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()
コード例 #5
0
    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()
コード例 #6
0
    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()
コード例 #7
0
    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()
コード例 #8
0
    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)
コード例 #9
0
    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)
コード例 #10
0
    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()
コード例 #11
0
 def __init__(self, parent):
     QComboTableItem.__init__(self, parent, QStringList(), False)
     self.index_to_key = {}
     self.key_to_index = {}