diff --git a/gui/include/Visualization/ColorScaleEditor.h b/gui/include/Visualization/ColorScaleEditor.h index acc9ff4..6bb5af5 100644 --- a/gui/include/Visualization/ColorScaleEditor.h +++ b/gui/include/Visualization/ColorScaleEditor.h @@ -22,6 +22,8 @@ public: virtual ~ColorScaleEditor() noexcept; private: + /// Fills the editor fields from color scale data + void loadScale(); Ui::ColorScaleEditor *ui; QButtonGroup *m_ThresholdGroup; /// Scale in editing diff --git a/gui/src/Visualization/ColorScaleEditor.cpp b/gui/src/Visualization/ColorScaleEditor.cpp index 9ccda52..a91e69d 100644 --- a/gui/src/Visualization/ColorScaleEditor.cpp +++ b/gui/src/Visualization/ColorScaleEditor.cpp @@ -67,9 +67,8 @@ ColorScaleEditor::ColorScaleEditor(SqpColorScale &scale, QWidget *parent) connect(ui->minSpinBox, SIGNAL(editingFinished()), this, SLOT(onMinChanged())); connect(ui->maxSpinBox, SIGNAL(editingFinished()), this, SLOT(onMaxChanged())); - // First update - onThresholdChanged(true); - updatePreview(); + // Loads color scale + loadScale(); } ColorScaleEditor::~ColorScaleEditor() noexcept @@ -77,6 +76,25 @@ ColorScaleEditor::~ColorScaleEditor() noexcept delete ui; } +void ColorScaleEditor::loadScale() +{ + // Gradient + auto gradientPresetIndex = ui->gradientComboBox->findData(m_Scale.m_GradientPreset); + ui->gradientComboBox->setCurrentIndex(gradientPresetIndex); + + // Threshold mode + (m_Scale.m_AutomaticThreshold ? ui->thresholdAutoButton : ui->thresholdManualButton) + ->setChecked(true); + + // Min/max + auto qcpColorScale = m_Scale.m_Scale; + auto range = qcpColorScale->dataRange(); + ui->minSpinBox->setValue(range.lower); + ui->maxSpinBox->setValue(range.upper); + + updatePreview(); +} + void ColorScaleEditor::onMaxChanged() { // Ensures that max >= min