From 6015b99df953181f295696d597a2c9a10e475968 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Wed, 18 Oct 2017 12:47:07 +0200 Subject: [PATCH] #2022 Curve Calculator : Make sure calculated summary case is always present --- .../Application/RiaSummaryCurveDefinition.cpp | 2 +- .../RimCalculationCollection.cpp | 8 -------- .../Summary/RimCalculatedSummaryCase.cpp | 17 ++++++++--------- .../Summary/RimSummaryCurve.cpp | 3 ++- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/ApplicationCode/Application/RiaSummaryCurveDefinition.cpp b/ApplicationCode/Application/RiaSummaryCurveDefinition.cpp index 04b4cb99ed..c5bc01f19d 100644 --- a/ApplicationCode/Application/RiaSummaryCurveDefinition.cpp +++ b/ApplicationCode/Application/RiaSummaryCurveDefinition.cpp @@ -66,7 +66,7 @@ void RiaSummaryCurveDefinition::resultValues(const RiaSummaryCurveDefinition& cu //-------------------------------------------------------------------------------------------------- const std::vector& RiaSummaryCurveDefinition::timeSteps(const RiaSummaryCurveDefinition& curveDefinition) { - std::vector dummy; + static std::vector dummy; if (!curveDefinition.summaryAddress().isValid()) return dummy; if (!curveDefinition.summaryCase()) return dummy; diff --git a/ApplicationCode/ProjectDataModel/RimCalculationCollection.cpp b/ApplicationCode/ProjectDataModel/RimCalculationCollection.cpp index d18dda9989..5cee074618 100644 --- a/ApplicationCode/ProjectDataModel/RimCalculationCollection.cpp +++ b/ApplicationCode/ProjectDataModel/RimCalculationCollection.cpp @@ -101,14 +101,6 @@ RimSummaryCase* RimCalculationCollection::calculationSummaryCase() //-------------------------------------------------------------------------------------------------- void RimCalculationCollection::deleteAllContainedObjects() { - RimCalculatedSummaryCase* sumCase = m_calcuationSummaryCase(); - if (sumCase) - { - m_calcuationSummaryCase.removeChildObject(sumCase); - - delete sumCase; - } - m_calcuations.deleteAllChildObjects(); } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimCalculatedSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimCalculatedSummaryCase.cpp index 9bdd4ce84a..775b498030 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimCalculatedSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimCalculatedSummaryCase.cpp @@ -164,17 +164,16 @@ void RimCalculatedSummaryCase::RifCalculatedSummaryCurveReader::buildMetaData() //-------------------------------------------------------------------------------------------------- RimCalculation* RimCalculatedSummaryCase::RifCalculatedSummaryCurveReader::findCalculationByName(const RifEclipseSummaryAddress& resultAddress) const { - if (!m_calculationCollection) return false; - - CVF_ASSERT(resultAddress.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED); - - QString calculatedName = QString::fromStdString(resultAddress.quantityName()); - - for (RimCalculation* calc : m_calculationCollection->calculations()) + if (m_calculationCollection && resultAddress.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED) { - if (calc->description() == calculatedName) + QString calculatedName = QString::fromStdString(resultAddress.quantityName()); + + for (RimCalculation* calc : m_calculationCollection->calculations()) { - return calc; + if (calc->description() == calculatedName) + { + return calc; + } } } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp index ea59b7c472..a9bec205e6 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -159,7 +159,8 @@ RimSummaryCurve::RimSummaryCurve() CAF_PDM_InitFieldNoDefault(&m_summaryCase, "SummaryCase", "Case", "", "", ""); m_summaryCase.uiCapability()->setUiTreeChildrenHidden(true); - + m_summaryCase.uiCapability()->setAutoAddingOptionFromValue(false); + CAF_PDM_InitFieldNoDefault(&m_selectedVariableDisplayField, "SelectedVariableDisplayVar", "Vector", "", "", ""); m_selectedVariableDisplayField.xmlCapability()->setIOWritable(false); m_selectedVariableDisplayField.xmlCapability()->setIOReadable(false);