Vorlagen-Pipeline angelegt (Start bis Prüfung Atlas-Anzahl)
This commit is contained in:
@@ -12,6 +12,7 @@ from sn_basis.functions.qt_wrapper import (
|
||||
QComboBox,
|
||||
QCheckBox,
|
||||
QHBoxLayout,
|
||||
QPushButton,
|
||||
)
|
||||
from sn_basis.functions.qgiscore_wrapper import QgsProject
|
||||
from sn_basis.functions.qgisui_wrapper import iface
|
||||
@@ -77,8 +78,8 @@ class TabB(QWidget):
|
||||
self._connected_theme_collection: object = None # Referenz für sauberes Trennen
|
||||
self._zielgroesse_combo: Optional[QComboBox] = None
|
||||
self._endlosrolle_cb: Optional[QCheckBox] = None
|
||||
self._btn_vorlage_erstellen: Optional[QPushButton] = None
|
||||
|
||||
|
||||
self._build_ui()
|
||||
self._restore_state()
|
||||
self._connect_theme_collection_signals()
|
||||
@@ -158,6 +159,10 @@ class TabB(QWidget):
|
||||
zielgroesse_row.addWidget(self._endlosrolle_cb)
|
||||
main_layout.addLayout(zielgroesse_row)
|
||||
|
||||
self._btn_vorlage_erstellen = QPushButton("Vorlage erstellen", self)
|
||||
self._btn_vorlage_erstellen.clicked.connect(self._on_vorlage_erstellen)
|
||||
main_layout.addWidget(self._btn_vorlage_erstellen)
|
||||
|
||||
main_layout.addStretch(1)
|
||||
self.setLayout(main_layout)
|
||||
|
||||
@@ -236,6 +241,34 @@ class TabB(QWidget):
|
||||
if self.logic:
|
||||
self.logic.set_formfaktor(checked)
|
||||
|
||||
def _on_vorlage_erstellen(self) -> None:
|
||||
"""Startet die Pipeline Druckvorlage_anlegen."""
|
||||
if not self.logic or not self.pruefmanager:
|
||||
return
|
||||
|
||||
result = self.logic.druckvorlage_anlegen(
|
||||
kartenname_auswahl=self._kartenname_combo.currentText() if self._kartenname_combo else "",
|
||||
massstab_auswahl=self._massstab_combo.currentText() if self._massstab_combo else "",
|
||||
zielgroesse=self._zielgroesse_combo.currentText() if self._zielgroesse_combo else DIN_STANDARD,
|
||||
formfaktor=self._endlosrolle_cb.isChecked() if self._endlosrolle_cb else False,
|
||||
)
|
||||
|
||||
if result.get("switch_to_tab_a"):
|
||||
self._aktiviere_tab_a()
|
||||
|
||||
def _aktiviere_tab_a(self) -> None:
|
||||
"""Wechselt zum Tab A im übergeordneten TabWidget."""
|
||||
try:
|
||||
widget = self.parent()
|
||||
while widget is not None:
|
||||
if hasattr(widget, "setCurrentIndex") and hasattr(widget, "count"):
|
||||
widget.setCurrentIndex(0)
|
||||
return
|
||||
parent_fn = getattr(widget, "parent", None)
|
||||
widget = parent_fn() if callable(parent_fn) else None
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def _connect_project_signals(self) -> None:
|
||||
"""Verbindet QgsProject-Signale für Projektwechsel/-neuladen."""
|
||||
project = QgsProject.instance()
|
||||
|
||||
Reference in New Issue
Block a user