void SGMFastScanParameters::setFastScanSettings(const SGMFastScanSettings &fastScanSettings){ disconnect(&fastScanSettings_, 0); fastScanSettings_ = fastScanSettings; setModified(true); connect(&fastScanSettings_, SIGNAL(runSecondsChanged(double)), this, SIGNAL(runSecondsChanged(double))); connect(&fastScanSettings_, SIGNAL(motorSettingsChanged(int)), this, SIGNAL(velocityChanged(int))); connect(&fastScanSettings_, SIGNAL(motorSettingsChanged(int)), this, SIGNAL(velocityBaseChanged(int))); connect(&fastScanSettings_, SIGNAL(motorSettingsChanged(int)), this, SIGNAL(accelerationChanged(int))); connect(&fastScanSettings_, SIGNAL(scalerTimeChanged(double)), this, SIGNAL(scalerTimeChanged(double))); connect(&fastScanSettings_, SIGNAL(baseLineChanged(int)), this, SIGNAL(baseLineChanged(int))); connect(&fastScanSettings_, SIGNAL(undulatorVelocityChanged(int)), this, SIGNAL(undulatorVelocityChanged(int))); connect(&fastScanSettings_, SIGNAL(fastScanSettingsChanged()), this, SIGNAL(fastScanSettingsChanged())); }
void SGMFastScanConfigurationView::onFastScanSettingsChanged(){ disconnect(&fastScanSettingsCopy_, 0); fastScanSettingsCopy_ = cfg_->currentParameters()->fastScanSettings(); if(fastScanSettingsView_) fastScanSettingsView_->setFastScanSettings(&fastScanSettingsCopy_); connect(&fastScanSettingsCopy_, SIGNAL(fastScanSettingsChanged()), this, SLOT(onFastScanSettingsCopyChanged())); }
void SGMFastScanSettings::setUndulatorVelocity(int undulatorVelocity){ if(undulatorVelocity_ != undulatorVelocity){ undulatorVelocity_ = undulatorVelocity; setModified(true); emit undulatorVelocityChanged(undulatorVelocity_); emit fastScanSettingsChanged(); } }
void SGMFastScanSettings::setBaseLine(int baseLine){ if(baseLine_ != baseLine){ baseLine_ = baseLine; setModified(true); emit baseLineChanged(baseLine_); emit fastScanSettingsChanged(); } }
void SGMFastScanSettings::setScalerTime(double scalerTime){ if(scalerTime_ != scalerTime){ scalerTime_ = scalerTime; setModified(true); emit scalerTimeChanged(scalerTime_); emit fastScanSettingsChanged(); } }
void SGMFastScanSettings::setMotorSettings(int motorSettings){ if(motorSettings_ != motorSettings){ motorSettings_ = motorSettings; setModified(true); emit motorSettingsChanged(motorSettings_); emit fastScanSettingsChanged(); } }
void SGMFastScanSettings::setRunSeconds(double runSeconds){ if(runSeconds_ != runSeconds){ runSeconds_ = runSeconds; setModified(true); emit runSecondsChanged(runSeconds_); emit fastScanSettingsChanged(); } }
SGMFastScanConfigurationView::SGMFastScanConfigurationView(SGMFastScanConfiguration *sfsc, QWidget *parent) : AMScanConfigurationView(parent) { cfg_ = NULL; if(SGMBeamline::sgm()->isConnected()){ cfg_ = sfsc; topFrame_ = new AMTopFrame("Configure a Fast Scan to Run Later"); topFrame_->setIcon(QIcon(":/utilities-system-monitor.png")); presetsComboBox_ = new QComboBox(); presetsComboBox_->addItems(sfsc->presets()); connect(presetsComboBox_, SIGNAL(currentIndexChanged(int)), sfsc, SLOT(setParametersFromPreset(int))); connect(sfsc, SIGNAL(startPositionChanged()), this, SLOT(onParametersStartPositionChanged())); connect(sfsc, SIGNAL(middlePositionChanged()), this, SLOT(onParametersMiddlePositionChanged())); connect(sfsc, SIGNAL(endPositionChanged()), this, SLOT(onParametersEndPositionChanged())); connect(sfsc, SIGNAL(fastScanSettingsChanged()), this, SLOT(onFastScanSettingsChanged())); warningsLabel_ = new QLabel(""); QFont warningsFont; warningsFont.setPointSize(48); warningsLabel_->setFont(warningsFont); warningsLabel_->setStyleSheet( "QLabel{ color: red }" ); scanNameLabel_ = new QLabel("Scan Name"); scanNameEdit_ = new QLineEdit(this); connect(scanNameEdit_, SIGNAL(textEdited(QString)), this, SLOT(onScanNameEditChanged(QString))); startPositionView_ = 0; middlePositionView_ = 0; endPositionView_ = 0; fastScanSettingsView_ = 0; onParametersStartPositionChanged(); onParametersMiddlePositionChanged(); onParametersEndPositionChanged(); onFastScanSettingsChanged(); startPositionView_ = new SGMEnergyPositionWBeamlineView(&startPositionCopy_, SGMEnergyPositionView::ViewModeStartOrEnd); middlePositionView_ = new SGMEnergyPositionWBeamlineView(&middlePositionCopy_, SGMEnergyPositionView::ViewModeMiddle); endPositionView_ = new SGMEnergyPositionWBeamlineView(&endPositionCopy_, SGMEnergyPositionView::ViewModeStartOrEnd); fastScanSettingsView_ = new SGMFastScanSettingsView(&fastScanSettingsCopy_); QHBoxLayout *presetsLayout = new QHBoxLayout(); presetsLayout->addWidget(presetsComboBox_); presetsLayout->addStretch(10); QVBoxLayout *settingsLayout = new QVBoxLayout(); settingsLayout->addWidget(fastScanSettingsView_); settingsLayout->addStretch(8); settingsLayout->setContentsMargins(5,0,5,0); QVBoxLayout *positionsLayout = new QVBoxLayout(); positionsLayout->addWidget(startPositionView_); positionsLayout->addWidget(middlePositionView_); positionsLayout->addWidget(endPositionView_); positionsLayout->addStretch(8); positionsLayout->setContentsMargins(5,0,5,0); QHBoxLayout *hl = new QHBoxLayout(); hl->addLayout(settingsLayout); hl->addLayout(positionsLayout); QHBoxLayout *nameHL = new QHBoxLayout(); nameHL->addWidget(scanNameLabel_); nameHL->addWidget(scanNameEdit_); QVBoxLayout *mainLayout = new QVBoxLayout(); mainLayout->addLayout(presetsLayout); mainLayout->addLayout(hl); mainLayout->addWidget(warningsLabel_); mainLayout->addStretch(10); mainLayout->addLayout(nameHL); QVBoxLayout *vl = new QVBoxLayout(); vl->addWidget(topFrame_); vl->addLayout(mainLayout); vl->setContentsMargins(0,0,0,0); vl->setSpacing(1); mainLayout->setContentsMargins(10, 0, 10, 0); this->setLayout(vl); this->setMaximumSize(700, 800); connect(SGMBeamline::sgm(), SIGNAL(criticalControlsConnectionsChanged()), this, SLOT(onSGMBeamlineCriticalControlsConnectedChanged())); onSGMBeamlineCriticalControlsConnectedChanged(); } }