mirror of
https://github.com/bec-project/bec_widgets.git
synced 2026-06-06 05:18:40 +02:00
wip device section logging and no deleteLater
This commit is contained in:
@@ -5,6 +5,9 @@ from bec_widgets.utils.toolbars.bundles import ToolbarBundle, ToolbarComponents
|
||||
from bec_widgets.utils.toolbars.connections import BundleConnection
|
||||
from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import DeviceComboBox
|
||||
from bec_widgets.widgets.control.device_input.signal_combobox.signal_combobox import SignalComboBox
|
||||
from bec_lib.logger import bec_logger
|
||||
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
||||
class DeviceSelection(QWidget):
|
||||
@@ -139,18 +142,12 @@ class DeviceSelection(QWidget):
|
||||
|
||||
def cleanup(self):
|
||||
"""Clean up the widget resources."""
|
||||
logger.error("Cleaning up DeviceSelection")
|
||||
if self._cleanup_done:
|
||||
return
|
||||
self._cleanup_done = True
|
||||
self.device_combo_box.close()
|
||||
self.device_combo_box.deleteLater()
|
||||
self.signal_combo_box.close()
|
||||
self.signal_combo_box.deleteLater()
|
||||
|
||||
def closeEvent(self, event):
|
||||
"""Ensure embedded BEC widgets clean up when the toolbar widget closes."""
|
||||
self.cleanup()
|
||||
super().closeEvent(event)
|
||||
|
||||
|
||||
def device_selection_bundle(components: ToolbarComponents, client=None) -> ToolbarBundle:
|
||||
|
||||
@@ -35,6 +35,17 @@ def test_initialization_defaults(qtbot, mocked_client):
|
||||
assert bec_image_view._color_bar is None
|
||||
|
||||
|
||||
def test_image_cleanup_cleans_toolbar_device_selection_callbacks(qtbot, mocked_client):
|
||||
bec_image_view = create_widget(qtbot, Image, client=mocked_client)
|
||||
device_selection = bec_image_view.toolbar.components.get_action("device_selection").widget
|
||||
|
||||
bec_image_view.cleanup()
|
||||
|
||||
assert device_selection._cleanup_done is True
|
||||
assert device_selection.device_combo_box._callback_id is None
|
||||
assert device_selection.signal_combo_box._device_update_register is None
|
||||
|
||||
|
||||
def test_setting_color_map(qtbot, mocked_client):
|
||||
bec_image_view = create_widget(qtbot, Image, client=mocked_client)
|
||||
bec_image_view.color_map = "viridis"
|
||||
|
||||
Reference in New Issue
Block a user