From 24ae1d9817ff76bc1bd83e0a88fb65ec743411aa 2017-11-24 10:07:08 From: Alexandre Leroux Date: 2017-11-24 10:07:08 Subject: [PATCH] Implements preview update Preview is updated each time min/max or gradient values change --- diff --git a/gui/include/Visualization/ColorScaleEditor.h b/gui/include/Visualization/ColorScaleEditor.h index 932955a..f5cdd58 100644 --- a/gui/include/Visualization/ColorScaleEditor.h +++ b/gui/include/Visualization/ColorScaleEditor.h @@ -32,6 +32,9 @@ private slots: void onMinChanged(); /// Slot called when the threshold mode (auto or manual) changes void onThresholdChanged(bool checked); + + /// Slot called when a property of the color scale changed + void updatePreview(); }; #endif // SCIQLOP_COLORSCALEEDITOR_H diff --git a/gui/src/Visualization/ColorScaleEditor.cpp b/gui/src/Visualization/ColorScaleEditor.cpp index 16f93fe..e63aff4 100644 --- a/gui/src/Visualization/ColorScaleEditor.cpp +++ b/gui/src/Visualization/ColorScaleEditor.cpp @@ -58,6 +58,7 @@ ColorScaleEditor::ColorScaleEditor(QWidget *parent) ui->plot->plotLayout()->addElement(0, 0, m_PreviewScale); // Inits connections + connect(ui->gradientComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreview())); connect(ui->thresholdAutoButton, SIGNAL(toggled(bool)), this, SLOT(onThresholdChanged(bool))); connect(ui->thresholdManualButton, SIGNAL(toggled(bool)), this, SLOT(onThresholdChanged(bool))); connect(ui->minSpinBox, SIGNAL(editingFinished()), this, SLOT(onMinChanged())); @@ -65,6 +66,7 @@ ColorScaleEditor::ColorScaleEditor(QWidget *parent) // First update onThresholdChanged(true); + updatePreview(); } ColorScaleEditor::~ColorScaleEditor() noexcept @@ -80,6 +82,7 @@ void ColorScaleEditor::onMaxChanged() ui->minSpinBox->setValue(maxValue); } + updatePreview(); } void ColorScaleEditor::onMinChanged() @@ -90,6 +93,7 @@ void ColorScaleEditor::onMinChanged() ui->maxSpinBox->setValue(minValue); } + updatePreview(); } void ColorScaleEditor::onThresholdChanged(bool checked) @@ -102,3 +106,11 @@ void ColorScaleEditor::onThresholdChanged(bool checked) } } +void ColorScaleEditor::updatePreview() +{ + m_PreviewScale->setDataRange(QCPRange{ui->minSpinBox->value(), ui->maxSpinBox->value()}); + m_PreviewScale->setGradient( + ui->gradientComboBox->currentData().value()); + + ui->plot->replot(); +}