Files
Plugin_SN_Basis/ui/base_dockwidget.py

29 lines
1011 B
Python
Raw Normal View History

2025-11-17 11:29:04 +01:00
from qgis.PyQt.QtWidgets import QDockWidget, QTabWidget
class BaseDockWidget(QDockWidget):
base_title = "LNO Sachsen"
tabs = []
2025-11-17 12:23:04 +01:00
action = None # Referenz auf die Toolbar-Action
2025-11-17 11:29:04 +01:00
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)
2025-11-17 12:23:04 +01:00
# Dock fixieren (nur schließen erlaubt)
2025-11-17 11:29:04 +01:00
self.setFeatures(QDockWidget.DockWidgetFeature.DockWidgetClosable)
2025-11-17 12:23:04 +01:00
# Tabs hinzufügen
2025-11-17 11:29:04 +01:00
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)
2025-11-17 12:23:04 +01:00
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)