Exemplo n.º 1
0
    def getWidgetForSpatialFeatureFieldType(self, fieldTypeName, fieldName):
        widget = None

        if fieldTypeName == 'String' or fieldTypeName == 'Int' or fieldTypeName == 'Double' or fieldTypeName == 'LongLong':
            widget = QgsFilterLineEdit()
            #widget.setLayer(layer) # QgsFieldValuesLineEdit seems to crash occasionally and does not anyway seem to list values...
            # widget.setAttributeIndex(fieldIndex)
        elif fieldTypeName == 'Date' or fieldTypeName == 'DateTime':
            widget = QgsDateTimeEdit()
            widget.setAllowNull(True)
            widget.clear()
        elif fieldTypeName == 'Bool':
            widget = QComboBox()
            values = ["", "Kyllä", "Ei"]
            widget.addItems(values)
            #checkBox = QCheckBox("Kyllä / ei")
        elif fieldTypeName == 'uuid':
            values = []
            for item in self.yleiskaavaDatabase.getCodeListValuesForPlanObjectField(
                    fieldName):
                if item is not None:
                    values.append(item["koodi"])
            # for value in values:
            #     QgsMessageLog.logMessage('getWidgetForSpatialFeatureFieldType - value: ' + str(value), 'Yleiskaava-työkalu', Qgis.Info)
            widget = QComboBox()
            widget.addItem("")
            widget.addItems(values)

        return widget