diff --git a/bec_widgets/widgets/containers/dock/dock_area.py b/bec_widgets/widgets/containers/dock/dock_area.py index a7c723aa..6d41c0f9 100644 --- a/bec_widgets/widgets/containers/dock/dock_area.py +++ b/bec_widgets/widgets/containers/dock/dock_area.py @@ -20,7 +20,7 @@ from bec_widgets.qt_utils.toolbar import ( from bec_widgets.utils import ConnectionConfig, WidgetContainerUtils from bec_widgets.utils.bec_widget import BECWidget from bec_widgets.widgets.containers.dock.dock import BECDock, DockConfig -from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox +from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox from bec_widgets.widgets.control.scan_control.scan_control import ScanControl from bec_widgets.widgets.editors.vscode.vscode import VSCodeEditor from bec_widgets.widgets.plots.image.image_widget import BECImageWidget diff --git a/bec_widgets/widgets/control/device_control/positioner_box/__init__.py b/bec_widgets/widgets/control/device_control/positioner_box/__init__.py index e69de29b..139039c5 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/__init__.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/__init__.py @@ -0,0 +1,8 @@ +from bec_widgets.widgets.control.device_control.positioner_box.positioner_box.positioner_box import ( + PositionerBox, +) +from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line.positioner_control_line import ( + PositionerControlLine, +) + +__ALL__ = ["PositionerBox", "PositionerControlLine"] diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/__init__.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py similarity index 98% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py index 2dc90902..8d430098 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.py @@ -23,6 +23,7 @@ from bec_widgets.widgets.control.device_input.device_line_edit.device_line_edit DeviceLineEdit, ) + logger = bec_logger.logger MODULE_PATH = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) @@ -31,6 +32,7 @@ MODULE_PATH = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) class PositionerBox(BECWidget, CompactPopupWidget): """Simple Widget to control a positioner in box form""" + current_path = "" ui_file = "positioner_box.ui" dimensions = (234, 224) @@ -54,7 +56,8 @@ class PositionerBox(BECWidget, CompactPopupWidget): self._device = "" self._limits = None self._dialog = None - + if self.current_path == "": + self.current_path = os.path.dirname(__file__) self.init_ui() if device is not None: @@ -65,8 +68,7 @@ class PositionerBox(BECWidget, CompactPopupWidget): """Init the ui""" self.device_changed.connect(self.on_device_change) - current_path = os.path.dirname(__file__) - self.ui = UILoader(self).loader(os.path.join(current_path, self.ui_file)) + self.ui = UILoader(self).loader(os.path.join(self.current_path, self.ui_file)) self.addWidget(self.ui) self.layout.setSpacing(0) diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.pyproject similarity index 100% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_box.pyproject rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.pyproject diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.ui similarity index 100% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_box.ui rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box.ui diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box_plugin.py similarity index 93% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box_plugin.py index e603b2cb..9750932e 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_box_plugin.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/positioner_box_plugin.py @@ -6,7 +6,7 @@ import os from qtpy.QtDesigner import QDesignerCustomWidgetInterface from bec_widgets.utils.bec_designer import designer_material_icon -from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox +from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox DOM_XML = """ diff --git a/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_box/register_positioner_box.py similarity index 100% rename from bec_widgets/widgets/control/device_control/positioner_box/register_positioner_box.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_box/register_positioner_box.py diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.py similarity index 75% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.py index 1ce5037b..6e8d52f5 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.py @@ -1,6 +1,7 @@ +import os from bec_lib.device import Positioner -from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox +from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox class PositionerControlLine(PositionerBox): @@ -12,13 +13,14 @@ class PositionerControlLine(PositionerBox): PLUGIN = True ICON_NAME = "switch_left" - def __init__(self, parent=None, device: Positioner = None, *args, **kwargs): + def __init__(self, parent=None, device: Positioner | str | None = None, *args, **kwargs): """Initialize the DeviceControlLine. Args: parent: The parent widget. device (Positioner): The device to control. """ + self.current_path = os.path.dirname(__file__) super().__init__(parent=parent, device=device, *args, **kwargs) diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.pyproject similarity index 100% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.pyproject rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.pyproject diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.ui similarity index 100% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line.ui rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line.ui diff --git a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line_plugin.py similarity index 91% rename from bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line_plugin.py index 5bbab900..cd04eebb 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line_plugin.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/positioner_control_line_plugin.py @@ -6,9 +6,7 @@ import os from qtpy.QtDesigner import QDesignerCustomWidgetInterface from bec_widgets.utils.bec_designer import designer_material_icon -from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line import ( - PositionerControlLine, -) +from bec_widgets.widgets.control.device_control.positioner_box import PositionerControlLine DOM_XML = """ diff --git a/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/register_positioner_control_line.py similarity index 88% rename from bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py rename to bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/register_positioner_control_line.py index cd915bd2..da7c5f61 100644 --- a/bec_widgets/widgets/control/device_control/positioner_box/register_positioner_control_line.py +++ b/bec_widgets/widgets/control/device_control/positioner_box/positioner_control_line/register_positioner_control_line.py @@ -6,7 +6,7 @@ def main(): # pragma: no cover return from PySide6.QtDesigner import QPyDesignerCustomWidgetCollection - from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line_plugin import ( + from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line.positioner_control_line_plugin import ( PositionerControlLinePlugin, ) diff --git a/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py b/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py index eb29318b..fd342ab7 100644 --- a/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py +++ b/bec_widgets/widgets/control/device_control/positioner_group/positioner_group.py @@ -8,7 +8,7 @@ from qtpy.QtCore import Property, QSize, Signal, Slot from qtpy.QtWidgets import QGridLayout, QGroupBox, QVBoxLayout, QWidget from bec_widgets.utils.bec_widget import BECWidget -from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox +from bec_widgets.widgets.control.device_control.positioner_box import PositionerBox logger = bec_logger.logger diff --git a/tests/unit_tests/test_positioner_box.py b/tests/unit_tests/test_positioner_box.py index 54322533..0735b608 100644 --- a/tests/unit_tests/test_positioner_box.py +++ b/tests/unit_tests/test_positioner_box.py @@ -7,8 +7,8 @@ from qtpy.QtCore import Qt, QTimer from qtpy.QtGui import QValidator from qtpy.QtWidgets import QPushButton -from bec_widgets.widgets.control.device_control.positioner_box.positioner_box import PositionerBox -from bec_widgets.widgets.control.device_control.positioner_box.positioner_control_line import ( +from bec_widgets.widgets.control.device_control.positioner_box import ( + PositionerBox, PositionerControlLine, ) from bec_widgets.widgets.control.device_input.device_line_edit.device_line_edit import ( @@ -23,11 +23,11 @@ from .conftest import create_widget def positioner_box(qtbot, mocked_client): """Fixture for PositionerBox widget""" with mock.patch( - "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.uuid.uuid4" + "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.positioner_box.uuid.uuid4" ) as mock_uuid: mock_uuid.return_value = "fake_uuid" with mock.patch( - "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.PositionerBox._check_device_is_valid", + "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.positioner_box.PositionerBox._check_device_is_valid", return_value=True, ): db = create_widget(qtbot, PositionerBox, device="samx", client=mocked_client) @@ -126,11 +126,11 @@ def test_positioner_control_line(qtbot, mocked_client): Inherits from PositionerBox, but the layout is changed. Check dimensions only """ with mock.patch( - "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.uuid.uuid4" + "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.positioner_box.uuid.uuid4" ) as mock_uuid: mock_uuid.return_value = "fake_uuid" with mock.patch( - "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.PositionerBox._check_device_is_valid", + "bec_widgets.widgets.control.device_control.positioner_box.positioner_box.positioner_box.PositionerBox._check_device_is_valid", return_value=True, ): db = PositionerControlLine(device="samx", client=mocked_client)