From 1e3661c3186681a250f7dc56190882f96a48ecb2 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Mon, 2 Feb 2026 11:03:54 +0100 Subject: [PATCH] fix(main_app): the dock area view implemented as a viewBase --- bec_widgets/applications/main_app.py | 11 +++++---- .../views/dock_area_view/__init__.py | 0 .../views/dock_area_view/dock_area_view.py | 24 +++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 bec_widgets/applications/views/dock_area_view/__init__.py create mode 100644 bec_widgets/applications/views/dock_area_view/dock_area_view.py diff --git a/bec_widgets/applications/main_app.py b/bec_widgets/applications/main_app.py index 163132dd..54daae0b 100644 --- a/bec_widgets/applications/main_app.py +++ b/bec_widgets/applications/main_app.py @@ -5,6 +5,7 @@ from bec_widgets.applications.navigation_centre.side_bar import SideBar from bec_widgets.applications.navigation_centre.side_bar_components import NavigationItem from bec_widgets.applications.views.developer_view.developer_view import DeveloperView from bec_widgets.applications.views.device_manager_view.device_manager_view import DeviceManagerView +from bec_widgets.applications.views.dock_area_view.dock_area_view import DockAreaView from bec_widgets.applications.views.view import ViewBase, WaveformViewInline, WaveformViewPopup from bec_widgets.utils.colors import apply_theme from bec_widgets.utils.screen_utils import ( @@ -12,7 +13,6 @@ from bec_widgets.utils.screen_utils import ( available_screen_geometry, main_app_size_for_screen, ) -from bec_widgets.widgets.containers.dock_area.dock_area import BECDockArea from bec_widgets.widgets.containers.main_window.main_window import BECMainWindow @@ -50,13 +50,16 @@ class BECMainApp(BECMainWindow): def _add_views(self): self.add_section("BEC Applications", "bec_apps") - self.ads = BECDockArea(self, profile_namespace="bec", auto_profile_namespace=False) - self.ads.setObjectName("MainWorkspace") + self.dock_area = DockAreaView(self) self.device_manager = DeviceManagerView(self) self.developer_view = DeveloperView(self) self.add_view( - icon="widgets", title="Dock Area", id="dock_area", widget=self.ads, mini_text="Docks" + icon="widgets", + title="Dock Area", + id="dock_area", + widget=self.dock_area, + mini_text="Docks", ) self.add_view( icon="display_settings", diff --git a/bec_widgets/applications/views/dock_area_view/__init__.py b/bec_widgets/applications/views/dock_area_view/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bec_widgets/applications/views/dock_area_view/dock_area_view.py b/bec_widgets/applications/views/dock_area_view/dock_area_view.py new file mode 100644 index 00000000..322a6073 --- /dev/null +++ b/bec_widgets/applications/views/dock_area_view/dock_area_view.py @@ -0,0 +1,24 @@ +from qtpy.QtWidgets import QWidget + +from bec_widgets.applications.views.view import ViewBase +from bec_widgets.widgets.containers.dock_area.dock_area import BECDockArea + + +class DockAreaView(ViewBase): + """ + Modular dock area view for arranging and managing multiple dockable widgets. + """ + + def __init__( + self, + parent: QWidget | None = None, + content: QWidget | None = None, + *, + id: str | None = None, + title: str | None = None, + ): + super().__init__(parent=parent, content=content, id=id, title=title) + self.dock_area = BECDockArea( + self, profile_namespace="bec", auto_profile_namespace=False, object_name="DockArea" + ) + self.set_content(self.dock_area)