diff --git a/src/modules/interface/qt/data/AssignableEditorDelegate.cpp b/src/modules/interface/qt/data/AssignableEditorDelegate.cpp index 0a140d1..1f510e4 100644 --- a/src/modules/interface/qt/data/AssignableEditorDelegate.cpp +++ b/src/modules/interface/qt/data/AssignableEditorDelegate.cpp @@ -137,6 +137,7 @@ void AssignableEditorDelegate::setModelData(QWidget *editor, QAbstractItemModel v.setValue(p_editor->data()); model->setData(index, v, Qt::UserRole); + model->setData(index, p_editor->text(), Qt::DisplayRole); } // Set original size diff --git a/src/modules/interface/qt/data/AssignableParametrizationData.h b/src/modules/interface/qt/data/AssignableParametrizationData.h index 1fd2a2c..96cd0c6 100644 --- a/src/modules/interface/qt/data/AssignableParametrizationData.h +++ b/src/modules/interface/qt/data/AssignableParametrizationData.h @@ -16,11 +16,18 @@ private: std::chrono::milliseconds m_updateInterval; QVector m_pointsVector; public: - AssignableParametrizationData() {}; - AssignableParametrizationData(AssignableData &data) {m_controlledAssignable = data;} + AssignableParametrizationData() { + m_active = false; + }; + AssignableParametrizationData(AssignableData &data) { + m_controlledAssignable = data; + m_active = false; + } const AssignableData assignableData() {return m_controlledAssignable;} const QVector pointsVector() {return m_pointsVector;} void setPointsVector(const QVector vector) {m_pointsVector = vector;} + bool enabled() {return m_active;} + void setEnabled(bool enabled) {m_active = enabled;} }; Q_DECLARE_METATYPE(AssignableParametrizationData); diff --git a/src/modules/interface/qt/widgets/AssignableParametrizationEditor.cpp b/src/modules/interface/qt/widgets/AssignableParametrizationEditor.cpp index 7b3b789..a622b86 100644 --- a/src/modules/interface/qt/widgets/AssignableParametrizationEditor.cpp +++ b/src/modules/interface/qt/widgets/AssignableParametrizationEditor.cpp @@ -49,6 +49,16 @@ AssignableParametrizationEditor::AssignableParametrizationEditor(QWidget *parent m_parametrizationData.setPointsVector(m_editorWidget->dragChartView()->vector()); }); + connect(m_enabledCheckBox, &QCheckBox::stateChanged, [=](int state) { + if (state == Qt::Unchecked) { + m_parametrizationData.setEnabled(false); + return; + } + if (state == Qt::Checked) { + m_parametrizationData.setEnabled(true); + } + }); + layout()->addWidget(m_stackedWidget); layout()->setMargin(0); } @@ -70,4 +80,12 @@ void AssignableParametrizationEditor::setData(AssignableParametrizationData &dat default: break; } + qDebug() << "enable state:" << m_parametrizationData.enabled(); + // Set enablement checkbox state + if (m_parametrizationData.enabled()) { + m_enabledCheckBox->setChecked(true); + } + else { + m_enabledCheckBox->setChecked(false); + } } diff --git a/src/modules/interface/qt/widgets/AssignableParametrizationEditor.h b/src/modules/interface/qt/widgets/AssignableParametrizationEditor.h index 609d6b7..960c42c 100644 --- a/src/modules/interface/qt/widgets/AssignableParametrizationEditor.h +++ b/src/modules/interface/qt/widgets/AssignableParametrizationEditor.h @@ -15,6 +15,11 @@ public: AssignableParametrizationEditor(QWidget *parent = nullptr); void setData(AssignableParametrizationData &data); AssignableParametrizationData data() {return m_parametrizationData;} + // Get the text representation of data (enabled or not) + QString text() { + QString text = (data().enabled()) ? QString("Enabled") : QString("Disabled"); + return text; + } private: QVBoxLayout *m_layout; QCheckBox *m_enabledCheckBox;