From b4d2f2ee1cf3f380a8b833324b121db421b87b3f Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Thu, 10 Jun 2021 18:27:42 +0200 Subject: [PATCH] wip --- slsDetectorGui/include/qTabSettings.h | 3 +++ slsDetectorGui/src/qTabSettings.cpp | 21 +++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/slsDetectorGui/include/qTabSettings.h b/slsDetectorGui/include/qTabSettings.h index abd3389d5..52915747e 100644 --- a/slsDetectorGui/include/qTabSettings.h +++ b/slsDetectorGui/include/qTabSettings.h @@ -1,6 +1,7 @@ #pragma once #include "sls/Detector.h" #include "ui_form_tab_settings.h" +#include class qTabSettings : public QWidget, private Ui::TabSettingsObject { Q_OBJECT @@ -29,6 +30,8 @@ class qTabSettings : public QWidget, private Ui::TabSettingsObject { void GetCounterMask(); sls::Detector *det; + std::vector counters; + enum { STANDARD, FAST, diff --git a/slsDetectorGui/src/qTabSettings.cpp b/slsDetectorGui/src/qTabSettings.cpp index 008f11133..81c7ad0e4 100644 --- a/slsDetectorGui/src/qTabSettings.cpp +++ b/slsDetectorGui/src/qTabSettings.cpp @@ -2,7 +2,6 @@ #include "qDefs.h" #include "sls/ToString.h" #include "sls/bit_utils.h" -#include #include qTabSettings::qTabSettings(QWidget *parent, sls::Detector *detector) @@ -16,6 +15,8 @@ qTabSettings::~qTabSettings() {} void qTabSettings::SetupWidgetWindow() { + counters = std::vector{chkCounter1, chkCounter2, chkCounter3}; + spinThreshold2->hide(); spinThreshold3->hide(); btnSetThreshold->hide(); @@ -359,20 +360,17 @@ void qTabSettings::GetCounterMask() { try { auto retval = sls::getSetBits(det->getCounterMask().tsquash( "Counter mask is inconsistent for all detectors.")); - std::vector counters = {chkCounter1, chkCounter2, - chkCounter3}; // default to unchecked - for (unsigned int i = 0; i < counters.size(); ++i) { - counters[i]->setChecked(false); - } - // if retva[i] = 2, chkCounter2 is checked - for (unsigned int i = 0; i < retval.size(); ++i) { - if (retval[i] > 3) { + std::for_each(counters, [](auto &i) { i.setChecked(false); }); + // std::for_each(counters.begin(), counters.end(), ) + // if retval[i] = 2, chkCounter2 is checked + for (auto i : retval) { + if (i > 3) { throw sls::RuntimeError( std::string("Unknown counter index : ") + - std::to_string(static_cast(retval[i]))); + std::to_string(static_cast(i))); } - counters[retval[i]]->setChecked(true); + counters[i]->setChecked(true); } } CATCH_DISPLAY("Could not get counter mask.", "qTabSettings::GetCounterMask") @@ -382,7 +380,6 @@ void qTabSettings::GetCounterMask() { } void qTabSettings::SetCounterMask() { - std::vector counters = {chkCounter1, chkCounter2, chkCounter3}; uint32_t mask = 0; for (unsigned int i = 0; i < counters.size(); ++i) { if (counters[i]->isChecked()) {