2025-11-17 10:05:42 +01:00
|
|
|
from qgis.PyQt.QtCore import QCoreApplication
|
2025-11-17 12:48:16 +01:00
|
|
|
from qgis.utils import plugins
|
2025-11-17 10:05:42 +01:00
|
|
|
from sn_basis.ui.navigation import Navigation
|
2025-10-09 10:16:54 +02:00
|
|
|
|
2025-11-17 10:05:42 +01:00
|
|
|
class BasisPlugin:
|
2025-10-09 10:16:54 +02:00
|
|
|
def __init__(self, iface):
|
|
|
|
|
self.iface = iface
|
2025-11-17 10:05:42 +01:00
|
|
|
self.ui = None
|
2025-11-17 11:29:04 +01:00
|
|
|
QCoreApplication.instance().aboutToQuit.connect(self.unload)
|
2025-10-09 10:16:54 +02:00
|
|
|
|
|
|
|
|
def initGui(self):
|
2025-11-17 12:48:16 +01:00
|
|
|
# Basis-Navigation neu aufbauen
|
2025-11-17 10:05:42 +01:00
|
|
|
self.ui = Navigation(self.iface)
|
2025-10-09 10:16:54 +02:00
|
|
|
|
2025-11-17 12:48:16 +01:00
|
|
|
# Alle Fachplugins mit "sn_" prüfen und neu initialisieren
|
|
|
|
|
for name, plugin in plugins.items():
|
|
|
|
|
if name.startswith("sn_") and name != "sn_basis":
|
|
|
|
|
try:
|
|
|
|
|
plugin.initGui()
|
|
|
|
|
except Exception as e:
|
|
|
|
|
print(f"Fehler beim Neuinitialisieren von {name}: {e}")
|
|
|
|
|
|
2025-10-09 10:16:54 +02:00
|
|
|
def unload(self):
|
2025-11-17 11:29:04 +01:00
|
|
|
if self.ui:
|
2025-11-17 10:05:42 +01:00
|
|
|
self.ui.remove_all()
|
2025-11-17 12:48:16 +01:00
|
|
|
self.ui = None
|