Landkreis-Auswahldialog bei fehlenden Projekteigenschaften, Style-Fix "Nur laden"
- Ist weder Verfahrensnummer noch Landkreis in den Projekteigenschaften gesetzt, wird jetzt per Dialog ein Landkreis abgefragt (inkl. "Alle Landkreise") statt direkt abzubrechen. - Verfahrensgebiet-spezifische ALKIS-Dialoge aus sn_basis hierher verschoben: neue Datei functions/verfahrensgebiet_dialoge.py (ask_bror_kombinationen, ask_landkreis_objekte, ask_landkreis_auswahl). - Bugfix: BROR-Layer bekommt seinen Style (BauRaumOderBodenordnungsrecht.qml) jetzt direkt beim Laden in verfahrensgebiet_alkis_komplett(), unabhängig vom weiteren Ablauf. working_tab.py überspringt bei "Nur Objekte laden" jetzt den gesamten VG-Nachbehandlungsblock (Style/Extent/Haken/Combobox/ Erfolgsmeldung), da dort kein echter VG-Layer entsteht. Detailprüfung/ Verifikation im echten QGIS (nicht nur per Unittest) steht noch aus. - Bugfix: Erfolgsmeldung "Layer wurde ... geladen (inkl. Flurstücksverschneidung)" erscheint nicht mehr bei "Nur Objekte laden". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
148d4dfa15
commit
5816b2af22
@@ -52,6 +52,9 @@ from sn_basis.functions.dialog_wrapper import (
|
||||
show_info_dialog,
|
||||
ask_detailpruefung_oder_vg_laden,
|
||||
)
|
||||
from sn_basis.functions.landkreise import LANDKREISE, ALLE_LANDKREISE
|
||||
from sn_basis.functions.ly_style_wrapper import apply_style
|
||||
from sn_verfahrensgebiet.functions.verfahrensgebiet_dialoge import ask_landkreis_auswahl
|
||||
|
||||
from sn_verfahrensgebiet.functions.verfahrensgebiet_alkis import (
|
||||
_suche_verfahrensgebiet_features,
|
||||
@@ -79,6 +82,8 @@ from sn_verfahrensgebiet.functions.knickpunkt_pruefung import (
|
||||
FELD_VKZ = "verfahrensnummer"
|
||||
#: Anzeigename des BROR-Layers im Projekt
|
||||
BROR_LAYER_NAME = "BauRaumOderBodenordnungsrecht (ALKIS)"
|
||||
#: QML-Stildatei für den BROR-Layer (sn_verfahrensgebiet/styles/)
|
||||
BROR_STYLE_QML = "BauRaumOderBodenordnungsrecht.qml"
|
||||
#: Projektvariable für die Flächentoleranz (in m²); Default 0
|
||||
FLAECHEN_TOLERANZ_VARIABLE = "flaechen_toleranz_m2"
|
||||
#: Minimale implizite Flächentoleranz – Abweichungen unter diesem Wert
|
||||
@@ -309,13 +314,17 @@ def verfahrensgebiet_alkis_komplett(
|
||||
landkreis_kennzahl = get_variable("landkreis_kennzahl")
|
||||
|
||||
if not verfahrensnummer and not landkreis_kennzahl:
|
||||
QMessageBox.critical(
|
||||
tab_widget,
|
||||
"Fehler",
|
||||
"Weder eine Verfahrensnummer noch ein Landkreis ist in den "
|
||||
"Projekteigenschaften eingetragen!",
|
||||
)
|
||||
return None, None, None, LoadStatus.NONE
|
||||
# Keine Projekteigenschaften vorhanden – Landkreis per Dialog abfragen,
|
||||
# statt direkt abzubrechen.
|
||||
landkreis_kennzahl = ask_landkreis_auswahl(tab_widget, LANDKREISE)
|
||||
if not landkreis_kennzahl:
|
||||
QMessageBox.critical(
|
||||
tab_widget,
|
||||
"Fehler",
|
||||
"Weder eine Verfahrensnummer noch ein Landkreis ist in den "
|
||||
"Projekteigenschaften eingetragen!",
|
||||
)
|
||||
return None, None, None, LoadStatus.NONE
|
||||
|
||||
landkreis_modus = not verfahrensnummer
|
||||
|
||||
@@ -323,7 +332,10 @@ def verfahrensgebiet_alkis_komplett(
|
||||
# Dialog 1: Verfahrensgebiet(e) in ALKIS ermitteln/suchen
|
||||
# ------------------------------------------------------------------
|
||||
if landkreis_modus:
|
||||
such_label = f"Objekte in Landkreis {landkreis_kennzahl} ermitteln/suchen …"
|
||||
if landkreis_kennzahl == ALLE_LANDKREISE:
|
||||
such_label = "Objekte in allen Landkreisen ermitteln/suchen …"
|
||||
else:
|
||||
such_label = f"Objekte in Landkreis {landkreis_kennzahl} ermitteln/suchen …"
|
||||
else:
|
||||
such_label = "Verfahrensgebiet(e) in ALKIS ermitteln/suchen …"
|
||||
|
||||
@@ -378,6 +390,9 @@ def verfahrensgebiet_alkis_komplett(
|
||||
if vg_status in (LoadStatus.FIRST, LoadStatus.RELOAD):
|
||||
project.addMapLayer(alkis_vg_layer)
|
||||
bror_was_added_by_us = True
|
||||
# Style direkt nach dem Laden anwenden – unabhängig vom weiteren
|
||||
# Ablauf, damit auch "Nur Objekte laden" den Style erhält.
|
||||
apply_style(alkis_vg_layer, BROR_STYLE_QML)
|
||||
|
||||
if nur_laden:
|
||||
# Nutzer hat "Nur laden" angehakt – kein Dialog 2, kein weiterer
|
||||
|
||||
Reference in New Issue
Block a user