qt: save parametrization enable state

This commit is contained in:
Jussi Kuokkanen 2019-12-15 14:47:14 +02:00
parent c21120494e
commit 87e88f34d3
4 changed files with 33 additions and 2 deletions

View File

@ -137,6 +137,7 @@ void AssignableEditorDelegate::setModelData(QWidget *editor, QAbstractItemModel
v.setValue(p_editor->data()); v.setValue(p_editor->data());
model->setData(index, v, Qt::UserRole); model->setData(index, v, Qt::UserRole);
model->setData(index, p_editor->text(), Qt::DisplayRole);
} }
// Set original size // Set original size

View File

@ -16,11 +16,18 @@ private:
std::chrono::milliseconds m_updateInterval; std::chrono::milliseconds m_updateInterval;
QVector <QPointF> m_pointsVector; QVector <QPointF> m_pointsVector;
public: public:
AssignableParametrizationData() {}; AssignableParametrizationData() {
AssignableParametrizationData(AssignableData &data) {m_controlledAssignable = data;} m_active = false;
};
AssignableParametrizationData(AssignableData &data) {
m_controlledAssignable = data;
m_active = false;
}
const AssignableData assignableData() {return m_controlledAssignable;} const AssignableData assignableData() {return m_controlledAssignable;}
const QVector <QPointF> pointsVector() {return m_pointsVector;} const QVector <QPointF> pointsVector() {return m_pointsVector;}
void setPointsVector(const QVector <QPointF> vector) {m_pointsVector = vector;} void setPointsVector(const QVector <QPointF> vector) {m_pointsVector = vector;}
bool enabled() {return m_active;}
void setEnabled(bool enabled) {m_active = enabled;}
}; };
Q_DECLARE_METATYPE(AssignableParametrizationData); Q_DECLARE_METATYPE(AssignableParametrizationData);

View File

@ -49,6 +49,16 @@ AssignableParametrizationEditor::AssignableParametrizationEditor(QWidget *parent
m_parametrizationData.setPointsVector(m_editorWidget->dragChartView()->vector()); 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()->addWidget(m_stackedWidget);
layout()->setMargin(0); layout()->setMargin(0);
} }
@ -70,4 +80,12 @@ void AssignableParametrizationEditor::setData(AssignableParametrizationData &dat
default: default:
break; break;
} }
qDebug() << "enable state:" << m_parametrizationData.enabled();
// Set enablement checkbox state
if (m_parametrizationData.enabled()) {
m_enabledCheckBox->setChecked(true);
}
else {
m_enabledCheckBox->setChecked(false);
}
} }

View File

@ -15,6 +15,11 @@ public:
AssignableParametrizationEditor(QWidget *parent = nullptr); AssignableParametrizationEditor(QWidget *parent = nullptr);
void setData(AssignableParametrizationData &data); void setData(AssignableParametrizationData &data);
AssignableParametrizationData data() {return m_parametrizationData;} 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: private:
QVBoxLayout *m_layout; QVBoxLayout *m_layout;
QCheckBox *m_enabledCheckBox; QCheckBox *m_enabledCheckBox;