class OLOverview(object):

    def __init__(self, iface, olLayerTypeRegistry):
        self._iface = iface
        self._olLayerTypeRegistry = olLayerTypeRegistry
        self._dockwidget = None
        self._oloWidget = None

    # Private
    def _setDocWidget(self):
        self._dockwidget = QDockWidget(QApplication.translate(
            "OpenLayersOverviewWidget", "OpenLayers Overview"),
                                       self._iface.mainWindow())
        self._dockwidget.setObjectName("dwOpenlayersOverview")
        self._oloWidget = OpenLayersOverviewWidget(self._iface,
                                                   self._dockwidget,
                                                   self._olLayerTypeRegistry)
        self._dockwidget.setWidget(self._oloWidget)

    def _initGui(self):
        self._setDocWidget()
        self._iface.addDockWidget(Qt.LeftDockWidgetArea, self._dockwidget)

    def _unload(self):
        self._dockwidget.close()
        self._iface.removeDockWidget(self._dockwidget)
        del self._oloWidget
        self._dockwidget = None

    # Public
    def setVisible(self, visible):
        if visible:
            if self._dockwidget is None:
                self._initGui()
        else:
            if self._dockwidget is not None:
                self._unload()
class OLOverview(object):
    def __init__(self, iface, olLayerTypeRegistry):
        self._iface = iface
        self._olLayerTypeRegistry = olLayerTypeRegistry
        self._dockwidget = None
        self._oloWidget = None

    # Private
    def _setDocWidget(self):
        self._dockwidget = QDockWidget(
            QApplication.translate("OpenLayersOverviewWidget",
                                   "OpenLayers Overview"),
            self._iface.mainWindow())
        self._dockwidget.setObjectName("dwOpenlayersOverview")
        self._oloWidget = OpenLayersOverviewWidget(self._iface,
                                                   self._dockwidget,
                                                   self._olLayerTypeRegistry)
        self._dockwidget.setWidget(self._oloWidget)

    def _initGui(self):
        self._setDocWidget()
        self._iface.addDockWidget(Qt.LeftDockWidgetArea, self._dockwidget)

    def _unload(self):
        self._dockwidget.close()
        self._iface.removeDockWidget(self._dockwidget)
        del self._oloWidget
        self._dockwidget = None

    # Public
    def setVisible(self, visible):
        if visible:
            if self._dockwidget is None:
                self._initGui()
        else:
            if self._dockwidget is not None:
                self._unload()
