1 Commits

Author SHA1 Message Date
Michael Otto
2ad36c812f Laden und Speichern der Variablen 2025-11-18 12:17:15 +01:00
3 changed files with 38 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
from .logic.variable_utils import get_variable
def classFactory(iface):
from .main import BasisPlugin
return BasisPlugin(iface)

35
logic/variable_utils.py Normal file
View File

@@ -0,0 +1,35 @@
from qgis.core import QgsProject, QgsExpressionContextUtils
def get_variable(key: str, scope: str = "project") -> str:
"""
Liefert den Wert einer sn_* Variable zurück.
key: Name ohne Präfix, z.B. "verfahrensnummer"
scope: 'project' oder 'global'
"""
projekt = QgsProject.instance()
var_name = f"sn_{key}"
if scope == "project":
return QgsExpressionContextUtils.projectScope(projekt).variable(var_name) or ""
elif scope == "global":
return QgsExpressionContextUtils.globalScope().variable(var_name) or ""
else:
raise ValueError("Scope muss 'project' oder 'global' sein.")
def set_variable(key: str, value: str, scope: str = "project"):
"""
Schreibt den Wert einer sn_* Variable.
key: Name ohne Präfix, z.B. "verfahrensnummer"
value: Wert, der gespeichert werden soll
scope: 'project' oder 'global'
"""
projekt = QgsProject.instance()
var_name = f"sn_{key}"
if scope == "project":
QgsExpressionContextUtils.setProjectVariable(projekt, var_name, value)
elif scope == "global":
QgsExpressionContextUtils.setGlobalVariable(var_name, value)
else:
raise ValueError("Scope muss 'project' oder 'global' sein.")

View File

@@ -10,6 +10,7 @@ class Navigation:
iface.mainWindow().menuBar().addMenu(self.menu)
self.toolbar = QToolBar("LNO Sachsen")
self.toolbar.setObjectName("LnoSachsenToolbar")
iface.addToolBar(self.toolbar)
# Gruppe für exklusive Auswahl (nur ein Plugin aktiv)