diff --git a/examples/shutters_widget.py b/examples/shutter_widget.py similarity index 79% rename from examples/shutters_widget.py rename to examples/shutter_widget.py index de17db106..28e82b6bc 100644 --- a/examples/shutters_widget.py +++ b/examples/shutter_widget.py @@ -9,7 +9,7 @@ from pymmcore_plus import CMMCorePlus, DeviceType from qtpy.QtWidgets import QApplication, QHBoxLayout, QWidget -from pymmcore_widgets import ShuttersWidget +from pymmcore_widgets import ShutterWidget app = QApplication([]) @@ -24,7 +24,12 @@ for idx, shutter_dev in enumerate(shutter_dev_list): # bool to display the autoshutter checkbox only with the last shutter autoshutter = bool(idx >= len(shutter_dev_list) - 1) - shutter = ShuttersWidget(shutter_dev, autoshutter=autoshutter) + shutter = ShutterWidget( + shutter_dev, + autoshutter=autoshutter, + button_text_open=shutter_dev, + button_text_closed=shutter_dev, + ) wdg.layout().addWidget(shutter) wdg.show() diff --git a/src/pymmcore_widgets/__init__.py b/src/pymmcore_widgets/__init__.py index 3e6ce9c9c..626977470 100644 --- a/src/pymmcore_widgets/__init__.py +++ b/src/pymmcore_widgets/__init__.py @@ -41,7 +41,7 @@ "PropertiesWidget", "PropertyBrowser", "PropertyWidget", - "ShuttersWidget", + "ShutterWidget", "SnapButton", "StageExplorer", "StageWidget", @@ -69,7 +69,7 @@ LiveButton, ObjectivesWidget, PresetsWidget, - ShuttersWidget, + ShutterWidget, SnapButton, StageExplorer, StageWidget, @@ -137,4 +137,11 @@ def __getattr__(name: str) -> object: stacklevel=2, ) return ObjectivesPixelConfigurationWidget + if name == "ShuttersWidget": + warnings.warn( + "'ShuttersWidget' is deprecated, use 'ShutterWidget' instead.", + DeprecationWarning, + stacklevel=2, + ) + return ShutterWidget raise AttributeError(f"module {__name__} has no attribute {name}") diff --git a/src/pymmcore_widgets/control/__init__.py b/src/pymmcore_widgets/control/__init__.py index 27c088fa3..75f3a6c2f 100644 --- a/src/pymmcore_widgets/control/__init__.py +++ b/src/pymmcore_widgets/control/__init__.py @@ -8,7 +8,7 @@ from ._load_system_cfg_widget import ConfigurationWidget from ._objective_widget import ObjectivesWidget from ._presets_widget import PresetsWidget -from ._shutter_widget import ShuttersWidget +from ._shutter_widget import ShutterWidget from ._snap_button_widget import SnapButton from ._stage_explorer import StageExplorer from ._stage_widget import StageWidget @@ -23,7 +23,7 @@ "LiveButton", "ObjectivesWidget", "PresetsWidget", - "ShuttersWidget", + "ShutterWidget", "SnapButton", "StageExplorer", "StageWidget", diff --git a/src/pymmcore_widgets/control/_shutter_widget.py b/src/pymmcore_widgets/control/_shutter_widget.py index 08ea2f330..9782a8e45 100644 --- a/src/pymmcore_widgets/control/_shutter_widget.py +++ b/src/pymmcore_widgets/control/_shutter_widget.py @@ -20,8 +20,8 @@ ] -class ShuttersWidget(QWidget): - """A Widget to control shutters and Micro-Manager autoshutter. +class ShutterWidget(QWidget): + """A Widget to control a Micro-Manager shutter. Parameters ---------- diff --git a/tests/test_core_state.py b/tests/test_core_state.py index a0c85c3cb..d7ffd3592 100644 --- a/tests/test_core_state.py +++ b/tests/test_core_state.py @@ -32,7 +32,7 @@ pmmw.PropertiesWidget: {}, pmmw.PropertyBrowser: {}, pmmw.PropertyWidget: {"device_label": "Camera", "prop_name": "Binning"}, - pmmw.ShuttersWidget: {"shutter_device": "Shutter"}, + pmmw.ShutterWidget: {"shutter_device": "Shutter"}, pmmw.SnapButton: {}, pmmw.StageWidget: {"device": "XY"}, pmmw.TimePlanWidget: {}, diff --git a/tests/test_shutter_widget.py b/tests/test_shutter_widget.py index 19ddbeab0..ea8ae4b01 100644 --- a/tests/test_shutter_widget.py +++ b/tests/test_shutter_widget.py @@ -4,7 +4,7 @@ import pytest -from pymmcore_widgets.control._shutter_widget import ShuttersWidget +from pymmcore_widgets.control._shutter_widget import ShutterWidget from tests._utils import wait_signal if TYPE_CHECKING: @@ -17,8 +17,8 @@ def _make_shutter( mmcore: CMMCorePlus, device: str = "Shutter", autoshutter: bool = True, -) -> ShuttersWidget: - wdg = ShuttersWidget( +) -> ShutterWidget: + wdg = ShutterWidget( device, autoshutter=autoshutter, button_text_open=f"{device} opened",