Beispiel #1
0
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()));
}
Beispiel #2
0
void SGMFastScanConfigurationView::onFastScanSettingsChanged(){
	disconnect(&fastScanSettingsCopy_, 0);
	fastScanSettingsCopy_ = cfg_->currentParameters()->fastScanSettings();
	if(fastScanSettingsView_)
		fastScanSettingsView_->setFastScanSettings(&fastScanSettingsCopy_);
	connect(&fastScanSettingsCopy_, SIGNAL(fastScanSettingsChanged()), this, SLOT(onFastScanSettingsCopyChanged()));
}
Beispiel #3
0
void SGMFastScanSettings::setUndulatorVelocity(int undulatorVelocity){
	if(undulatorVelocity_ != undulatorVelocity){
		undulatorVelocity_ = undulatorVelocity;
		setModified(true);
		emit undulatorVelocityChanged(undulatorVelocity_);
		emit fastScanSettingsChanged();
	}
}
Beispiel #4
0
void SGMFastScanSettings::setBaseLine(int baseLine){
	if(baseLine_ != baseLine){
		baseLine_ = baseLine;
		setModified(true);
		emit baseLineChanged(baseLine_);
		emit fastScanSettingsChanged();
	}
}
Beispiel #5
0
void SGMFastScanSettings::setScalerTime(double scalerTime){
	if(scalerTime_ != scalerTime){
		scalerTime_ = scalerTime;
		setModified(true);
		emit scalerTimeChanged(scalerTime_);
		emit fastScanSettingsChanged();
	}
}
Beispiel #6
0
void SGMFastScanSettings::setMotorSettings(int motorSettings){
	if(motorSettings_ != motorSettings){
		motorSettings_ = motorSettings;
		setModified(true);
		emit motorSettingsChanged(motorSettings_);
		emit fastScanSettingsChanged();
	}
}
Beispiel #7
0
void SGMFastScanSettings::setRunSeconds(double runSeconds){
	if(runSeconds_ != runSeconds){
		runSeconds_ = runSeconds;
		setModified(true);
		emit runSecondsChanged(runSeconds_);
		emit fastScanSettingsChanged();
	}
}
Beispiel #8
0
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();
	}
}