diff --git a/bec_widgets/widgets/device_inputs/device_combobox/__init__.py b/bec_widgets/widgets/base_classes/__init__.py similarity index 100% rename from bec_widgets/widgets/device_inputs/device_combobox/__init__.py rename to bec_widgets/widgets/base_classes/__init__.py diff --git a/bec_widgets/widgets/device_inputs/device_input_base.py b/bec_widgets/widgets/base_classes/device_input_base.py similarity index 97% rename from bec_widgets/widgets/device_inputs/device_input_base.py rename to bec_widgets/widgets/base_classes/device_input_base.py index a250cae3..0f3a25ed 100644 --- a/bec_widgets/widgets/device_inputs/device_input_base.py +++ b/bec_widgets/widgets/base_classes/device_input_base.py @@ -25,6 +25,7 @@ class DeviceInputBase(BECConnector): super().__init__(client=client, config=config, gui_id=gui_id) self.get_bec_shortcuts() + self._device_filter = None self._devices = [] @property @@ -56,6 +57,7 @@ class DeviceInputBase(BECConnector): """ self.validate_device_filter(device_filter) self.config.device_filter = device_filter + self._device_filter = device_filter def set_default_device(self, default_device: str): """ diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/__init__.py b/bec_widgets/widgets/device_combobox/__init__.py similarity index 100% rename from bec_widgets/widgets/device_inputs/device_line_edit/__init__.py rename to bec_widgets/widgets/device_combobox/__init__.py diff --git a/bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png b/bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png new file mode 100644 index 00000000..7547b56a Binary files /dev/null and b/bec_widgets/widgets/device_combobox/assets/device_combobox_icon.png differ diff --git a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py b/bec_widgets/widgets/device_combobox/device_combobox.py similarity index 93% rename from bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py rename to bec_widgets/widgets/device_combobox/device_combobox.py index e4b9f93d..6e42203f 100644 --- a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.py +++ b/bec_widgets/widgets/device_combobox/device_combobox.py @@ -2,10 +2,10 @@ from typing import TYPE_CHECKING from qtpy.QtWidgets import QComboBox -from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase, DeviceInputConfig +from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase, DeviceInputConfig if TYPE_CHECKING: - from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputConfig + from bec_widgets.widgets.base_classes.device_input_base import DeviceInputConfig class DeviceComboBox(DeviceInputBase, QComboBox): diff --git a/bec_widgets/widgets/device_combobox/device_combobox.pyproject b/bec_widgets/widgets/device_combobox/device_combobox.pyproject new file mode 100644 index 00000000..6220cc1c --- /dev/null +++ b/bec_widgets/widgets/device_combobox/device_combobox.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["device_combobox.py"] +} diff --git a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox_plugin.py b/bec_widgets/widgets/device_combobox/device_combobox_plugin.py similarity index 79% rename from bec_widgets/widgets/device_inputs/device_combobox/device_combobox_plugin.py rename to bec_widgets/widgets/device_combobox/device_combobox_plugin.py index fb05d5aa..6cae4b4c 100644 --- a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox_plugin.py +++ b/bec_widgets/widgets/device_combobox/device_combobox_plugin.py @@ -1,10 +1,11 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import os from qtpy.QtDesigner import QDesignerCustomWidgetInterface from qtpy.QtGui import QIcon -from bec_widgets.widgets.device_inputs import DeviceComboBox +from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox DOM_XML = """ @@ -27,10 +28,12 @@ class DeviceComboBoxPlugin(QDesignerCustomWidgetInterface): # pragma: no cover return DOM_XML def group(self): - return "" + return "BEC Device Inputs" def icon(self): - return QIcon() + current_path = os.path.dirname(__file__) + icon_path = os.path.join(current_path, "assets", "device_combobox_icon.png") + return QIcon(icon_path) def includeFile(self): return "device_combobox" diff --git a/bec_widgets/widgets/device_inputs/device_combobox/register_device_combobox.py b/bec_widgets/widgets/device_combobox/register_device_combobox.py similarity index 75% rename from bec_widgets/widgets/device_inputs/device_combobox/register_device_combobox.py rename to bec_widgets/widgets/device_combobox/register_device_combobox.py index ded5d2f4..0fa8a817 100644 --- a/bec_widgets/widgets/device_inputs/device_combobox/register_device_combobox.py +++ b/bec_widgets/widgets/device_combobox/register_device_combobox.py @@ -6,9 +6,7 @@ def main(): # pragma: no cover return from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection - from bec_widgets.widgets.device_inputs.device_combobox.device_combobox_plugin import ( - DeviceComboBoxPlugin, - ) + from bec_widgets.widgets.device_combobox.device_combobox_plugin import DeviceComboBoxPlugin QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceComboBoxPlugin()) diff --git a/bec_widgets/widgets/device_inputs/__init__.py b/bec_widgets/widgets/device_inputs/__init__.py deleted file mode 100644 index 0e5f9cb8..00000000 --- a/bec_widgets/widgets/device_inputs/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .device_combobox.device_combobox import DeviceComboBox -from .device_line_edit.device_line_edit import DeviceLineEdit diff --git a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject b/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject deleted file mode 100644 index c97ce5c3..00000000 --- a/bec_widgets/widgets/device_inputs/device_combobox/device_combobox.pyproject +++ /dev/null @@ -1,4 +0,0 @@ -{ - "files": ["device_combobox.py", "launch_device_combobox.py", - ] -} diff --git a/bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py b/bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py deleted file mode 100644 index 979b7b2d..00000000 --- a/bec_widgets/widgets/device_inputs/device_combobox/launch_device_combobox.py +++ /dev/null @@ -1,11 +0,0 @@ -from bec_widgets.widgets.device_inputs import DeviceComboBox - -if __name__ == "__main__": # pragma: no cover - import sys - - from qtpy.QtWidgets import QApplication - - app = QApplication(sys.argv) - w = DeviceComboBox() - w.show() - sys.exit(app.exec_()) diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject b/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject deleted file mode 100644 index c8b80137..00000000 --- a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.pyproject +++ /dev/null @@ -1,4 +0,0 @@ -{ - "files": ["device_line_edit.py", "launch_device_line_edit.py", - ] -} diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py b/bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py deleted file mode 100644 index 790e546d..00000000 --- a/bec_widgets/widgets/device_inputs/device_line_edit/launch_device_line_edit.py +++ /dev/null @@ -1,11 +0,0 @@ -from bec_widgets.widgets.device_inputs import DeviceLineEdit - -if __name__ == "__main__": # pragma: no cover - import sys - - from qtpy.QtWidgets import QApplication - - app = QApplication(sys.argv) - w = DeviceLineEdit() - w.show() - sys.exit(app.exec_()) diff --git a/bec_widgets/widgets/device_line_edit/__init__.py b/bec_widgets/widgets/device_line_edit/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png b/bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png new file mode 100644 index 00000000..4f07e3d2 Binary files /dev/null and b/bec_widgets/widgets/device_line_edit/assets/line_edit_icon.png differ diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py b/bec_widgets/widgets/device_line_edit/device_line_edit.py similarity index 94% rename from bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py rename to bec_widgets/widgets/device_line_edit/device_line_edit.py index 72c351d9..305933b6 100644 --- a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit.py +++ b/bec_widgets/widgets/device_line_edit/device_line_edit.py @@ -3,10 +3,10 @@ from typing import TYPE_CHECKING from qtpy.QtCore import QSize from qtpy.QtWidgets import QCompleter, QLineEdit, QSizePolicy -from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase, DeviceInputConfig +from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase, DeviceInputConfig if TYPE_CHECKING: - from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputConfig + from bec_widgets.widgets.base_classes.device_input_base import DeviceInputConfig class DeviceLineEdit(DeviceInputBase, QLineEdit): diff --git a/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject b/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject new file mode 100644 index 00000000..8639120f --- /dev/null +++ b/bec_widgets/widgets/device_line_edit/device_line_edit.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["device_line_edit.py"] +} diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit_plugin.py b/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py similarity index 79% rename from bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit_plugin.py rename to bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py index df2ee138..9a3d86ee 100644 --- a/bec_widgets/widgets/device_inputs/device_line_edit/device_line_edit_plugin.py +++ b/bec_widgets/widgets/device_line_edit/device_line_edit_plugin.py @@ -1,10 +1,11 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import os from qtpy.QtDesigner import QDesignerCustomWidgetInterface from qtpy.QtGui import QIcon -from bec_widgets.widgets.device_inputs import DeviceLineEdit +from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit DOM_XML = """ @@ -27,10 +28,12 @@ class DeviceLineEditPlugin(QDesignerCustomWidgetInterface): # pragma: no cover return DOM_XML def group(self): - return "" + return "BEC Device Inputs" def icon(self): - return QIcon() + current_path = os.path.dirname(__file__) + icon_path = os.path.join(current_path, "assets", "line_edit_icon.png") + return QIcon(icon_path) def includeFile(self): return "device_line_edit" diff --git a/bec_widgets/widgets/device_inputs/device_line_edit/register_device_line_edit.py b/bec_widgets/widgets/device_line_edit/register_device_line_edit.py similarity index 75% rename from bec_widgets/widgets/device_inputs/device_line_edit/register_device_line_edit.py rename to bec_widgets/widgets/device_line_edit/register_device_line_edit.py index 28054310..8b587c38 100644 --- a/bec_widgets/widgets/device_inputs/device_line_edit/register_device_line_edit.py +++ b/bec_widgets/widgets/device_line_edit/register_device_line_edit.py @@ -6,9 +6,7 @@ def main(): # pragma: no cover return from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection - from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit_plugin import ( - DeviceLineEditPlugin, - ) + from bec_widgets.widgets.device_line_edit.device_line_edit_plugin import DeviceLineEditPlugin QPyDesignerCustomWidgetCollection.addCustomWidget(DeviceLineEditPlugin()) diff --git a/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py b/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py index 4e16a5a9..53a02073 100644 --- a/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py +++ b/bec_widgets/widgets/motor_map/motor_map_dialog/motor_map_toolbar.py @@ -4,7 +4,7 @@ from qtpy.QtCore import QSize from qtpy.QtGui import QAction, QIcon from qtpy.QtWidgets import QHBoxLayout, QLabel, QWidget -from bec_widgets.widgets.device_inputs import DeviceComboBox +from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox from bec_widgets.widgets.toolbar.toolbar import ToolBarAction diff --git a/bec_widgets/widgets/scan_control/scan_group_box.py b/bec_widgets/widgets/scan_control/scan_group_box.py index ac40338e..72323b24 100644 --- a/bec_widgets/widgets/scan_control/scan_group_box.py +++ b/bec_widgets/widgets/scan_control/scan_group_box.py @@ -12,7 +12,7 @@ from qtpy.QtWidgets import ( ) from bec_widgets.utils.widget_io import WidgetIO -from bec_widgets.widgets.device_inputs import DeviceLineEdit +from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit class ScanArgType: diff --git a/tests/unit_tests/test_device_input_base.py b/tests/unit_tests/test_device_input_base.py index 87481237..01e2b1fa 100644 --- a/tests/unit_tests/test_device_input_base.py +++ b/tests/unit_tests/test_device_input_base.py @@ -1,6 +1,6 @@ import pytest -from bec_widgets.widgets.device_inputs.device_input_base import DeviceInputBase +from bec_widgets.widgets.base_classes.device_input_base import DeviceInputBase from .client_mocks import mocked_client diff --git a/tests/unit_tests/test_device_input_widgets.py b/tests/unit_tests/test_device_input_widgets.py index 6059689e..786d4849 100644 --- a/tests/unit_tests/test_device_input_widgets.py +++ b/tests/unit_tests/test_device_input_widgets.py @@ -1,7 +1,7 @@ import pytest -from bec_widgets.widgets.device_inputs.device_combobox.device_combobox import DeviceComboBox -from bec_widgets.widgets.device_inputs.device_line_edit.device_line_edit import DeviceLineEdit +from bec_widgets.widgets.device_combobox.device_combobox import DeviceComboBox +from bec_widgets.widgets.device_line_edit.device_line_edit import DeviceLineEdit from .client_mocks import mocked_client diff --git a/tests/unit_tests/test_stop_button.py b/tests/unit_tests/test_stop_button.py index cd9e57b6..27654071 100644 --- a/tests/unit_tests/test_stop_button.py +++ b/tests/unit_tests/test_stop_button.py @@ -3,6 +3,7 @@ import pytest from bec_widgets.widgets.stop_button.stop_button import StopButton + from .client_mocks import mocked_client