예제 #1
0
 def set_data(self, object_icons, object_class_names, object_names,
              object_names_dict):
     for i, object_class_name in enumerate(object_class_names):
         combo = QComboBox(self)
         model = QStandardItemModel()
         icon = object_icons[i]
         qitem = QStandardItem(icon, object_class_name)
         qitem.setFlags(~Qt.ItemIsSelectable)
         model.appendRow(qitem)
         all_object_names = object_names_dict[object_class_name]
         for object_name in all_object_names:
             qitem = QStandardItem(object_name)
             model.appendRow(qitem)
         combo.setModel(model)
         combo.insertSeparator(1)
         combo.activated.connect(
             lambda index, i=i: self.remove_missing_dimension(i))
         self.layout().addWidget(combo)
         self.combos.append(combo)
         try:
             object_name = object_names[i]
         except IndexError:
             self.missing_dimensions.add(i)
             continue
         if object_name:
             combo.setCurrentText(object_name)
         else:
             self.missing_dimensions.add(i)
예제 #2
0
    def generateDataTypesField(dataType=None):
        """
		@rtype: QComboBox
		"""
        dataTypes = QComboBox()
        dataTypes.addItems(
            ['TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'BIGINT', 'BIT'])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems(['FLOAT', 'DOUBLE', 'DECIMAL'])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems(
            ['CHAR', 'VARCHAR', 'TINYTEXT', 'TEXT', 'MEDIUMTEXT', 'LONGTEXT'])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems([
            'BINARY', 'VARBINARY', 'TINYBLOB', 'BLOB', 'MEDIUMBLOB', 'LONGBLOB'
        ])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems(['DATE', 'TIME', 'YEAR', 'DATETIME', 'TIMESTAMP'])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems([
            'POINT', 'LINESTRING', 'POLYGON', 'GEOMETRY', 'MULTIPOINT',
            'MULTILINESTRING', 'MULTIPOLYGON', 'GEOMETRYCOLLECTION'
        ])
        dataTypes.insertSeparator(dataTypes.count())
        dataTypes.addItems(['ENUM', 'SET'])

        if dataType is not None:
            dataTypes.setCurrentIndex(dataTypes.findText(dataType.upper()))

        return dataTypes