From 4755fdb504a9e3052236f2a192b9b8fa4e4de409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Jensen?= Date: Mon, 9 Jul 2018 13:58:01 +0200 Subject: [PATCH] #3171 Plot source stepping. Force update curve appearace when stepping from a grid case to an observed case, and vice versa --- .../Summary/RimSummaryCurve.cpp | 24 +++++++++++++++++++ .../Summary/RimSummaryCurve.h | 1 + .../RimSummaryCurveAppearanceCalculator.cpp | 7 +----- .../Summary/RimSummaryPlotSourceStepping.cpp | 2 ++ 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp index b125231f21..bf3509aee5 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -677,6 +677,30 @@ QString RimSummaryCurve::curveExportDescription() const } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimSummaryCurve::forceUpdateCurveAppearanceFromCaseType() +{ + if (m_yValuesSummaryCase) + { + if (m_yValuesSummaryCase->isObservedData()) + { + setLineStyle(RimPlotCurve::STYLE_NONE); + + if (symbol() == RimPlotCurve::SYMBOL_NONE) + { + setSymbol(RimPlotCurve::SYMBOL_XCROSS); + } + } + else + { + setLineStyle(RimPlotCurve::STYLE_SOLID); + setSymbol(RimPlotCurve::SYMBOL_NONE); + } + } +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h index aa0b2bcc81..f82bbe0573 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h @@ -75,6 +75,7 @@ public: void applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings); virtual QString curveExportDescription() const override; + void forceUpdateCurveAppearanceFromCaseType(); protected: // RimPlotCurve overrides diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp index e28dcbcc22..7e886df170 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveAppearanceCalculator.cpp @@ -355,12 +355,7 @@ void RimSummaryCurveAppearanceCalculator::setupCurveLook(RimSummaryCurve* curve) if ( curve->summaryCaseY()->isObservedData() ) { - curve->setLineStyle(RimPlotCurve::STYLE_NONE); - - if ( curve->symbol() == RimPlotCurve::SYMBOL_NONE ) - { - curve->setSymbol(RimPlotCurve::SYMBOL_XCROSS); - } + curve->forceUpdateCurveAppearanceFromCaseType(); } } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp index bf02610c2c..525e30d360 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp @@ -305,7 +305,9 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c { if (isYAxisStepping()) { + bool doSetAppearance = curve->summaryCaseY()->isObservedData() != m_summaryCase->isObservedData(); curve->setSummaryCaseY(m_summaryCase); + if (doSetAppearance) curve->forceUpdateCurveAppearanceFromCaseType(); } if (isXAxisStepping())