Wrappe modular aufgebaut, Tests erfolgreich, Menüleiste und Werzeugleiste werden eingetragen (QT6 und QT5)- (Es fehlen noch Fachplugins, um zu prüfen, ob es auch wirklich in QGIS geht)

This commit is contained in:
2025-12-19 14:29:52 +01:00
parent e8fea163b5
commit f88b5da51f
37 changed files with 1886 additions and 1679 deletions

View File

@@ -1,14 +1,14 @@
"""
sn_basis/modules/pruefmanager.py zentrale Verarbeitung von pruef_ergebnis-Objekten.
Steuert die Nutzerinteraktion über qgisqt_wrapper.
sn_basis/modules/Pruefmanager.py zentrale Verarbeitung von pruef_ergebnis-Objekten.
Steuert die Nutzerinteraktion über Wrapper.
"""
from sn_basis.functions.qgisqt_wrapper import (
from sn_basis.functions import (
ask_yes_no,
info,
warning,
error,
set_layer_visible, # optional, falls implementiert
set_layer_visible,
)
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis
@@ -36,6 +36,7 @@ class Pruefmanager:
return ergebnis
aktion = ergebnis.aktion
kontext = ergebnis.kontext
# -----------------------------------------------------
# Allgemeine Aktionen
@@ -47,7 +48,12 @@ class Pruefmanager:
if aktion == "leereingabe_erlaubt":
if ask_yes_no("Ohne Eingabe fortfahren", ergebnis.meldung):
return pruef_ergebnis(True, "Ohne Eingabe fortgefahren.", "ok", None)
return pruef_ergebnis(
ok=True,
meldung="Ohne Eingabe fortgefahren.",
aktion="ok",
kontext=None,
)
return ergebnis
if aktion == "leereingabe_nicht_erlaubt":
@@ -56,12 +62,22 @@ class Pruefmanager:
if aktion == "standarddatei_vorschlagen":
if ask_yes_no("Standarddatei verwenden", ergebnis.meldung):
return pruef_ergebnis(True, "Standarddatei wird verwendet.", "ok", ergebnis.pfad)
return pruef_ergebnis(
ok=True,
meldung="Standarddatei wird verwendet.",
aktion="ok",
kontext=kontext,
)
return ergebnis
if aktion == "temporaer_erlaubt":
if ask_yes_no("Temporäre Datei erzeugen", ergebnis.meldung):
return pruef_ergebnis(True, "Temporäre Datei soll erzeugt werden.", "temporaer_erzeugen", None)
return pruef_ergebnis(
ok=True,
meldung="Temporäre Datei soll erzeugt werden.",
aktion="temporaer_erzeugen",
kontext=None,
)
return ergebnis
if aktion == "datei_nicht_gefunden":
@@ -94,12 +110,18 @@ class Pruefmanager:
if aktion == "layer_unsichtbar":
if ask_yes_no("Layer einblenden", ergebnis.meldung):
# Falls set_layer_visible implementiert ist
try:
set_layer_visible(ergebnis.pfad, True)
except Exception:
pass
return pruef_ergebnis(True, "Layer wurde eingeblendet.", "ok", ergebnis.pfad)
if kontext is not None:
try:
set_layer_visible(kontext, True)
except Exception:
pass
return pruef_ergebnis(
ok=True,
meldung="Layer wurde eingeblendet.",
aktion="ok",
kontext=kontext,
)
return ergebnis
if aktion == "falscher_geotyp":