Aufgeräumt.

This commit is contained in:
Michael Otto
2025-11-17 11:29:25 +01:00
parent d702b251d7
commit 8a5adb05f3
4 changed files with 21 additions and 31 deletions

26
main.py
View File

@@ -1,34 +1,36 @@
from qgis.utils import plugins from qgis.utils import plugins
from qgis.PyQt.QtGui import QIcon
from sn_basis.ui.navigation import Navigation
from sn_basis.ui.dockmanager import DockManager from sn_basis.ui.dockmanager import DockManager
from .ui.dockwidget import DockWidget from .ui.dockwidget import DockWidget
class Verfahrensgebiet: class Verfahrensgebiet:
def __init__(self, iface): def __init__(self, iface):
self.iface = iface self.iface = iface
self.ui = None self.action = None
self.dockwidget = 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): def initGui(self):
# Basis-Plugin muss geladen sein!
basis = plugins.get("sn_basis") basis = plugins.get("sn_basis")
if basis and basis.ui: if basis and basis.ui:
self.action = basis.ui.add_action("Verfahrensgebiet", self.run, tooltip="Öffnet Verfahrensgebiet", priority=10) self.action = basis.ui.add_action(
self.plugin_name,
self.run,
tooltip=f"Öffnet {self.plugin_name}",
priority=10
)
basis.ui.finalize_menu_and_toolbar() basis.ui.finalize_menu_and_toolbar()
def unload(self): def unload(self):
if self.ui:
self.ui.remove_all()
if self.dockwidget: if self.dockwidget:
self.iface.removeDockWidget(self.dockwidget) self.iface.removeDockWidget(self.dockwidget)
self.dockwidget.deleteLater() self.dockwidget.deleteLater()
self.dockwidget = None self.dockwidget = None
def run(self): def run(self):
from sn_verfahrensgebiet.ui.dockwidget import DockWidget self.dockwidget = DockWidget(self.iface.mainWindow(), subtitle=self.plugin_name)
self.dockwidget = DockWidget(self.iface.mainWindow()) self.dockwidget.setObjectName(self.dock_name)
self.dockwidget.setObjectName("sn_dock_verfahrensgebiet")
DockManager.show(self.dockwidget) DockManager.show(self.dockwidget)

View File

@@ -1,24 +1,8 @@
from qgis.PyQt.QtWidgets import QDockWidget, QTabWidget, QWidget, QVBoxLayout, QLabel
from sn_basis.ui.tabs.settings_tab import SettingsTab from sn_basis.ui.tabs.settings_tab import SettingsTab
from sn_verfahrensgebiet.ui.tabs.tab_a import TabA from sn_verfahrensgebiet.ui.tabs.tab_a import TabA
from sn_verfahrensgebiet.ui.tabs.tab_b import TabB from sn_verfahrensgebiet.ui.tabs.tab_b import TabB
from sn_basis.ui.base_dockwidget import BaseDockWidget
class DockWidget(QDockWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setWindowTitle("LNO Sachsen | Verfahrensgebiet")
# TabWidget erzeugen class DockWidget(BaseDockWidget):
tabs = QTabWidget() tabs = [TabA, TabB, SettingsTab]
# Tab A
tabs.addTab(TabA(), "Tab A")
# Tab B
tabs.addTab(TabB(), "Tab B")
# Gemeinsamer Tab
tabs.addTab(SettingsTab(), "Projekteigenschaften")
# TabWidget ins Dock setzen
self.setWidget(tabs)

View File

@@ -1,6 +1,8 @@
from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QLineEdit from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QLineEdit
class TabA(QWidget): class TabA(QWidget):
tab_title = "Tab A"
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
layout = QVBoxLayout() layout = QVBoxLayout()

View File

@@ -1,6 +1,8 @@
from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QTextEdit from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QTextEdit
class TabB(QWidget): class TabB(QWidget):
tab_title = "Tab B"
def __init__(self, parent=None): def __init__(self, parent=None):
super().__init__(parent) super().__init__(parent)
layout = QVBoxLayout() layout = QVBoxLayout()