pdock-dockstrings ergänzt
This commit is contained in:
+14
@@ -1,3 +1,17 @@
|
||||
"""sn_verfahrensgebiet – QGIS-Plugin für Verfahrensgebiets-Management.
|
||||
Verwaltet die Abgrenzung und Verwaltung von Verfahrensgebieten.
|
||||
"""
|
||||
|
||||
|
||||
def classFactory(iface):
|
||||
"""Factory-Funktion für QGIS.
|
||||
Wird von QGIS aufgerufen, um die Plugin-Instanz zu erstellen.
|
||||
|
||||
Args:
|
||||
iface: QGIS-Schnittstellenobjekt
|
||||
|
||||
Returns:
|
||||
Verfahrensgebiet: Instanziiertes Plugin
|
||||
"""
|
||||
from .main import Verfahrensgebiet
|
||||
return Verfahrensgebiet(iface)
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
#sn_verfahrensgebiet/functions/verfahrensgebiet_alkis
|
||||
"""sn_verfahrensgebiet/functions/verfahrensgebiet_alkis.py – ALKIS-Integration.
|
||||
Lädt Verfahrensgebiete aus dem ALKIS-WFS-Dienst.
|
||||
"""
|
||||
|
||||
from enum import Enum
|
||||
from sn_basis.functions import (
|
||||
QgsVectorLayer, QgsProject, QgsFeature, QgsField, QgsGeometry
|
||||
@@ -11,6 +14,14 @@ alkis_NAS_url = "https://geodienste.sachsen.de/aaa/public_alkis/nas/wfs"
|
||||
typename = "adv:AX_BauRaumOderBodenordnungsrecht"
|
||||
|
||||
class LoadStatus(Enum):
|
||||
"""Status eines Layer-Ladevorgangs.
|
||||
|
||||
Attributes:
|
||||
NONE: Nichts geladen
|
||||
FIRST: Erstmalig geladen
|
||||
RELOAD: Neu geladen
|
||||
KEEP: Vorhandener Layer behalten
|
||||
"""
|
||||
NONE = "none" # nichts geladen
|
||||
FIRST = "first" # erstmalig geladen
|
||||
RELOAD = "reload" # neu geladen
|
||||
@@ -18,6 +29,14 @@ class LoadStatus(Enum):
|
||||
|
||||
|
||||
def _check_existing_layer(tab_widget):
|
||||
"""Prüft, ob ein Verfahrensgebiet-Layer bereits existiert.
|
||||
|
||||
Args:
|
||||
tab_widget: Parent-Widget für Dialoge
|
||||
|
||||
Returns:
|
||||
Tuple[Optional[QgsVectorLayer], LoadStatus]: Layer und Status
|
||||
"""
|
||||
project = QgsProject.instance()
|
||||
existing_layers = project.mapLayersByName("Verfahrensgebiet")
|
||||
if not existing_layers:
|
||||
@@ -40,6 +59,14 @@ def _check_existing_layer(tab_widget):
|
||||
|
||||
|
||||
def verfahrensgebiet_alkis(tab_widget):
|
||||
"""Lädt Verfahrensgebiet aus ALKIS-WFS basierend auf Verfahrensnummer.
|
||||
|
||||
Args:
|
||||
tab_widget: Parent-Widget für Dialoge und Meldungen
|
||||
|
||||
Returns:
|
||||
Tuple[Optional[QgsVectorLayer], LoadStatus]: Geladener Layer und Status
|
||||
"""
|
||||
verfahrensnummer = get_variable("verfahrensnummer")
|
||||
if not verfahrensnummer:
|
||||
QMessageBox.critical(tab_widget, "Fehler",
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
"""sn_verfahrensgebiet/main.py – Einstiegspunkt des sn_verfahrensgebiet Plugins.
|
||||
Orchestriert die Verwaltung von Verfahrensgebiets-Layern und deren Eigenschaften.
|
||||
"""
|
||||
|
||||
from qgis.utils import plugins
|
||||
from sn_basis.ui.dockmanager import DockManager
|
||||
from .ui.dockwidget import DockWidget
|
||||
@@ -5,6 +9,9 @@ from sn_basis.modules.DataGrabber import DataGrabber
|
||||
from sn_basis.modules.Pruefmanager import Pruefmanager
|
||||
|
||||
class Verfahrensgebiet:
|
||||
"""Einstiegspunkt des sn_verfahrensgebiet-Plugins.
|
||||
Verwaltet die DockWidget-Initialisierung und das Verfahrensgebiets-Management.
|
||||
"""
|
||||
def __init__(self, iface):
|
||||
self.iface = iface
|
||||
self.pruefmanager = Pruefmanager(ui_modus="qgis")
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
"""sn_verfahrensgebiet/ui/dockwidget.py – Haupt-DockWidget für sn_verfahrensgebiet.
|
||||
Verwaltet die Tabs für Verfahrensgebiet-Bearbeitung, 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
|
||||
@@ -7,9 +11,25 @@ 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, PrintTab, SettingsTab)
|
||||
pruefmanager: Prüfmanager-Instanz für Validierung
|
||||
data_grabber: DataGrabber-Instanz für Fachdatenabruf
|
||||
"""
|
||||
|
||||
tabs = [WorkingTab, 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
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
"""sn_verfahrensgebiet/ui/tabs/working_tab.py – Bearbeitungs-Tab.
|
||||
Verwaltet die Verfahrensgebiet-Abgrenzung und ALKIS-Integration.
|
||||
"""
|
||||
|
||||
from sn_basis.functions.qt_wrapper import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QMessageBox
|
||||
from sn_basis.functions.qt_wrapper import Qt
|
||||
from sn_basis.functions import Qgis, QgsProject #QgsMessageLog
|
||||
@@ -11,9 +15,20 @@ from sn_basis.functions.message_wrapper import success, info, warning, error
|
||||
from sn_basis.functions.ly_style_wrapper import apply_style
|
||||
|
||||
class WorkingTab(QWidget):
|
||||
"""Tab für die Verfahrensgebiet-Bearbeitung und Verwaltung.
|
||||
|
||||
Attributes:
|
||||
tab_title: Anzeigetitel des Tabs ("Bearbeitung")
|
||||
"""
|
||||
|
||||
tab_title = "Bearbeitung"
|
||||
|
||||
def __init__(self, parent=None):
|
||||
"""Initialisiert den Working-Tab mit Verfahrensgebiet-Verwaltung.
|
||||
|
||||
Args:
|
||||
parent: Übergeordnetes Widget
|
||||
"""
|
||||
super().__init__(parent)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
|
||||
Reference in New Issue
Block a user