void AMActionRunnerAddActionBar3::addActionToQueue(ActionQueue::QueueOperation operation) { AMAction3 * action = repeatScansEnabled_ ? createMultipleScans() : createScan(); if (!action) return; AMActionRunner3* workflow = AMActionRunner3::workflow(); if (operation == ActionQueue::RunOnlyThisOne) { workflow->runActionImmediatelyInQueue(action); } else { // add actions to queue int insertIndex = ActionQueue::insertTaskToBeginning(operation) ? 0: -1; workflow->insertActionInQueue(action, insertIndex); // start the queue if (ActionQueue::startQueue(operation)) { workflow->setQueuePaused(false); } } if(goToWorkflowOption_->isChecked()) emit showWorkflowRequested(); }
void AMActionRunnerAddActionBar::onAddToQueueRequested() { AMAction* action = createAction(); if(!action) return; AMActionRunner::s()->addActionToQueue(action); if(goToWorkflowOption_->isChecked()) emit showWorkflowRequested(); }
void AMScanConfigurationViewHolder::onAddToQueueRequested() { if(!view_ || !view_->configuration()) return; AMScanConfiguration *config = view_->configuration()->createCopy(); /* config->setUserScanName(scanNameDictionaryLineEdit_->text()); config->setUserExportNmae(exportNameDictionaryLineEdit_->text()); */ AMBeamlineScanAction* action = new AMBeamlineScanAction(config); workflow_->insertBeamlineAction(-1, action); if(goToWorkflowOption_->isChecked()) emit showWorkflowRequested(); }
void REIXSAppController::createScanConfigurationPanes() { // Sets up xes scan configuration view and view holder xesScanConfigurationView_ = new REIXSXESScanConfigurationDetailedView(REIXSBeamline::bl()->mcpDetector()); xesScanConfigurationViewHolder_ = new AMScanConfigurationViewHolder3(xesScanConfigurationView_); mw_->addPane(xesScanConfigurationViewHolder_, scanPaneCategoryName_, "Emission Scan", scanPaneIcon_); // Sets up reix scan configuration view and view holder REIXSRIXSScanConfigurationView* rixsConfigView = new REIXSRIXSScanConfigurationView(); rixsScanConfigurationViewHolder_ = new AMScanConfigurationViewHolder3(rixsConfigView); mw_->addPane(rixsScanConfigurationViewHolder_, scanPaneCategoryName_, "RIXS Scan", scanPaneIcon_); // Sets up XAS scan configuration view and view holder REIXSXASScanConfigurationView* xasConfigView = new REIXSXASScanConfigurationView(xasScanConfiguration_); xasScanConfigurationViewHolder_ = new AMScanConfigurationViewHolder3(xasConfigView, true); mw_->addPane(xasScanConfigurationViewHolder_, scanPaneCategoryName_, "Absorption Scan", scanPaneIcon_); // Sets up generic scan configuration view and view holder genericScanConfigurationView_ = new AMGenericStepScanConfigurationView(genericScanConfiguration_, REIXSBeamline::bl()->exposedControls(), REIXSBeamline::bl()->exposedDetectors()); genericScanConfigurationViewHolder_ = new AMScanConfigurationViewHolder3("Generic Scan", false, true, genericScanConfigurationView_); mw_->addPane(genericScanConfigurationViewHolder_, scanPaneCategoryName_, "Generic Scan", scanPaneIcon_); // Sets up spectrometer view spectrometerPanel_ = new REIXSXESSpectrometerControlPanel(REIXSBeamline::bl()->mcpDetector(), 0); mw_->addPane(spectrometerPanel_, scanPaneCategoryName_, "Spectromter Setup", ":/22x22/gnome-display-properties.png"); // Sets up sample chamber view sampleChamberButtonPanel_ = new REIXSSampleChamberButtonPanel(); REIXSSampleManagementPre2013Widget* sampleManagementPane = new REIXSSampleManagementPre2013Widget(sampleChamberButtonPanel_, QUrl("http://v2e1610-401.clsi.ca/mjpg/1/video.mjpg"), QUrl("http://v2e1610-401.clsi.ca/mjpg/2/video.mjpg"), REIXSBeamline::bl()->samplePlate(), new REIXSSampleManipulator(), 0); mw_->addPane(sampleManagementPane, scanPaneCategoryName_, "Sample Positions", ":/22x22/gnome-display-properties.png"); ////////////////// Temporary testing/commissioning widgets //////////////////// /* QWidget* spectrometerControlWidget = new QWidget(); QHBoxLayout* hl = new QHBoxLayout(); hl->addWidget(new REIXSXESHexapodControlEditor(REIXSBeamline::bl()->spectrometer()->hexapod())); QGroupBox* gb = new QGroupBox("Motors"); QVBoxLayout* vl = new QVBoxLayout(); vl->addWidget(new QLabel("Spectrometer Rotation")); vl->addWidget(new AMControlEditor(REIXSBeamline::bl()->spectrometer()->spectrometerRotationDrive())); vl->addWidget(new QLabel("Detector Translation")); vl->addWidget(new AMControlEditor(REIXSBeamline::bl()->spectrometer()->detectorTranslation())); vl->addWidget(new QLabel("Detector Tilt")); vl->addWidget(new AMControlEditor(REIXSBeamline::bl()->spectrometer()->detectorTiltDrive())); gb->setLayout(vl); hl->addWidget(gb); hl->addWidget(new REIXSXESSpectrometerControlEditor(REIXSBeamline::bl()->spectrometer())); hl->addStretch(1); spectrometerControlWidget->setLayout(hl); mw_->addPane(spectrometerControlWidget, "Experiment Setup", "Spectrometer controls", ":/utilities-system-monitor.png"); */ ////////////////// End of Temporary testing/commissioning widgets //////////////////// connect(xasScanConfiguration_, SIGNAL(totalTimeChanged(double)), xasScanConfigurationViewHolder_, SLOT(updateOverallScanTime(double))); xasScanConfigurationViewHolder_->updateOverallScanTime(xasScanConfiguration_->totalTime()); connect(xasScanConfigurationViewHolder_, SIGNAL(showWorkflowRequested()), this, SLOT(goToWorkflow())); connect(xesScanConfigurationViewHolder_, SIGNAL(showWorkflowRequested()), this, SLOT(goToWorkflow())); connect(rixsScanConfigurationViewHolder_, SIGNAL(showWorkflowRequested()), this, SLOT(goToWorkflow())); }