from qgis.utils import plugins from sn_basis.ui.dockmanager import DockManager from .ui.dockwidget import DockWidget class Plan41: def __init__(self, iface): self.iface = iface self.action = None self.dockwidget = None # Namen automatisch aus Klassennamen ableiten self.plugin_name = self.__class__.__name__ self.dock_name = f"sn_dock_{self.plugin_name.lower()}" 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() def unload(self): if self.dockwidget: self.iface.removeDockWidget(self.dockwidget) self.dockwidget.deleteLater() self.dockwidget = None def run(self): self.dockwidget = DockWidget(self.iface.mainWindow(), subtitle=self.plugin_name) self.dockwidget.setObjectName(self.dock_name) DockManager.show(self.dockwidget)