Exemplo n.º 3
0
class Mutant(object):
    def __init__(self, iface):
        self.iface = iface
        self.canvas = self.iface.mapCanvas()

    def initGui(self):
        # add action to toolbar
        self.action = QAction(QIcon(":/plugins/mutant/img/icon.svg"), "Mutant",
                              self.iface.mainWindow())
        self.iface.addToolBarIcon(self.action)
        self.tool = MutantMap(self.canvas, self.action)
        self.saveTool = None
        self.action.triggered.connect(self.activateTool)
        self.tool.deactivated.connect(self.deactivateTool)

        # create the widget to display information
        self.mutantwidget = MutantWidget(self.iface)
        self.tool.moved.connect(self.mutantwidget.toolMoved)
        self.tool.pressed.connect(self.mutantwidget.toolPressed)
        self.mutantwidget.toggleMutant.clicked.connect(self.toggleTool)
        self.mutantwidget.plotOnMove.clicked.connect(self.toggleMouseClick)

        # create the dockwidget with the correct parent and add the widget
        self.mutantdockwidget = QDockWidget("Mutant", self.iface.mainWindow())
        self.mutantdockwidget.setObjectName("Mutant")
        self.mutantdockwidget.setWidget(self.mutantwidget)
        # QObject.connect(self.mutantdockwidget,
        # SIGNAL('visibilityChanged ( bool )'), self.showHideDockWidget)

        # add the dockwidget to iface
        self.iface.addDockWidget(Qt.LeftDockWidgetArea, self.mutantdockwidget)
        # self.mutantwidget.show()

    def unload(self):
        QSettings().setValue('plugins/mutant/mouseClick',
                             self.mutantwidget.plotOnMove.isChecked())
        self.mutantdockwidget.close()
        self.deactivateTool()
        # remove dockwidget from iface
        self.iface.removeDockWidget(self.mutantdockwidget)
        # remove plugin menu item and icon
        # self.iface.removePluginMenu("Analyses",self.action)
        self.iface.removeToolBarIcon(self.action)

    def toggleTool(self, active):
        self.activateTool() if active else self.deactivateTool()

    def toggleMouseClick(self, toggle):
        if toggle:
            self.activateTool(False)
        else:
            self.deactivateTool(False)
        self.mutantwidget.changeActive(False, False)
        self.mutantwidget.changeActive(True, False)

    def activateTool(self, changeActive=True):
        if self.mutantwidget.plotOnMove.isChecked():
            self.saveTool = self.canvas.mapTool()
            self.canvas.setMapTool(self.tool)
        if not self.mutantdockwidget.isVisible():
            self.mutantdockwidget.show()
        if changeActive:
            self.mutantwidget.changeActive(True)

    def deactivateTool(self, changeActive=True):
        if self.canvas.mapTool() and self.canvas.mapTool() == self.tool:
            # block signals to avoid recursion
            self.tool.blockSignals(True)
        if self.saveTool:
            self.canvas.setMapTool(self.saveTool)
            self.saveTool = None
        else:
            self.canvas.unsetMapTool(self.tool)

        self.tool.blockSignals(False)
        if changeActive:
            self.mutantwidget.changeActive(False)
Exemplo n.º 4
0
class ValueTool(object):
    def __init__(self, iface):
        # save reference to the QGIS interface
        self.iface = iface
        self.canvas = self.iface.mapCanvas()

    def initGui(self):
        # create action that will start plugin configuration
        #self.action = QAction(QIcon(":/plugins/valuetool/icon.png"), "Value Tool", self.iface.getMainWindow())
        #self.action.setWhatsThis("Value Tool")
        #QObject.connect(self.action, SIGNAL("activated()"), self.run)
        ## add toolbar button and menu item
        #self.iface.addToolBarIcon(self.action)
        #self.iface.addPluginMenu("Analyses", self.action)
        ## add the tool to select feature
        #self.tool = selectPointTool(self.iface.getMapCanvas(),self.action)

        # add action to toolbar
        self.action = QAction(QIcon(":/plugins/valuetool/icon.svg"),
                              "Value Tool", self.iface.mainWindow())
        self.iface.addToolBarIcon(self.action)
        self.tool = ValueMapTool(self.canvas, self.action)
        self.saveTool = None
        self.action.triggered.connect(self.activateTool)
        #self.tool.deactivate.connect(self.deactivateTool) #Almerio: desativei essa linha

        # create the widget to display information
        self.valuewidget = ValueWidget(self.iface)
        self.valuewidget.cbxClick.setVisible(
            False)  #Almerio: disabled until find error cause on using it

        #self.tool.moved.connect(self.valuewidget.toolMoved) #Almerio: desativei essa linha
        #self.tool.pressed.connect(self.valuewidget.toolPressed) #Almerio: desativei essa linha
        self.valuewidget.cbxEnable.clicked.connect(self.toggleTool)
        self.valuewidget.cbxClick.clicked.connect(self.toggleMouseClick)

        # create the dockwidget with the correct parent and add the valuewidget
        self.valuedockwidget = QDockWidget("Value Tool",
                                           self.iface.mainWindow())
        self.valuedockwidget.setObjectName("Value Tool")
        self.valuedockwidget.setWidget(self.valuewidget)
        #QObject.connect(self.valuedockwidget, SIGNAL('visibilityChanged ( bool )'), self.showHideDockWidget)

        # add the dockwidget to iface
        self.iface.addDockWidget(Qt.LeftDockWidgetArea, self.valuedockwidget)
        #self.valuewidget.show()

    def unload(self):
        QSettings().setValue('plugins/valuetool/mouseClick',
                             self.valuewidget.cbxClick.isChecked())
        self.valuedockwidget.close()
        #self.deactivateTool() #Almerio: error on unload plugin, so I disabled this line
        # remove the dockwidget from iface
        self.iface.removeDockWidget(self.valuedockwidget)
        # remove the plugin menu item and icon
        #self.iface.removePluginMenu("Analyses",self.action)
        self.iface.removeToolBarIcon(self.action)

    def toggleTool(self, active):
        self.activateTool() if active else self.deactivateTool()

    def toggleMouseClick(self, toggle):
        if toggle:
            self.activateTool(False)
        else:
            self.deactivateTool(False)
        self.valuewidget.changeActive(False, False)
        self.valuewidget.changeActive(True, False)

    def activateTool(self, changeActive=True):
        if self.valuewidget.cbxClick.isChecked():
            self.saveTool = self.canvas.mapTool()
            self.canvas.setMapTool(self.tool)
        if not self.valuedockwidget.isVisible():
            self.valuedockwidget.show()
        if changeActive:
            self.valuewidget.changeActive(True)

    def deactivateTool(self, changeActive=True):
        if self.canvas.mapTool() and self.canvas.mapTool() == self.tool:
            # block signals to avoid recursion
            self.tool.blockSignals(True)
            if self.saveTool:
                self.canvas.setMapTool(self.saveTool)
                self.saveTool = None
            else:
                self.canvas.unsetMapTool(self.tool)
            self.tool.blockSignals(False)
        if changeActive:
            self.valuewidget.changeActive(False)
