示例#1
0
    def unload(self):
        """Removes the plugin menu item and icon from QGIS GUI."""

        PlanetClient.getInstance().log_out()
        self.provider.updateLayerWidgets()

        for action in self.actions:
            self.iface.removePluginWebMenu(self.tr("&{0}".format(P_E)), action)
            self.iface.removeToolBarIcon(action)

        # remove the toolbar
        if self.toolbar is not None:
            del self.toolbar

        remove_inspector()
        remove_explorer()
        remove_orders_monitor()
        remove_tasking_widget()

        QgsGui.layerTreeEmbeddedWidgetRegistry().removeProvider(self.provider.id())

        sys.excepthook = self.qgis_hook

        QgsProject.instance().projectSaved.disconnect(self.project_saved)
        QgsProject.instance().layersAdded.disconnect(self.layers_added)
        QgsProject.instance().layerRemoved.disconnect(self.layer_removed)
    def __init__(self, iface):
        """Constructor.

        :param iface: An interface instance that will be passed to this class
            which provides the hook by which you can manipulate the QGIS
            application at run time.
        :type iface: QgsInterface
        """
        # Save reference to the QGIS interface
        self.iface = iface
        # initialize plugin directory
        self.plugin_dir = os.path.dirname(__file__)
        # initialize locale
        locale = QSettings().value('locale/userLocale')[0:2]
        locale_path = os.path.join(
            self.plugin_dir, 'i18n',
            'LegendDataFilterPlugin_{}.qm'.format(locale))

        if os.path.exists(locale_path):
            self.translator = QTranslator()
            self.translator.load(locale_path)
            QCoreApplication.installTranslator(self.translator)

        # Declare instance attributes
        self.actions = []
        self.menu = self.tr(u'&Legend Data Filter Sliders')

        # Check if plugin was started the first time in current QGIS session
        # Must be set in initGui() to survive plugin reloads
        self.first_start = None

        provider = RangeFilterWidgetProvider()
        QgsGui.layerTreeEmbeddedWidgetRegistry().addProvider(provider)
    def unload(self):
        """Removes the plugin menu item and icon from QGIS GUI."""
        QgsGui.layerTreeEmbeddedWidgetRegistry().removeProvider(
            self.provider.id())
        self.provider = None


#=========================================================================================
示例#4
0
    def initGui(self):

        icon_path = ':/plugins/planet_explorer/planet-logo-p.svg'
        self.toolbar = self.iface.addToolBar(P_E)
        self.toolbar.setObjectName(P_E)

        self.add_action(icon_path,
                        text=self.tr(P_E),
                        callback=self.run,
                        add_to_menu=True,
                        add_to_toolbar=True,
                        parent=self.iface.mainWindow())

        addSettingsMenu(P_E, self.iface.addPluginToWebMenu)
        # addHelpMenu(P_E, self.iface.addPluginToWebMenu)
        addAboutMenu(P_E, self.iface.addPluginToWebMenu)

        # Register helper function for dealing with PlanetLabs catalog
        # metadata
        # registerFunctions()

        # noinspection PyBroadException
        # try:
        #     from lessons import addLessonsFolder, addGroup
        #     folder = os.path.join(os.path.dirname(__file__), "_lessons")
        #     addLessonsFolder(folder, "imagediscovery")
        #     group_description = os.path.join(folder, "group.md")
        #     addGroup("Planet Explorer plugin", group_description)
        # except:
        #     pass

        self.run()
        last_shown = bool(
            pluginSetting(DOCK_SHOWN_STATE,
                          namespace=SETTINGS_NAMESPACE,
                          typ='bool'))
        if self.dock_widget is not None:
            self.dock_widget.setVisible(last_shown)

        self.provider = MosaicLayerWidgetProvider()
        QgsGui.layerTreeEmbeddedWidgetRegistry().addProvider(self.provider)

        QgsProject.instance().projectSaved.connect(self.project_saved)

        PlanetClient.getInstance().loginChanged.connect(replace_apikeys)
示例#5
0
 def register(self):
     self.widgetProvider = LayerMapBiomasCollectionWidgetProvider( self.data )
     registry = QgsGui.layerTreeEmbeddedWidgetRegistry()
     if not registry.provider( self.widgetProvider.id() ) is None:
         registry.removeProvider( self.widgetProvider.id() )
     registry.addProvider( self.widgetProvider )
 def initGui(self):
     """Create the menu entries and toolbar icons inside the QGIS GUI."""
     self.provider = ImageLegendProvider()
     QgsGui.layerTreeEmbeddedWidgetRegistry().addProvider(self.provider)
示例#7
0
 def register(self):
     self.widgetProvider = LayerTilesMapCanvasWidgetProvider()
     registry = QgsGui.layerTreeEmbeddedWidgetRegistry()
     if bool(registry.provider(self.widgetProvider.id())):
         registry.removeProvider(self.widgetProvider.id())
     registry.addProvider(self.widgetProvider)
示例#8
0
    def initGui(self):

        self.toolbar = self.iface.addToolBar(P_E)
        self.toolbar.setObjectName(P_E)

        self.showdailyimages_act = self.add_action(
            os.path.join(plugin_path, "resources", "search.svg"),
            text=self.tr(P_E),
            callback=toggle_images_search,
            add_to_menu=True,
            add_to_toolbar=True,
            parent=self.iface.mainWindow())

        self.showbasemaps_act = self.add_action(
            os.path.join(plugin_path, "resources", "basemap.svg"),
            text=self.tr("Show Basemaps Search"),
            callback=toggle_mosaics_search,
            add_to_menu=True,
            add_to_toolbar=True,
            parent=self.iface.mainWindow())

        self.showinspector_act = self.add_action(
            os.path.join(plugin_path, "resources", "inspector.svg"),
            text=self.tr("Show Planet Inspector..."),
            callback=toggle_inspector,
            add_to_menu=False,
            add_to_toolbar=True,
            parent=self.iface.mainWindow())

        self.showtasking_act = self.add_action(
            os.path.join(plugin_path, "resources", "tasking.svg"),
            text=self.tr("Show Tasking..."),
            callback=toggle_tasking_widget,
            add_to_menu=False,
            add_to_toolbar=True,
            parent=self.iface.mainWindow())

        self.add_central_toolbar_button()

        self.showorders_act = self.add_action(
            os.path.join(plugin_path, "resources", "orders.svg"),
            text=self.tr("Show Orders Monitor..."),
            callback=toggle_orders_monitor,
            add_to_menu=False,
            add_to_toolbar=True,
            parent=self.iface.mainWindow())

        self.add_user_button()
        self.add_info_button()

        addSettingsMenu(P_E, self.iface.addPluginToWebMenu)
        addAboutMenu(P_E, self.iface.addPluginToWebMenu)

        self.provider = BasemapLayerWidgetProvider()
        QgsGui.layerTreeEmbeddedWidgetRegistry().addProvider(self.provider)

        QgsProject.instance().projectSaved.connect(self.project_saved)
        QgsProject.instance().layersAdded.connect(self.layers_added)
        QgsProject.instance().layerRemoved.connect(self.layer_removed)

        PlanetClient.getInstance().loginChanged.connect(self.login_changed)

        self.enable_buttons(False)