forked from AG_QGIS/Plugin_SN_Widmung
Aufgeräumt.
This commit is contained in:
25
main.py
25
main.py
@@ -1,33 +1,36 @@
|
||||
from qgis.utils import plugins
|
||||
from qgis.PyQt.QtGui import QIcon
|
||||
from sn_basis.ui.navigation import Navigation
|
||||
from sn_basis.ui.dockmanager import DockManager
|
||||
from .ui.dockwidget import DockWidget
|
||||
|
||||
|
||||
class Widmung:
|
||||
def __init__(self, iface):
|
||||
self.iface = iface
|
||||
self.ui = None
|
||||
self.action = None
|
||||
self.dockwidget = None
|
||||
|
||||
# Namen automatisch aus Klassennamen ableiten
|
||||
self.plugin_name = self.__class__.__name__
|
||||
self.dock_name = f"sn_dock_{self.plugin_name.lower()}"
|
||||
|
||||
def initGui(self):
|
||||
# Basis-Plugin muss geladen sein!
|
||||
basis = plugins.get("sn_basis")
|
||||
if basis and basis.ui:
|
||||
self.action = basis.ui.add_action("Widmung", self.run, tooltip="Öffnet Widmung", priority=30)
|
||||
self.action = basis.ui.add_action(
|
||||
self.plugin_name,
|
||||
self.run,
|
||||
tooltip=f"Öffnet {self.plugin_name}",
|
||||
priority=30
|
||||
)
|
||||
basis.ui.finalize_menu_and_toolbar()
|
||||
|
||||
def unload(self):
|
||||
if self.ui:
|
||||
self.ui.remove_all()
|
||||
if self.dockwidget:
|
||||
self.iface.removeDockWidget(self.dockwidget)
|
||||
self.dockwidget.deleteLater()
|
||||
self.dockwidget = None
|
||||
|
||||
def run(self):
|
||||
from sn_widmung.ui.dockwidget import DockWidget
|
||||
self.dockwidget = DockWidget(self.iface.mainWindow())
|
||||
self.dockwidget.setObjectName("sn_dock_widmung")
|
||||
self.dockwidget = DockWidget(self.iface.mainWindow(), subtitle=self.plugin_name)
|
||||
self.dockwidget.setObjectName(self.dock_name)
|
||||
DockManager.show(self.dockwidget)
|
||||
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
from qgis.PyQt.QtWidgets import QDockWidget, QTabWidget, QWidget, QVBoxLayout, QLabel
|
||||
from sn_basis.ui.tabs.settings_tab import SettingsTab
|
||||
from sn_widmung.ui.tabs.tab_a import TabA
|
||||
from sn_widmung.ui.tabs.tab_b import TabB
|
||||
from sn_basis.ui.base_dockwidget import BaseDockWidget
|
||||
|
||||
class DockWidget(QDockWidget):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
self.setWindowTitle("LNO Sachsen | Widmung")
|
||||
|
||||
# TabWidget erzeugen
|
||||
tabs = QTabWidget()
|
||||
|
||||
# Tab A
|
||||
tabs.addTab(TabA(), "Plugin2 A")
|
||||
|
||||
# Tab B
|
||||
tabs.addTab(TabB(), "Plugin2 B")
|
||||
|
||||
# Gemeinsamer Tab
|
||||
tabs.addTab(SettingsTab(), "Projekteigenschaften")
|
||||
|
||||
# TabWidget ins Dock setzen
|
||||
self.setWidget(tabs)
|
||||
class DockWidget(BaseDockWidget):
|
||||
tabs = [TabA, TabB, SettingsTab]
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QLineEdit
|
||||
|
||||
class TabA(QWidget):
|
||||
tab_title = "Tab A"
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
layout = QVBoxLayout()
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
from qgis.PyQt.QtWidgets import QWidget, QVBoxLayout, QLabel, QTextEdit
|
||||
|
||||
class TabB(QWidget):
|
||||
tab_title = "Tab B"
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
layout = QVBoxLayout()
|
||||
|
||||
Reference in New Issue
Block a user