Files
Plugin_SN_Basis/ui/base_dockwidget.py
2025-11-17 12:23:04 +01:00

29 lines
1011 B
Python

from qgis.PyQt.QtWidgets import QDockWidget, QTabWidget
class BaseDockWidget(QDockWidget):
base_title = "LNO Sachsen"
tabs = []
action = None # Referenz auf die Toolbar-Action
def __init__(self, parent=None, subtitle=""):
super().__init__(parent)
# Titel zusammensetzen
title = self.base_title if not subtitle else f"{self.base_title} | {subtitle}"
self.setWindowTitle(title)
# Dock fixieren (nur schließen erlaubt)
self.setFeatures(QDockWidget.DockWidgetFeature.DockWidgetClosable)
# Tabs hinzufügen
tab_widget = QTabWidget()
for tab_class in self.tabs:
tab_widget.addTab(tab_class(), getattr(tab_class, "tab_title", tab_class.__name__))
self.setWidget(tab_widget)
def closeEvent(self, event):
"""Wird aufgerufen, wenn das Dock geschlossen wird."""
if self.action:
self.action.setChecked(False) # Toolbar-Button zurücksetzen
super().closeEvent(event)