class OSMInfotool(QgsMapTool): def __init__(self, iface): QgsMapTool.__init__(self, iface.mapCanvas()) self.result_renderer = RubberBandResultRenderer() self.canvas = iface.mapCanvas() #self.emitPoint = QgsMapToolEmitPoint(self.canvas) self.iface = iface self.cursor = QCursor(QPixmap(":/plugins/osminfo/icons/cursor.png"), 1, 1) #self.visibilityChanged.connect(self.result_renderer.clear) self.docWidgetResults = ResultsDialog("OSM Info", self.result_renderer, self.iface.mainWindow()) self.docWidgetResults.setVisible(False) self.docWidgetResults.setFloating(True) self.docWidgetResults.visibilityChanged.connect(self.docWidgetResultsVisChange) def __del__(self): self.clearCanvas() def clearCanvas(self): self.result_renderer.clear() self.result_renderer.clear_feature() def docWidgetResultsVisChange(self, vis): if vis is False: self.clearCanvas() def activate(self): self.canvas.setCursor(self.cursor) def deactivate(self): if self.docWidgetResults.isFloating(): self.docWidgetResults.setVisible(False) def canvasReleaseEvent(self, event): crsSrc = self.canvas.mapRenderer().destinationCrs() crsWGS = QgsCoordinateReferenceSystem(4326) QApplication.setOverrideCursor(Qt.WaitCursor) x = event.pos().x() y = event.pos().y() point = self.canvas.getCoordinateTransform().toMapCoordinates(x, y) xform = QgsCoordinateTransform(crsSrc, crsWGS) point = xform.transform(QgsPoint(point.x(), point.y())) QApplication.restoreOverrideCursor() xx = str(point.x()) yy = str(point.y()) self.result_renderer.clear() self.result_renderer.clear_feature() self.result_renderer.show_point(point, False) self.canvas.update() self.docWidgetResults.getInfo(xx, yy) self.docWidgetResults.setVisible(True)
class OSMInfotool(QgsMapTool): def __init__(self, iface): QgsMapTool.__init__(self, iface.mapCanvas()) self.result_renderer = RubberBandResultRenderer() self.canvas = iface.mapCanvas() #self.emitPoint = QgsMapToolEmitPoint(self.canvas) self.iface = iface self.cursor = QCursor(QPixmap(":/plugins/osminfo/icons/cursor.png"), 1, 1) #self.visibilityChanged.connect(self.result_renderer.clear) self.docWidgetResults = ResultsDialog("OSM Info", self.result_renderer, self.iface.mainWindow()) self.docWidgetResults.setVisible(False) self.docWidgetResults.setFloating(True) self.docWidgetResults.visibilityChanged.connect( self.docWidgetResultsVisChange) def __del__(self): self.clearCanvas() def clearCanvas(self): self.result_renderer.clear() self.result_renderer.clear_feature() def docWidgetResultsVisChange(self, vis): if vis is False: self.clearCanvas() def activate(self): self.canvas.setCursor(self.cursor) def deactivate(self): if self.docWidgetResults.isFloating(): self.docWidgetResults.setVisible(False) def canvasReleaseEvent(self, event): crsSrc = self.canvas.mapRenderer().destinationCrs() crsWGS = QgsCoordinateReferenceSystem(4326) QApplication.setOverrideCursor(Qt.WaitCursor) x = event.pos().x() y = event.pos().y() point = self.canvas.getCoordinateTransform().toMapCoordinates(x, y) xform = QgsCoordinateTransform(crsSrc, crsWGS) point = xform.transform(QgsPoint(point.x(), point.y())) QApplication.restoreOverrideCursor() xx = str(point.x()) yy = str(point.y()) self.result_renderer.clear() self.result_renderer.clear_feature() self.result_renderer.show_point(point, False) self.canvas.update() self.docWidgetResults.getInfo(xx, yy) self.docWidgetResults.setVisible(True)