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