From edadf7db2f1ef92445bad3664c12ae1c4be561ff 2017-11-24 10:07:13 From: Alexandre Leroux Date: 2017-11-24 10:07:13 Subject: [PATCH] Updates sqp color scale thresholds (2) Calls previous method each time color map data change --- diff --git a/gui/include/Visualization/VisualizationGraphRenderingDelegate.h b/gui/include/Visualization/VisualizationGraphRenderingDelegate.h index f8b54d3..e59fd18 100644 --- a/gui/include/Visualization/VisualizationGraphRenderingDelegate.h +++ b/gui/include/Visualization/VisualizationGraphRenderingDelegate.h @@ -20,6 +20,8 @@ public: void onMouseDoubleClick(QMouseEvent *event) noexcept; void onMouseMove(QMouseEvent *event) noexcept; + /// Updates rendering when data of plot changed + void onPlotUpdated() noexcept; /// Sets properties of the plot's axes from the data series passed as parameter void setAxesProperties(std::shared_ptr dataSeries) noexcept; diff --git a/gui/src/Visualization/VisualizationGraphHelper.cpp b/gui/src/Visualization/VisualizationGraphHelper.cpp index 74f355a..363a7c0 100644 --- a/gui/src/Visualization/VisualizationGraphHelper.cpp +++ b/gui/src/Visualization/VisualizationGraphHelper.cpp @@ -165,8 +165,6 @@ struct PlottablesUpdaterrescaleAxes(); } - - plot->replot(); } } }; @@ -246,8 +244,6 @@ struct PlottablesUpdaterrescaleAxes(); } - - plot->replot(); } }; diff --git a/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp b/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp index 34b1ba6..f4d8624 100644 --- a/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp +++ b/gui/src/Visualization/VisualizationGraphRenderingDelegate.cpp @@ -228,6 +228,13 @@ void VisualizationGraphRenderingDelegate::onMouseMove(QMouseEvent *event) noexce } } +void VisualizationGraphRenderingDelegate::onPlotUpdated() noexcept +{ + // Updates color scale bounds + impl->m_ColorScale.updateDataRange(); + impl->m_Plot.replot(); +} + void VisualizationGraphRenderingDelegate::setAxesProperties( std::shared_ptr dataSeries) noexcept { diff --git a/gui/src/Visualization/VisualizationGraphWidget.cpp b/gui/src/Visualization/VisualizationGraphWidget.cpp index 95f2cf0..9def1a2 100644 --- a/gui/src/Visualization/VisualizationGraphWidget.cpp +++ b/gui/src/Visualization/VisualizationGraphWidget.cpp @@ -53,6 +53,15 @@ struct VisualizationGraphWidget::VisualizationGraphWidgetPrivate { { } + void updateData(PlottablesMap &plottables, std::shared_ptr dataSeries, + const SqpRange &range) + { + VisualizationGraphHelper::updateData(plottables, dataSeries, range); + + // Prevents that data has changed to update rendering + m_RenderingDelegate->onPlotUpdated(); + } + QString m_Name; // 1 variable -> n qcpplot std::map, PlottablesMap> m_VariableToPlotMultiMap; @@ -588,8 +597,7 @@ void VisualizationGraphWidget::onDataCacheVariableUpdated() qCDebug(LOG_VisualizationGraphWidget()) << "TORM: VisualizationGraphWidget::onDataCacheVariableUpdated E" << dateTime; if (dateTime.contains(variable->range()) || dateTime.intersect(variable->range())) { - VisualizationGraphHelper::updateData(variableEntry.second, variable->dataSeries(), - variable->range()); + impl->updateData(variableEntry.second, variable->dataSeries(), variable->range()); } } } @@ -599,6 +607,6 @@ void VisualizationGraphWidget::onUpdateVarDisplaying(std::shared_ptr v { auto it = impl->m_VariableToPlotMultiMap.find(variable); if (it != impl->m_VariableToPlotMultiMap.end()) { - VisualizationGraphHelper::updateData(it->second, variable->dataSeries(), range); + impl->updateData(it->second, variable->dataSeries(), range); } }