fix(gui): cleanup adjusted
This commit is contained in:
@@ -145,6 +145,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
|
||||
def __init__(self, parent=None, **kwargs):
|
||||
super().__init__(parent=parent, **kwargs)
|
||||
self._connected_motor = None
|
||||
self.get_bec_shortcuts()
|
||||
|
||||
self._init_ui()
|
||||
@@ -356,6 +357,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.on_tomo_angle_readback, MessageEndpoints.device_readback(motor)
|
||||
)
|
||||
logger.info(f"Successfully connected to {motor}")
|
||||
self._connected_motor = motor
|
||||
|
||||
################################################################################
|
||||
# Properties ported from the original OmnyAlignment, can be adjusted as needed
|
||||
@@ -554,6 +556,18 @@ class XRayEye(BECWidget, QWidget):
|
||||
|
||||
def cleanup(self):
|
||||
"""Cleanup connections on widget close -> disconnect slots and stop live mode of camera."""
|
||||
if self._connected_motor is not None:
|
||||
self.bec_dispatcher.disconnect_slot(
|
||||
self.on_tomo_angle_readback, MessageEndpoints.device_readback(self._connected_motor)
|
||||
)
|
||||
|
||||
self.bec_dispatcher.disconnect_slot(
|
||||
self.getting_shutter_status, MessageEndpoints.device_readback("omnyfsh")
|
||||
)
|
||||
self.bec_dispatcher.disconnect_slot(
|
||||
self.getting_camera_status, MessageEndpoints.device_read_configuration(CAMERA[0])
|
||||
)
|
||||
|
||||
getattr(self.dev, CAMERA[0]).stop_live_mode()
|
||||
super().cleanup()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user