Exemplo n.º 5
0
class ValueTool(object):
    def __init__(self, iface):
        # save reference to the QGIS interface
        self.iface = iface
        self.canvas = self.iface.mapCanvas()

    def initGui(self):
        # create action that will start plugin configuration
        #self.action = QAction(QIcon(":/plugins/valuetool/icon.png"), "Value Tool", self.iface.getMainWindow())
        #self.action.setWhatsThis("Value Tool")
        #QObject.connect(self.action, SIGNAL("activated()"), self.run)
        ## add toolbar button and menu item
        #self.iface.addToolBarIcon(self.action)
        #self.iface.addPluginMenu("Analyses", self.action)
        ## add the tool to select feature
        #self.tool = selectPointTool(self.iface.getMapCanvas(),self.action)

        # add action to toolbar
        self.action = QAction(QIcon(":/plugins/valuetool/icon.svg"),
                              "Value Tool", self.iface.mainWindow())
        self.iface.addToolBarIcon(self.action)
        self.tool = ValueMapTool(self.canvas, self.action)
        self.saveTool = None
        self.action.triggered.connect(self.activateTool)
        #self.tool.deactivate.connect(self.deactivateTool) #Almerio: desativei essa linha
        self.tooltipRaster = TooltipRasterMapTool(self.iface)

        # create the widget to display information
        self.valuewidget = ValueWidget(self.iface)
        self.valuewidget.cbxClick.setVisible(
            False)  #Almerio: disabled until find error cause on using it
        self.valuewidget.cbxEnableToolTip.setEnabled(False)

        #self.tool.moved.connect(self.valuewidget.toolMoved) #Almerio: desativei essa linha
        #self.tool.pressed.connect(self.valuewidget.toolPressed) #Almerio: desativei essa linha
        self.valuewidget.cbxEnable.clicked.connect(self.toggleTool)
        self.valuewidget.cbxEnableToolTip.clicked.connect(self.toggleToolTip)
        self.valuewidget.cbxClick.clicked.connect(self.toggleMouseClick)
        # self.valuewidget.btnSaveSettings.clicked.connect(self.saveSettings) #btn to save settings suppressed, save settings on unloading

        # create the dockwidget with the correct parent and add the valuewidget
        self.valuedockwidget = QDockWidget("Value Tool",
                                           self.iface.mainWindow())
        self.valuedockwidget.setObjectName("Value Tool")
        self.valuedockwidget.setWidget(self.valuewidget)
        #QObject.connect(self.valuedockwidget, SIGNAL('visibilityChanged ( bool )'), self.showHideDockWidget)

        # add the dockwidget to iface
        self.iface.addDockWidget(Qt.LeftDockWidgetArea, self.valuedockwidget)
        #self.valuewidget.show()

    #save settings
    def saveSettings(self):
        QSettings().setValue('plugins/valuetool/cbxEnable',
                             self.valuewidget.cbxEnable.isChecked())
        QSettings().setValue('plugins/valuetool/cbxDigits',
                             self.valuewidget.cbxDigits.isChecked())
        QSettings().setValue('plugins/valuetool/spinDigits',
                             self.valuewidget.spinDigits.value())
        QSettings().setValue(
            'plugins/valuetool/tableWidget/Col0Width',
            self.valuewidget.tableWidget.columnWidth(0))  #first column 'Layer'
        QSettings().setValue('plugins/valuetool/tableWidget/Col1Width',
                             self.valuewidget.tableWidget.columnWidth(
                                 1))  #second column 'value'
        #QSettings().setValue('plugins/valuetool/mouseClick', self.valuewidget.cbxClick.isChecked())
        ##self.iface.messageBar().pushMessage("Value Tool", "Settings saved!", level=Qgis.Info, duration=5)

    def unload(self):
        self.saveSettings()
        self.valuedockwidget.close()
        #self.deactivateTool() #Almerio: error on unload plugin, so I disabled this line
        # remove the dockwidget from iface
        self.iface.removeDockWidget(self.valuedockwidget)
        # remove the plugin menu item and icon
        #self.iface.removePluginMenu("Analyses",self.action)
        self.iface.removeToolBarIcon(self.action)

    def toggleTool(self, active):
        self.activateTool() if active else self.deactivateTool()

    def toggleToolTip(self, active):
        if active:
            self.iface.mapCanvas().setMapTool(self.tooltipRaster)
        else:
            self.iface.mapCanvas().unsetMapTool(self.tooltipRaster)

    def toggleMouseClick(self, toggle):
        if toggle:
            self.activateTool(False)
        else:
            self.deactivateTool(False)
        self.valuewidget.changeActive(False, False)
        self.valuewidget.changeActive(True, False)

    def activateTool(self, changeActive=True):
        self.canvas.setCursor(self.tool.cursor)
        if self.valuewidget.cbxClick.isChecked():
            self.saveTool = self.canvas.mapTool()
            self.canvas.setMapTool(self.tool)
        if not self.valuedockwidget.isVisible():
            self.valuedockwidget.show()
        if changeActive:
            self.valuewidget.changeActive(True)
            self.valuewidget.cbxEnableToolTip.setEnabled(True)
            if self.valuewidget.cbxEnableToolTip.isChecked():
                self.toggleToolTip(True)

    def deactivateTool(self, changeActive=True):
        QApplication.restoreOverrideCursor()
        if self.canvas.mapTool() and self.canvas.mapTool() == self.tool:
            # block signals to avoid recursion
            self.tool.blockSignals(True)
            if self.saveTool:
                self.canvas.setMapTool(self.saveTool)
                self.saveTool = None
            else:
                self.canvas.unsetMapTool(self.tool)
            self.tool.blockSignals(False)
        if changeActive:
            self.valuewidget.changeActive(False)
            self.valuewidget.cbxEnableToolTip.setEnabled(False)
            self.toggleToolTip(False)