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 #=========================================================================================
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)
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)
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)
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)