using getlist in gui

This commit is contained in:
maliakal_d 2021-07-28 17:52:23 +02:00
parent 7d933bad5e
commit 18bbfcaa5b
2 changed files with 15 additions and 60 deletions

View File

@ -213,24 +213,17 @@ void qTabMeasurement::SetupTimingMode() {
index[i] = model->index(i, comboTimingMode->modelColumn(), index[i] = model->index(i, comboTimingMode->modelColumn(),
comboTimingMode->rootModelIndex()); comboTimingMode->rootModelIndex());
item[i] = model->itemFromIndex(index[i]); item[i] = model->itemFromIndex(index[i]);
item[i]->setEnabled(false);
} }
try {
item[(int)GATED]->setEnabled(false); auto res = det->getTimingModeList();
item[(int)BURST_TRIGGER]->setEnabled(false); for (auto it : res) {
item[(int)TRIGGER_GATED]->setEnabled(false); item[(int)it]->setEnabled(true);
switch (det->getDetectorType().squash()) {
case slsDetectorDefs::EIGER:
item[(int)GATED]->setEnabled(true);
item[(int)BURST_TRIGGER]->setEnabled(true);
break;
case slsDetectorDefs::MYTHEN3:
item[(int)GATED]->setEnabled(true);
item[(int)TRIGGER_GATED]->setEnabled(true);
break;
default:
break;
} }
} }
CATCH_DISPLAY(std::string("Could not setup timing mode"),
"qTabMeasurement::SetupTimingMode")
}
} }
void qTabMeasurement::EnableWidgetsforTimingMode() { void qTabMeasurement::EnableWidgetsforTimingMode() {

View File

@ -101,52 +101,14 @@ void qTabSettings::SetupDetectorSettings() {
item[i] = model->itemFromIndex(index[i]); item[i] = model->itemFromIndex(index[i]);
item[i]->setEnabled(false); item[i]->setEnabled(false);
} }
switch (det->getDetectorType().squash()) { try {
case slsDetectorDefs::EIGER: auto res = det->getSettingsList();
item[(int)STANDARD]->setEnabled(true); for (auto it : res) {
item[(int)HIGHGAIN]->setEnabled(true); item[(int)it]->setEnabled(true);
item[(int)LOWGAIN]->setEnabled(true);
item[(int)VERYHIGHGAIN]->setEnabled(true);
item[(int)VERLOWGAIN]->setEnabled(true);
break;
case slsDetectorDefs::GOTTHARD:
item[(int)HIGHGAIN]->setEnabled(true);
item[(int)DYNAMICGAIN]->setEnabled(true);
item[(int)LOWGAIN]->setEnabled(true);
item[(int)MEDIUMGAIN]->setEnabled(true);
item[(int)VERYHIGHGAIN]->setEnabled(true);
break;
case slsDetectorDefs::JUNGFRAU:
item[(int)DYNAMICGAIN]->setEnabled(true);
item[(int)DYNAMICHG0]->setEnabled(true);
break;
case slsDetectorDefs::GOTTHARD2:
item[(int)DYNAMICGAIN]->setEnabled(true);
item[(int)FIXGAIN1]->setEnabled(true);
item[(int)FIXGAIN2]->setEnabled(true);
break;
case slsDetectorDefs::MOENCH:
item[(int)G1_HIGHGAIN]->setEnabled(true);
item[(int)G1_LOWGAIN]->setEnabled(true);
item[(int)G2_HIGHCAP_HIGHGAIN]->setEnabled(true);
item[(int)G2_HIGHCAP_LOWGAIN]->setEnabled(true);
item[(int)G2_LOWCAP_HIGHGAIN]->setEnabled(true);
item[(int)G2_LOWCAP_LOWGAIN]->setEnabled(true);
item[(int)G4_HIGHGAIN]->setEnabled(true);
item[(int)G4_LOWGAIN]->setEnabled(true);
break;
case slsDetectorDefs::MYTHEN3:
item[(int)STANDARD]->setEnabled(true);
item[(int)FAST]->setEnabled(true);
item[(int)HIGHGAIN]->setEnabled(true);
break;
default:
LOG(logDEBUG) << "Unknown detector type. Exiting GUI.";
qDefs::Message(qDefs::CRITICAL,
"Unknown detector type. Exiting GUI.",
"qTabSettings::SetupDetectorSettings");
exit(-1);
} }
}
CATCH_DISPLAY(std::string("Could not setup settings"),
"qTabSettings::SetupDetectorSettings")
} }
} }