diff --git a/gui/src/aaregui/main_window.py b/gui/src/aaregui/main_window.py index de72e06a..7313a472 100644 --- a/gui/src/aaregui/main_window.py +++ b/gui/src/aaregui/main_window.py @@ -119,7 +119,7 @@ class MainWindow(QMainWindow): self.daq.spreadsheet.connect(self.tell_samples.new_sample_list) self.daq.update.connect(self.beamline.omega_panel.update_daq_status) self.daq.update.connect(self.beamline.smargon_panel.update_daq_status) - self.daq.update.connect(self.data_collection.helical.update_daq_status) + self.daq.update.connect(self.data_collection.update_daq_status) self.daq.update.connect(self.beamline.illumination_panel.update_daq_status) self.daq.update.connect(self.status_panel.update_daq_status) self.daq.update.connect(self.camera_image.update_daq_status) @@ -173,7 +173,7 @@ class MainWindow(QMainWindow): self.camera_image.set_helical_end.connect(self.data_collection.helical.set_end_point) self.camera_image.evaluate_grid.connect(self.raster.run_grid_scan) - self.data_collection.evaluate_grid.connect(self.raster.run_grid_scan) + self.data_collection.raster.evaluate_grid.connect(self.raster.run_grid_scan) self.camera_image.clear_grid.connect(self.raster.clear_active_grid) self.daq.run_number_incremented.connect(self.data_collection.file_path_panel.increment_run_number) diff --git a/gui/src/aaregui/panels/data_collection_settings.py b/gui/src/aaregui/panels/data_collection_settings.py index 7700e373..d88acb70 100644 --- a/gui/src/aaregui/panels/data_collection_settings.py +++ b/gui/src/aaregui/panels/data_collection_settings.py @@ -1,4 +1,4 @@ -from PySide6.QtCore import Signal +from PySide6.QtCore import Signal, Slot from PySide6.QtWidgets import ( QFrame, QVBoxLayout, @@ -9,6 +9,7 @@ from PySide6.QtWidgets import ( ) from aaredaqlib.diffraction_geometry import DiffractionGeometry +from aaredaqlib.models import DAQStatusModel from aaredaqlib.rotation_scan import RotationScanRequest from aaredaqlib.sample_geometry import SampleGeometryModel @@ -23,7 +24,6 @@ from aaregui.widgets.title_label import TitleLabel class DataCollectionSettings(QFrame): standard_data_collection = Signal(RotationScanRequest) - evaluate_grid = Signal() def __init__(self, s: SampleGeometryModel, @@ -64,21 +64,10 @@ class DataCollectionSettings(QFrame): v_layout.addStretch() self.grid_layout.addWidget(widget, 1, 0, 1, 2) - self.start_button = QPushButton("Start") - self.start_button.setStyleSheet("color: rgb(78, 154, 6);") - self.grid_layout.addWidget(self.start_button, 3, 0) - self.start_button.clicked.connect(self.run_data_collection) - - self.abort_button = QPushButton("Abort") - self.abort_button.setStyleSheet("color: rgb(164, 0, 0);") - self.grid_layout.addWidget(self.abort_button, 3, 1) - def run_data_collection(self): current_tab = self.tab_widget.currentWidget() - if current_tab == self.raster: - self.evaluate_grid.emit() - elif current_tab == self.screening: + if current_tab == self.screening: data = self.screening.screening_type.itemData( self.screening.screening_type.currentIndex() ) @@ -118,3 +107,8 @@ class DataCollectionSettings(QFrame): self.standard_data_collection.emit(r) else: print("No matching tab found.") + + @Slot(DAQStatusModel) + def update_daq_status(self, s: DAQStatusModel): + self.raster.update_daq_status(s) + self.helical.update_daq_status(s) diff --git a/gui/src/aaregui/panels/raster_data_collection.py b/gui/src/aaregui/panels/raster_data_collection.py index 885396ae..a0d29ac4 100644 --- a/gui/src/aaregui/panels/raster_data_collection.py +++ b/gui/src/aaregui/panels/raster_data_collection.py @@ -1,5 +1,5 @@ from PySide6.QtCore import Signal, Slot, Qt -from PySide6.QtWidgets import QWidget, QGridLayout, QLabel, QSizePolicy, QSpacerItem +from PySide6.QtWidgets import QWidget, QGridLayout, QLabel, QSizePolicy, QSpacerItem, QPushButton, QHBoxLayout from aaredaqlib.diffraction_geometry import DiffractionGeometry from aaregui.panels.scan_settings_panel import ScanSettingsPanel @@ -10,6 +10,7 @@ from aaregui.widgets.number_line_edit import NumberLineEdit class RasterDataCollectionPanel(ScanSettingsPanel): grid_size_updated = Signal(float, float) exp_time_updated = Signal(float) + evaluate_grid = Signal() def __init__(self, raster_mgr :RasterGridManager, diffraction: DiffractionGeometry, @@ -75,6 +76,21 @@ class RasterDataCollectionPanel(ScanSettingsPanel): 40, 20, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding ) self._layout.addItem(horizontal_spacer, 7, 0, 1, 4) + + button_layout = QHBoxLayout() + + self.start_button = QPushButton("Start") + self.start_button.setStyleSheet("color: rgb(78, 154, 6);") + button_layout.addWidget(self.start_button) + self.start_button.clicked.connect(self.evaluate_grid) + + self.abort_button = QPushButton("Abort") + self.abort_button.setStyleSheet("color: rgb(164, 0, 0);") + button_layout.addWidget(self.abort_button) + + # Add the button layout to the main layout + self._layout.addLayout(button_layout, 8, 0, 1, 5) + self.update_grid_scan_size() @Slot(float)