Skip to content

Device name with "-" crashes GroupPresetWidget #363

Closed
@wl-stepp

Description

@wl-stepp
  • pymmcore-widgets version: 0.1.dev248+g53e9ddf.d20240719
  • Python version: 3.11.9
  • Operating System: Windows 10

Description

Trying to update a PresetConfig from the Widget by added another Preset to Channel. Crashes because one of our devices is called "pE-800" and the "-" makes the widget think it's called "pE" only. This works in the Java version however. I think there might be a step where the "-" is used to separate device and setting?

What I Did

We can replicate with a minimal system:

from pymmcore_widgets import GroupPresetTableWidget
from pymmcore_plus import CMMCorePlus
from qtpy.QtWidgets import QApplication

app = QApplication([])
mmcore = CMMCorePlus()
mmcore.loadSystemConfiguration('./MMConfig_error.cfg')

group_presets = GroupPresetTableWidget(mmcore=mmcore)
group_presets.show()

app.exec_()

Error when trying to change a preset in ErrorChannel, config attached.

Traceback (most recent call last):
  File "C:\Control_2\pymmcore-widgets\src\pymmcore_widgets\_group_preset_widget\_group_preset_table_widget.py", line 227, in _on_new_group_preset
    self._populate_table()
  File "C:\Control_2\pymmcore-widgets\src\pymmcore_widgets\_group_preset_widget\_group_preset_table_widget.py", line 246, in _populate_table
    wdg = self._create_group_widget(group)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Control_2\pymmcore-widgets\src\pymmcore_widgets\_group_preset_widget\_group_preset_table_widget.py", line 281, in _create_group_widget
    return PropertyWidget(device, prop)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Control_2\pymmcore-widgets\src\pymmcore_widgets\_property_widget.py", line 312, in __init__
    raise ValueError(f"Device not loaded: {device_label!r}")
ValueError: Device not loaded: 'DCam'

MMConfig_error.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions