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());
model->setData(index, v, Qt::UserRole);
model->setData(index, p_editor->text(), Qt::DisplayRole);
}
// Set original size

View File

@ -16,11 +16,18 @@ private:
std::chrono::milliseconds m_updateInterval;
QVector <QPointF> 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 <QPointF> pointsVector() {return m_pointsVector;}
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);

View File

@ -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);
}
}

View File

@ -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;