示例#1
0
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)
示例#2
0
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)