From 6072b8598a9764676d4581107bd98a9cf8c1eb3a Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Tue, 16 Sep 2025 13:41:42 +0200 Subject: [PATCH] wip implemented into main app --- bec_widgets/applications/main_app.py | 25 +++++++++++++++++-- .../navigation_centre/side_bar.py | 2 +- .../examples/developer_view/developer_view.py | 1 + .../device_manager_view.py | 1 + .../advanced_dock_area/advanced_dock_area.py | 4 ++- .../widgets/editors/monaco/monaco_tab.py | 1 + 6 files changed, 30 insertions(+), 4 deletions(-) diff --git a/bec_widgets/applications/main_app.py b/bec_widgets/applications/main_app.py index 791f0751..754d28c3 100644 --- a/bec_widgets/applications/main_app.py +++ b/bec_widgets/applications/main_app.py @@ -1,9 +1,12 @@ +from bec_qthemes.qss_editor.qss_editor import ThemeWidget from qtpy.QtWidgets import QApplication, QHBoxLayout, QStackedWidget, QWidget from bec_widgets.applications.navigation_centre.reveal_animator import ANIMATION_DURATION 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.view import ViewBase, WaveformViewInline, WaveformViewPopup +from bec_widgets.examples.developer_view.developer_view import DeveloperView +from bec_widgets.examples.device_manager_view.device_manager_view import DeviceManagerView from bec_widgets.utils.colors import apply_theme from bec_widgets.widgets.containers.advanced_dock_area.advanced_dock_area import AdvancedDockArea from bec_widgets.widgets.containers.main_window.main_window import BECMainWindow @@ -28,8 +31,8 @@ class BECMainApp(BECMainWindow): container = QWidget(self) layout = QHBoxLayout(container) - layout.setContentsMargins(0, 0, 0, 0) - layout.setSpacing(0) + layout.setContentsMargins(0, 0, 6, 0) + layout.setSpacing(6) layout.addWidget(self.sidebar, 0) layout.addWidget(self.stack, 1) self.setCentralWidget(container) @@ -44,10 +47,26 @@ class BECMainApp(BECMainWindow): def _add_views(self): self.add_section("BEC Applications", "bec_apps") self.ads = AdvancedDockArea(self) + self.developer_view = DeveloperView(self) + self.device_manager_view = DeviceManagerView(self) self.add_view( icon="widgets", title="Dock Area", id="dock_area", widget=self.ads, mini_text="Docks" ) + self.add_view( + icon="code_blocks", + title="Developer View", + id="developer_view", + widget=self.developer_view, + mini_text="Dev", + ) + self.add_view( + icon="display_settings", + title="Device Manager", + id="device_manager", + widget=self.device_manager_view, + mini_text="Devices", + ) if self._show_examples: self.add_section("Examples", "examples") @@ -185,5 +204,7 @@ if __name__ == "__main__": # pragma: no cover apply_theme("dark") w = BECMainApp(show_examples=args.examples) w.show() + # theme_widget = ThemeWidget() + # theme_widget.show() sys.exit(app.exec()) diff --git a/bec_widgets/applications/navigation_centre/side_bar.py b/bec_widgets/applications/navigation_centre/side_bar.py index 6354cafe..5e2743f3 100644 --- a/bec_widgets/applications/navigation_centre/side_bar.py +++ b/bec_widgets/applications/navigation_centre/side_bar.py @@ -31,7 +31,7 @@ class SideBar(QScrollArea): self, parent=None, title: str = "Control Panel", - collapsed_width: int = 56, + collapsed_width: int = 65, expanded_width: int = 250, anim_duration: int = ANIMATION_DURATION, ): diff --git a/bec_widgets/examples/developer_view/developer_view.py b/bec_widgets/examples/developer_view/developer_view.py index f8a76f9d..33a3589d 100644 --- a/bec_widgets/examples/developer_view/developer_view.py +++ b/bec_widgets/examples/developer_view/developer_view.py @@ -67,6 +67,7 @@ class DeveloperView(BECWidget, QWidget): self._root_layout.addWidget(self.toolbar) self.dock_manager = CDockManager(self) + self.dock_manager.setStyleSheet("") self._root_layout.addWidget(self.dock_manager) # Initialize the widgets diff --git a/bec_widgets/examples/device_manager_view/device_manager_view.py b/bec_widgets/examples/device_manager_view/device_manager_view.py index 2f35b3d4..18bde024 100644 --- a/bec_widgets/examples/device_manager_view/device_manager_view.py +++ b/bec_widgets/examples/device_manager_view/device_manager_view.py @@ -96,6 +96,7 @@ class DeviceManagerView(BECWidget, QWidget): self._root_layout.setContentsMargins(0, 0, 0, 0) self._root_layout.setSpacing(0) self.dock_manager = CDockManager(self) + self.dock_manager.setStyleSheet("""""") self._root_layout.addWidget(self.dock_manager) # Available Resources Widget diff --git a/bec_widgets/widgets/containers/advanced_dock_area/advanced_dock_area.py b/bec_widgets/widgets/containers/advanced_dock_area/advanced_dock_area.py index 4b0e11f9..cd2f1b9f 100644 --- a/bec_widgets/widgets/containers/advanced_dock_area/advanced_dock_area.py +++ b/bec_widgets/widgets/containers/advanced_dock_area/advanced_dock_area.py @@ -167,7 +167,7 @@ class AdvancedDockArea(BECWidget, QWidget): # Top-level layout hosting a toolbar and the dock manager self._root_layout = QVBoxLayout(self) - self._root_layout.setContentsMargins(0, 0, 0, 0) + self._root_layout.setContentsMargins(0, 0, 0, 6) self._root_layout.setSpacing(0) # Init Dock Manager @@ -302,6 +302,8 @@ class AdvancedDockArea(BECWidget, QWidget): def _setup_toolbar(self): self.toolbar = ModularToolBar(parent=self) + self.toolbar.setProperty("variant", "primary") + # self.toolbar.setStyleSheet(f"QToolBar {{ border-bottom: 1px; }}") PLOT_ACTIONS = { "waveform": (Waveform.ICON_NAME, "Add Waveform", "Waveform"), diff --git a/bec_widgets/widgets/editors/monaco/monaco_tab.py b/bec_widgets/widgets/editors/monaco/monaco_tab.py index cd4e1bb8..2e1ea3f0 100644 --- a/bec_widgets/widgets/editors/monaco/monaco_tab.py +++ b/bec_widgets/widgets/editors/monaco/monaco_tab.py @@ -34,6 +34,7 @@ class MonacoDock(BECWidget, QWidget): self._root_layout.setSpacing(0) self.dock_manager = QtAds.CDockManager(self) + self.dock_manager.setStyleSheet("") self.dock_manager.focusedDockWidgetChanged.connect(self._on_focus_event) self._root_layout.addWidget(self.dock_manager) self.dock_manager.installEventFilter(self)