From 70cfcc653d7a15eb3c31faa6743f39addc4867a5 Mon Sep 17 00:00:00 2001 From: wyzula-jan Date: Wed, 22 Oct 2025 14:13:21 +0200 Subject: [PATCH] wip movement added --- .../bec_widgets/widgets/xray_eye/x_ray_eye.py | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py index f02957a..61f6f1e 100644 --- a/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py +++ b/csaxs_bec/bec_widgets/widgets/xray_eye/x_ray_eye.py @@ -23,9 +23,10 @@ DEVICE_HORIZONTAL = "samx" DEVICE_VERTICAL = "samy" CAMERA = ("cam_flomni_overview","preview") -class XRayEye2DControl(QWidget): - def __init__(self, parent=None,step_size:int=100): - super().__init__(parent=parent) +class XRayEye2DControl(BECWidget,QWidget): + def __init__(self, parent=None,step_size:int=100,*arg,**kwargs): + super().__init__(parent=parent,*arg,**kwargs) + self.get_bec_shortcuts() self._step_size = step_size self.root_layout = QGridLayout(self) @@ -65,6 +66,16 @@ class XRayEye2DControl(QWidget): self.move_down_tweak_button.setIcon(material_icon('keyboard_arrow_down')) self.root_layout.addWidget(self.move_down_tweak_button,3,2) + # Connections + self.move_up_button.clicked.connect(lambda : self.move("up",tweak=False)) + self.move_up_tweak_button.clicked.connect(lambda : self.move("up",tweak=True)) + self.move_down_button.clicked.connect(lambda : self.move("down",tweak=False)) + self.move_down_tweak_button.clicked.connect(lambda : self.move("down",tweak=True)) + self.move_left_button.clicked.connect(lambda : self.move("left",tweak=False)) + self.move_left_tweak_button.clicked.connect(lambda : self.move("left",tweak=True)) + self.move_right_button.clicked.connect(lambda : self.move("right",tweak=False)) + self.move_right_tweak_button.clicked.connect(lambda : self.move("right",tweak=True)) + @SafeProperty(int) def step_size(self)->int: return self._step_size @@ -87,6 +98,21 @@ class XRayEye2DControl(QWidget): self.move_down_button.setEnabled(enable) self.move_down_tweak_button.setEnabled(enable) + def move(self,direction:str,tweak:bool=False): + step = self._step_size + if tweak: + step = int(self._step_size/5) + if direction == "up": + self.dev.omny_xray_gui.mvy.set(step) + elif direction == "down": + self.dev.omny_xray_gui.mvy.set(-step) + elif direction == "left": + self.dev.omny_xray_gui.mvx.set(-step) + elif direction == "right": + self.dev.omny_xray_gui.mvx.set(step) + else: + logger.warning(f"Unknown direction {direction} for move command.") + class XRayEye(BECWidget, QWidget): USER_ACCESS = ["active_roi","enable_live_view", "enable_live_view.setter", "user_message", "user_message.setter","sample_name", "sample_name.setter", "enable_move_buttons", "enable_move_buttons.setter"]