forked from AG_QGIS/Plugin_SN_Plan41
auf Wrapper umgestellt, tests ergänzt
This commit is contained in:
33
main.py
33
main.py
@@ -1,6 +1,8 @@
|
||||
# sn_plan41/main.py
|
||||
|
||||
from qgis.utils import plugins
|
||||
from sn_basis.ui.dockmanager import DockManager
|
||||
from .ui.dockwidget import DockWidget
|
||||
from sn_plan41.ui.dockwidget import DockWidget
|
||||
|
||||
|
||||
class Plan41:
|
||||
@@ -15,14 +17,17 @@ class Plan41:
|
||||
|
||||
def initGui(self):
|
||||
basis = plugins.get("sn_basis")
|
||||
if basis and basis.ui:
|
||||
self.action = basis.ui.add_action(
|
||||
self.plugin_name,
|
||||
self.run,
|
||||
tooltip=f"Öffnet {self.plugin_name}",
|
||||
priority=20
|
||||
)
|
||||
basis.ui.finalize_menu_and_toolbar()
|
||||
if not basis or not getattr(basis, "ui", None):
|
||||
return
|
||||
|
||||
self.action = basis.ui.add_action(
|
||||
self.plugin_name,
|
||||
self.run,
|
||||
tooltip=f"Öffnet {self.plugin_name}",
|
||||
priority=20,
|
||||
)
|
||||
basis.ui.finalize_menu_and_toolbar()
|
||||
print("Plan41/sn_Basis:initGui called")
|
||||
|
||||
def unload(self):
|
||||
if self.dockwidget:
|
||||
@@ -32,13 +37,15 @@ class Plan41:
|
||||
|
||||
if self.action:
|
||||
basis = plugins.get("sn_basis")
|
||||
if basis and basis.ui:
|
||||
# Action aus Menü und Toolbar entfernen
|
||||
if basis and getattr(basis, "ui", None):
|
||||
basis.ui.remove_action(self.action)
|
||||
self.action = None
|
||||
|
||||
def run(self):
|
||||
self.dockwidget = DockWidget(self.iface.mainWindow(), subtitle=self.plugin_name)
|
||||
self.dockwidget = DockWidget(
|
||||
self.iface.mainWindow(),
|
||||
subtitle=self.plugin_name,
|
||||
)
|
||||
self.dockwidget.setObjectName(self.dock_name)
|
||||
|
||||
# Action-Referenz im Dock speichern
|
||||
@@ -48,5 +55,5 @@ class Plan41:
|
||||
|
||||
# Toolbar-Button als aktiv markieren
|
||||
basis = plugins.get("sn_basis")
|
||||
if basis and basis.ui:
|
||||
if basis and getattr(basis, "ui", None):
|
||||
basis.ui.set_active_plugin(self.action)
|
||||
|
||||
Reference in New Issue
Block a user