wip fix group scan box

This commit is contained in:
2026-05-12 19:48:42 +02:00
parent 31e15675f7
commit 3055a7e090
2 changed files with 17 additions and 2 deletions
@@ -271,9 +271,19 @@ class ScanGroupBox(QGroupBox):
continue
if default == "_empty":
default = None
widget = widget_class(parent=self.parent(), arg_name=arg_name, default=default)
if widget_class is DeviceComboBox:
widget = widget_class(parent=self.parent(), arg_name=arg_name)
else:
widget = widget_class(parent=self.parent(), arg_name=arg_name, default=default)
if isinstance(widget, DeviceComboBox):
widget.set_device_filter(BECDeviceFilter.DEVICE)
if item["type"] == ScanArgType.DEVICE:
widget.set_device_filter(BECDeviceFilter.POSITIONER)
else:
widget.set_device_filter(BECDeviceFilter.DEVICE)
if default is None:
widget.set_first_element_as_empty = True
else:
widget.set_device(default)
self.selected_devices[widget] = ""
widget.device_selected.connect(self.emit_device_selected)
if isinstance(widget, ScanLiteralsComboBox):
+5
View File
@@ -9,6 +9,7 @@ from qtpy.QtCore import QModelIndex, Qt
from bec_widgets.utils.forms_from_types.items import StrFormItem
from bec_widgets.utils.widget_io import WidgetIO
from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import DeviceComboBox
from bec_widgets.widgets.control.scan_control import ScanControl
from .client_mocks import mocked_client
@@ -304,6 +305,10 @@ def test_on_scan_selected(scan_control, scan_name):
assert widget is not None # Confirm that a widget exists
expected_widget_type = scan_control.arg_box.WIDGET_HANDLER.get(arg_value, None)
assert isinstance(widget, expected_widget_type) # Confirm the widget type matches
if isinstance(widget, DeviceComboBox):
assert widget.currentText() == ""
assert "samx" in widget.devices
assert "bpm3a" not in widget.devices
# Check kwargs boxes
kwargs_group = [param for param in expected_scan_info["gui_config"]["kwarg_groups"]]