This commit is contained in:
maliakal_d 2021-06-10 18:27:42 +02:00
parent f01e5fd5ec
commit b4d2f2ee1c
2 changed files with 12 additions and 12 deletions

View File

@ -1,6 +1,7 @@
#pragma once #pragma once
#include "sls/Detector.h" #include "sls/Detector.h"
#include "ui_form_tab_settings.h" #include "ui_form_tab_settings.h"
#include <QCheckBox>
class qTabSettings : public QWidget, private Ui::TabSettingsObject { class qTabSettings : public QWidget, private Ui::TabSettingsObject {
Q_OBJECT Q_OBJECT
@ -29,6 +30,8 @@ class qTabSettings : public QWidget, private Ui::TabSettingsObject {
void GetCounterMask(); void GetCounterMask();
sls::Detector *det; sls::Detector *det;
std::vector<QCheckBox *> counters;
enum { enum {
STANDARD, STANDARD,
FAST, FAST,

View File

@ -2,7 +2,6 @@
#include "qDefs.h" #include "qDefs.h"
#include "sls/ToString.h" #include "sls/ToString.h"
#include "sls/bit_utils.h" #include "sls/bit_utils.h"
#include <QCheckBox>
#include <QStandardItemModel> #include <QStandardItemModel>
qTabSettings::qTabSettings(QWidget *parent, sls::Detector *detector) qTabSettings::qTabSettings(QWidget *parent, sls::Detector *detector)
@ -16,6 +15,8 @@ qTabSettings::~qTabSettings() {}
void qTabSettings::SetupWidgetWindow() { void qTabSettings::SetupWidgetWindow() {
counters = std::vector<QCheckBox *>{chkCounter1, chkCounter2, chkCounter3};
spinThreshold2->hide(); spinThreshold2->hide();
spinThreshold3->hide(); spinThreshold3->hide();
btnSetThreshold->hide(); btnSetThreshold->hide();
@ -359,20 +360,17 @@ void qTabSettings::GetCounterMask() {
try { try {
auto retval = sls::getSetBits(det->getCounterMask().tsquash( auto retval = sls::getSetBits(det->getCounterMask().tsquash(
"Counter mask is inconsistent for all detectors.")); "Counter mask is inconsistent for all detectors."));
std::vector<QCheckBox *> counters = {chkCounter1, chkCounter2,
chkCounter3};
// default to unchecked // default to unchecked
for (unsigned int i = 0; i < counters.size(); ++i) { std::for_each(counters, [](auto &i) { i.setChecked(false); });
counters[i]->setChecked(false); // std::for_each(counters.begin(), counters.end(), )
} // if retval[i] = 2, chkCounter2 is checked
// if retva[i] = 2, chkCounter2 is checked for (auto i : retval) {
for (unsigned int i = 0; i < retval.size(); ++i) { if (i > 3) {
if (retval[i] > 3) {
throw sls::RuntimeError( throw sls::RuntimeError(
std::string("Unknown counter index : ") + std::string("Unknown counter index : ") +
std::to_string(static_cast<int>(retval[i]))); std::to_string(static_cast<int>(i)));
} }
counters[retval[i]]->setChecked(true); counters[i]->setChecked(true);
} }
} }
CATCH_DISPLAY("Could not get counter mask.", "qTabSettings::GetCounterMask") CATCH_DISPLAY("Could not get counter mask.", "qTabSettings::GetCounterMask")
@ -382,7 +380,6 @@ void qTabSettings::GetCounterMask() {
} }
void qTabSettings::SetCounterMask() { void qTabSettings::SetCounterMask() {
std::vector<QCheckBox *> counters = {chkCounter1, chkCounter2, chkCounter3};
uint32_t mask = 0; uint32_t mask = 0;
for (unsigned int i = 0; i < counters.size(); ++i) { for (unsigned int i = 0; i < counters.size(); ++i) {
if (counters[i]->isChecked()) { if (counters[i]->isChecked()) {