diff --git a/__init__.py b/__init__.py index 854d63e..9e7cb43 100644 --- a/__init__.py +++ b/__init__.py @@ -1,3 +1,19 @@ +""" +sn_basis – QGIS-Plugin für Basis-Verwaltung und zentrale Koordination. +Orchestriert die Navigation und initialisiert abhängige sn_-Plugins. +""" + + def classFactory(iface): + """ + Factory-Funktion für QGIS. + Wird von QGIS aufgerufen, um die Plugin-Instanz zu erstellen. + + Args: + iface: QGIS-Schnittstellenobjekt + + Returns: + BasisPlugin: Instanziiertes Plugin + """ from .main import BasisPlugin return BasisPlugin(iface) diff --git a/functions/__init__.py b/functions/__init__.py index 8b06c1d..3be1490 100644 --- a/functions/__init__.py +++ b/functions/__init__.py @@ -1,3 +1,8 @@ +""" +sn_basis/functions – Wrapper und Hilfsfunktionen für QGIS-Kompatibilität. +Bietet abstrahierte Schnittstellen für Qt, QGIS und OS-Operationen. +""" + from .ly_existence_wrapper import layer_exists from .ly_geometry_wrapper import ( get_layer_geometry_type, diff --git a/functions/test.md b/functions/test.md deleted file mode 100644 index 84240dc..0000000 --- a/functions/test.md +++ /dev/null @@ -1,14 +0,0 @@ -mermaid´´´ -flowchart TD - A[Projekt] - - subgraph children[ ] - direction TB - B[src] - C[docs] - D[README.md] - end - - A --> B - A --> C - A --> D diff --git a/modules/Datenbankpruefer.py b/modules/Datenbankpruefer.py index 5843763..f9cd7d6 100644 --- a/modules/Datenbankpruefer.py +++ b/modules/Datenbankpruefer.py @@ -1 +1,40 @@ -#Datenbankpruefer.py \ No newline at end of file +""" +sn_basis/modules/Datenbankpruefer.py – Prüfung von Datenbanken. +Validiert Datenbank-Verbindungen und -Strukturen. +""" + +from typing import Optional, Any +from sn_basis.modules.pruef_ergebnis import pruef_ergebnis + + +class Datenbankpruefer: + """ + Prüft Datenbankverbindungen und Datenbankstrukturen auf Gültigkeit. + Gibt pruef_ergebnis für die Weiterverarbeitung durch Pruefmanager zurück. + """ + + def __init__(self, pfad: Optional[str] = None) -> None: + """ + Initialisiert den Datenbankprüfer. + + Args: + pfad: Optional Pfad zur Datenbankdatei (z.B. .gpkg, .sqlite) + """ + self.pfad = pfad + + def pruefe(self) -> pruef_ergebnis: + """ + Prüft die Datenbank auf Gültigkeit und Verbindbarkeit. + + Returns: + pruef_ergebnis: Ergebnis der Prüfung mit ok-Flag und Aktion + """ + if not self.pfad: + return pruef_ergebnis( + ok=False, + meldung="Kein Datenbankpfad angegeben.", + aktion="kein_dateipfad", + kontext=None, + ) + # Implementierung folgt + return pruef_ergebnis(ok=True, meldung="Datenbank OK", aktion="ok", kontext=self.pfad) \ No newline at end of file diff --git a/tests/__init__.py b/tests/__init__.py index 324c4b2..284746c 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1 +1,4 @@ -#Testordner \ No newline at end of file +""" +sn_basis/tests – Test-Suite für das sn_basis Plugin. +Enthält Unit-Tests und Integrationstests für alle Module. +""" diff --git a/ui/__init__.py b/ui/__init__.py index e69de29..c88515d 100644 --- a/ui/__init__.py +++ b/ui/__init__.py @@ -0,0 +1,4 @@ +""" +sn_basis/ui – Benutzeroberflächen-Module für sn_basis. +Enthält Dock-Manager, Navigation und einzelne Tabs. +""" diff --git a/ui/tabs/__init__.py b/ui/tabs/__init__.py index 8e6a94a..ce9dcf4 100644 --- a/ui/tabs/__init__.py +++ b/ui/tabs/__init__.py @@ -1,3 +1,8 @@ +""" +sn_basis/ui/tabs – Tab-Widgets für die sn_basis Benutzeroberfläche. +Stellt print_tab und settings_tab bereit. +""" + # from sn_basis.ui.tabs.print_tab import PrintTab # from sn_basis.ui.tabs.settings_tab import SettingsTab diff --git a/ui/tabs/settings_tab.py b/ui/tabs/settings_tab.py index 0006224..b486763 100644 --- a/ui/tabs/settings_tab.py +++ b/ui/tabs/settings_tab.py @@ -1,4 +1,8 @@ -#sn_basis/ui/tabs/settings_tab.py +""" +sn_basis/ui/tabs/settings_tab.py – Einstellungen-Tab für Projekteinformationen. +Verwaltet benutzerspezifische und projektspezifische Einstellungen. +""" + from sn_basis.functions.qt_wrapper import ( QWidget, QGridLayout, @@ -12,9 +16,23 @@ from sn_basis.functions.settings_logic import SettingsLogic class SettingsTab(QWidget): + """ + Tab-Widget für die Verwaltung von Projekt- und Benutzereinstellungen. + + Attributes: + tab_title: Anzeigetitel des Tabs ("Projekteigenschaften") + logic: SettingsLogic-Instanz für persistente Einstellungen + """ + tab_title = "Projekteigenschaften" def __init__(self, parent=None): + """ + Initialisiert den Settings-Tab mit Eingabefeldern. + + Args: + parent: Übergeordnetes Widget (Standard: None) + """ super().__init__(parent) self.logic = SettingsLogic()