bool SGMXASScanConfiguration::setFluxResolutionGroup(AMControlInfoList fluxResolutionList){
	bool rVal = SGMScanConfiguration::setFluxResolutionGroup(fluxResolutionList);
	if(rVal){
		emit fluxResolutionGroupChanged(fluxResolutionList);
		setModified(true);
		emit configurationChanged();
	}
	return rVal;
}
bool SGMXASScanConfiguration::setHarmonic(SGMBeamlineInfo::sgmHarmonic harmonic) {
	SGMBeamlineInfo::sgmHarmonic oldHarmonic = harmonic_;
	bool rVal = SGMScanConfiguration::setHarmonic(harmonic);
	if(rVal && oldHarmonic != harmonic_){
		emit fluxResolutionGroupChanged(fluxResolutionGroup_);
		setModified(true);
		emit configurationChanged();
	}
	return rVal;
}
bool SGMXASScanConfiguration::setGrating(SGMBeamlineInfo::sgmGrating grating) {
	SGMBeamlineInfo::sgmGrating oldGrating = grating_;
	bool rVal = SGMScanConfiguration::setGrating(grating);
	if(rVal && oldGrating != grating_){
		emit fluxResolutionGroupChanged(fluxResolutionGroup_);
		setModified(true);
		emit configurationChanged();
	}
	return rVal;
}
bool SGMXASScanConfiguration::setExitSlitGap(double exitSlitGap) {
	double oldExitSlit = exitSlitGap_;
	bool rVal = SGMScanConfiguration::setExitSlitGap(exitSlitGap);
	if(rVal && oldExitSlit != exitSlitGap_){
		emit fluxResolutionGroupChanged(fluxResolutionGroup_);
		setModified(true);
		emit configurationChanged();
	}
	return rVal;
}
Example #5
0
SGMXASScanConfiguration2013View::SGMXASScanConfiguration2013View(SGMXASScanConfiguration2013 *configuration, QWidget *parent) :
	AMScanConfigurationView(parent)
{
	configuration_ = configuration;

	topFrame_ = new AMTopFrame("Configure an XAS Scan to Run Later");
	topFrame_->setIcon(QIcon(":/utilities-system-monitor.png"));

	regionsLineView_ = new AMRegionsLineView(configuration_->regions(), this);
	regionsView_ = new AMRegionsView(configuration_->regions(), this);

	xasDetectorSelector_ = 0; //NULL
	xasDetectorSelectorView_ = 0; //NULL

	trackingSet_ = 0; //NULL
	trackingSetView_ = 0; //NULL

	fluxResolutionView_ = new SGMFluxResolutionPickerView(configuration_->xasRegions(), this);
	fluxResolutionView_->setFromInfoList(configuration_->fluxResolutionGroup());
	fluxResolutionView_->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
	connect(fluxResolutionView_, SIGNAL(configValuesChanged(AMControlInfoList)), configuration_->dbObject(), SLOT(setFluxResolutionGroup(AMControlInfoList)));
	connect(configuration_->dbObject(), SIGNAL(fluxResolutionGroupChanged()), this, SLOT(onFluxResolutionGroupChanged()));

	mainVL_ = new QVBoxLayout();
	mainVL_->addWidget(topFrame_);
	mainVL_->addWidget(regionsLineView_);
	bottomGL_ = new QGridLayout();
	mainVL_->addLayout(bottomGL_, 10);
	bottomGL_->addWidget(regionsView_,		0, 0);
	bottomGL_->addWidget(fluxResolutionView_,	1, 0);
	bottomGL_->setColumnStretch(0, 10);
	bottomGL_->setColumnMinimumWidth(1, 40);
	bottomGL_->setContentsMargins(10, 0, 0, 10);
	mainVL_->addStretch(8);
	/*
	QHBoxLayout *nameHL = new QHBoxLayout();
	nameHL->addWidget(scanNameLabel_);
	nameHL->addWidget(scanNameEdit_);
	nameHL->setContentsMargins(10,0,0,0);
	mainVL_->addLayout(nameHL);
	*/
	mainVL_->setContentsMargins(0,0,0,0);
	mainVL_->setSpacing(1);
	setLayout(mainVL_);
}
bool SGMXASScanConfiguration::setFluxResolutionGroup(AMControlInfoList fluxResolutionList){
	double oldExitSlit = exitSlitGap_;
	SGMBeamlineInfo::sgmGrating oldGrating = grating_;
	SGMBeamlineInfo::sgmHarmonic oldHarmonic = harmonic_;

	bool rVal = SGMScanConfiguration::setFluxResolutionGroup(fluxResolutionList);
	if(rVal){
		emit fluxResolutionGroupChanged(fluxResolutionList);
		if(oldExitSlit != exitSlitGap_)
			emit exitSlitGapChanged(exitSlitGap_);
		if(oldGrating != grating_)
			emit gratingChanged(grating_);
		if(oldHarmonic != harmonic_)
			emit harmonicChanged(harmonic_);
		setModified(true);
		emit configurationChanged();
	}
	return rVal;
}