Gemarkung (Name oder Nummer) und Flurstücksnummer eingeben, die Treffer werden im Layer „Flurstücke“ ausgewählt, angezoomt und kurz hervorgehoben. Verglichen wird das flurstueckskennzeichen, Gemarkungsnamen werden über den Layer „Gemarkungen“ aufgelöst. Ohne Layer „Flurstücke“ weist ein Dialog darauf hin, zuerst Verfahrensgebiet und Flurstücke zu laden. Erster Schritt von #56; Eigentümersuche und Anzeigefenster folgen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
"""sn_verfahrensgebiet/ui/dockwidget.py – Haupt-DockWidget für sn_verfahrensgebiet.
|
||
Verwaltet die Tabs für Verfahrensgebiet-Bearbeitung, Eigentümer, Druck und Einstellungen.
|
||
"""
|
||
|
||
from sn_basis.ui.tabs.settings_tab import SettingsTab
|
||
from sn_basis.ui.tabs.print_tab import PrintTab
|
||
from sn_verfahrensgebiet.ui.tabs.working_tab import WorkingTab
|
||
from sn_verfahrensgebiet.ui.tabs.eigentuemer_tab import EigentuemerTab
|
||
from sn_basis.ui.base_dockwidget import BaseDockWidget
|
||
from sn_basis.functions.qt_wrapper import QTabWidget
|
||
from sn_basis.functions.message_wrapper import error
|
||
|
||
|
||
class DockWidget(BaseDockWidget):
|
||
"""Haupt-DockWidget für sn_verfahrensgebiet mit Tab-Verwaltung.
|
||
|
||
Attributes:
|
||
tabs: Liste von Tab-Klassen (WorkingTab, EigentuemerTab, PrintTab, SettingsTab)
|
||
pruefmanager: Prüfmanager-Instanz für Validierung
|
||
data_grabber: DataGrabber-Instanz für Fachdatenabruf
|
||
"""
|
||
|
||
tabs = [WorkingTab, EigentuemerTab, PrintTab, SettingsTab]
|
||
|
||
def __init__(self, parent=None, subtitle="", pruefmanager=None, data_grabber=None):
|
||
"""Initialisiert das DockWidget mit Services und Tabs.
|
||
|
||
Args:
|
||
parent: Übergeordnetes Widget
|
||
subtitle: Untertitel des DockWidgets
|
||
pruefmanager: Prüfmanager-Instanz
|
||
data_grabber: DataGrabber-Instanz
|
||
"""
|
||
super().__init__(parent, subtitle)
|
||
|
||
self.pruefmanager = pruefmanager
|
||
self.data_grabber = data_grabber
|
||
|
||
self._init_tabs_with_services()
|
||
|
||
def _init_tabs_with_services(self):
|
||
"""Tabs neu aufbauen und Services (z.B. für PrintTab) injizieren."""
|
||
try:
|
||
self.setWidget(None)
|
||
|
||
tab_widget = QTabWidget()
|
||
for tab_class in self.tabs:
|
||
tab_instance = tab_class(self)
|
||
tab_title = getattr(tab_class, "tab_title", tab_class.__name__)
|
||
tab_widget.addTab(tab_instance, tab_title)
|
||
|
||
if hasattr(tab_instance, "set_services"):
|
||
tab_instance.set_services(
|
||
pruefmanager=self.pruefmanager,
|
||
data_grabber=self.data_grabber,
|
||
)
|
||
|
||
self.setWidget(tab_widget)
|
||
except Exception as e:
|
||
error("Services-Tabs konnten nicht initialisiert werden", str(e))
|