class EditGenericAttributes(QgsMapToolEmitPoint): """ Tool to edit generic attributes by clicking on the map. """ def __init__(self, canvas, layer): QgsMapToolEmitPoint.__init__(self, canvas) self.canvas = canvas self.layer = layer self.identifier = QgsMapToolIdentifyFeature(canvas, layer) self.setCursor(Qt.CrossCursor) def canvasReleaseEvent(self, event): feature = self.identifier.identify( event.x(), event.y(), self.identifier.TopDownStopAtFirst)[0] self.identifier.featureIdentified.emit(feature.mFeature) def deactivate(self): QgsMapTool.deactivate(self) self.deactivated.emit()