Flst_Laden, VerfGebiet bilden
This commit is contained in:
+48
-1
@@ -5,7 +5,7 @@ sn_basis/modules/Pruefmanager.py
|
||||
from __future__ import annotations
|
||||
from typing import Optional, Any
|
||||
|
||||
from sn_basis.functions import ask_yes_no, info, warning, error, ask_overwrite_append_cancel_custom
|
||||
from sn_basis.functions import ask_yes_no, info, warning, error, ask_overwrite_append_cancel_custom, ask_ergaenzen_entfernen_ersetzen_abbrechen
|
||||
from sn_basis.functions.ly_visibility_wrapper import set_layer_visible
|
||||
from sn_basis.modules.pruef_ergebnis import pruef_ergebnis, PruefAktion
|
||||
|
||||
@@ -204,6 +204,10 @@ class Pruefmanager:
|
||||
if ergebnis.aktion == "datei_existiert":
|
||||
return self._handle_datei_existiert(ergebnis)
|
||||
|
||||
# 3. Verfahrensgebiet-Editentscheidung
|
||||
if ergebnis.aktion == "verfahrensgebiet_layer_existiert":
|
||||
return self._handle_verfahrensgebiet_layer_existiert(ergebnis)
|
||||
|
||||
# 3. Basis interaktive Aktionen
|
||||
interactive_actions = {
|
||||
"leereingabe_erlaubt",
|
||||
@@ -223,6 +227,49 @@ class Pruefmanager:
|
||||
)
|
||||
return ergebnis
|
||||
|
||||
def _handle_verfahrensgebiet_layer_existiert(self, ergebnis: pruef_ergebnis) -> pruef_ergebnis:
|
||||
"""Fragt Nutzer, was mit dem bestehenden Verfahrensgebiet-Layer geschehen soll.
|
||||
|
||||
Zeigt einen Dialog mit vier Optionen:
|
||||
- **Ergänzen**: neue Flurstücke hinzufügen
|
||||
- **Entfernen**: ausgewählte Flurstücke entfernen
|
||||
- **Ersetzen**: Verfahrensgebiet vollständig ersetzen
|
||||
- **Abbrechen**: Vorgang beenden
|
||||
|
||||
Returns
|
||||
-------
|
||||
pruef_ergebnis
|
||||
ok=True mit aktion ``verfahrensgebiet_ergaenzen`` / ``verfahrensgebiet_entfernen`` /
|
||||
``verfahrensgebiet_ersetzen``, oder ok=False mit ``verfahrensgebiet_abbrechen``.
|
||||
"""
|
||||
if self.ui_modus != "qgis":
|
||||
return ergebnis
|
||||
|
||||
titel = "Verfahrensgebiet bereits vorhanden"
|
||||
meldung = (
|
||||
ergebnis.meldung
|
||||
or "Ein Verfahrensgebiet-Layer existiert bereits.\nWas soll geschehen?"
|
||||
)
|
||||
|
||||
entscheidung = ask_ergaenzen_entfernen_ersetzen_abbrechen(
|
||||
parent=self.parent,
|
||||
title=titel,
|
||||
message=meldung,
|
||||
)
|
||||
|
||||
aktion_map = {
|
||||
"ergaenzen": "verfahrensgebiet_ergaenzen",
|
||||
"entfernen": "verfahrensgebiet_entfernen",
|
||||
"ersetzen": "verfahrensgebiet_ersetzen",
|
||||
"abbrechen": "verfahrensgebiet_abbrechen",
|
||||
}
|
||||
|
||||
return pruef_ergebnis(
|
||||
ok=(entscheidung != "abbrechen"),
|
||||
aktion=aktion_map[entscheidung],
|
||||
kontext=ergebnis.kontext,
|
||||
)
|
||||
|
||||
def _ask_use_or_replace_pufferlayer(self) -> str:
|
||||
"""
|
||||
Fragt den Nutzer, ob ein vorhandener Pufferlayer verwendet
|
||||
|
||||
Reference in New Issue
Block a user