wip adding toggles and extending message box
This commit is contained in:
@@ -21,6 +21,7 @@ from qtpy.QtWidgets import (
|
||||
QToolButton,
|
||||
QVBoxLayout,
|
||||
QWidget,
|
||||
QTextEdit
|
||||
)
|
||||
|
||||
logger = bec_logger.logger
|
||||
@@ -137,6 +138,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
|
||||
# Connection to redis endpoints
|
||||
self.bec_dispatcher.connect_slot(self.device_updates, MessageEndpoints.device_readback("omny_xray_gui"))
|
||||
# self.bec_dispatcher.connect_slot(self.camera_running,MessageEndpoints.device_preview(CAMERA[0],CAMERA[1])) #TODO put better way how to sync property of device
|
||||
self.connect_motors()
|
||||
self.resize(800, 600)
|
||||
QTimer.singleShot(0, self._init_gui_trigger)
|
||||
@@ -147,6 +149,7 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.image = Image(parent=self)
|
||||
self.image.enable_toolbar = False # Disable default toolbar to not allow to user set anything
|
||||
self.image.inner_axes = False # Disable inner axes to maximize image area
|
||||
self.image.enable_full_colorbar = True
|
||||
self.image.plot_item.vb.invertY(True) # #TODO Invert y axis to match logic of LabView GUI
|
||||
|
||||
# Control panel on the right: vertical layout inside a fixed-width widget
|
||||
@@ -170,6 +173,24 @@ class XRayEye(BECWidget, QWidget):
|
||||
header_row.addWidget(self.live_preview_toggle, 0, Qt.AlignVCenter)
|
||||
self.control_panel_layout.addLayout(header_row)
|
||||
|
||||
switch_row = QHBoxLayout()
|
||||
switch_row.setContentsMargins(0, 0, 0, 0)
|
||||
switch_row.setSpacing(8)
|
||||
switch_row.addStretch()
|
||||
self.camera_running_label = QLabel("Camera running", parent=self)
|
||||
self.camera_running_toggle = ToggleSwitch(parent=self)
|
||||
self.camera_running_toggle.checked = False
|
||||
self.camera_running_toggle.enabled.connect(self.camera_running_enabled)
|
||||
self.shutter_label = QLabel("Shutter open", parent=self)
|
||||
self.shutter_toggle = ToggleSwitch(parent=self)
|
||||
self.shutter_toggle.checked = False
|
||||
switch_row.addWidget(self.shutter_label, 0, Qt.AlignVCenter)
|
||||
switch_row.addWidget(self.shutter_toggle, 0, Qt.AlignVCenter)
|
||||
switch_row.addWidget(self.camera_running_label, 0, Qt.AlignVCenter)
|
||||
switch_row.addWidget(self.camera_running_toggle, 0, Qt.AlignVCenter)
|
||||
self.control_panel_layout.addLayout(switch_row)
|
||||
|
||||
|
||||
# separator
|
||||
self.control_panel_layout.addWidget(self._create_separator())
|
||||
|
||||
@@ -207,7 +228,8 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.sample_name_line_edit.setReadOnly(True)
|
||||
form.addWidget(QLabel("Sample", parent=self), 0, 0)
|
||||
form.addWidget(self.sample_name_line_edit, 0, 1)
|
||||
self.message_line_edit = QLineEdit(parent=self)
|
||||
self.message_line_edit = QTextEdit(parent=self)
|
||||
self.message_line_edit.setFixedHeight(60)
|
||||
self.message_line_edit.setReadOnly(True)
|
||||
form.addWidget(QLabel("Message", parent=self), 1, 0)
|
||||
form.addWidget(self.message_line_edit, 1, 1)
|
||||
@@ -315,6 +337,18 @@ class XRayEye(BECWidget, QWidget):
|
||||
self.live_preview_toggle.checked = enabled
|
||||
self.live_preview_toggle.blockSignals(False)
|
||||
|
||||
@SafeSlot(bool)
|
||||
def camera_running_enabled(self, enabled: bool):
|
||||
logger.info(f"Camera running: {enabled}")
|
||||
self.camera_running_toggle.blockSignals(True)
|
||||
self.dev.get(CAMERA[0]).live_mode = enabled
|
||||
self.camera_running_toggle.checked = enabled
|
||||
self.camera_running_toggle.blockSignals(False)
|
||||
|
||||
@SafeSlot(dict,dict)
|
||||
def camera_running(self,data,meta):
|
||||
...
|
||||
|
||||
@SafeSlot(bool, bool)
|
||||
def on_motors_enable(self, x_enable: bool, y_enable: bool):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user