From 9af9aa7e668cf0fd290efe9de2e4abc5c0c676e2 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 9 Nov 2023 13:11:43 +0100 Subject: [PATCH] Append vector name if multiple cases are present --- .../Summary/RimMultipleSummaryPlotNameHelper.cpp | 14 ++++++++++++++ .../Summary/RimMultipleSummaryPlotNameHelper.h | 2 ++ .../Summary/RimSummaryCurveAutoName.cpp | 10 ++++++++++ .../Summary/RimSummaryNameHelper.h | 2 ++ .../Summary/RimSummaryPlotNameHelper.cpp | 8 ++++++++ .../Summary/RimSummaryPlotNameHelper.h | 2 ++ 6 files changed, 38 insertions(+) diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.cpp index 6a2b987ccc..705dede726 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.cpp @@ -256,3 +256,17 @@ std::string RimMultiSummaryPlotNameHelper::titleCompletion() const return ""; } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t RimMultiSummaryPlotNameHelper::numberOfCases() const +{ + size_t caseCount = 0; + for ( auto nameHelper : m_nameHelpers ) + { + caseCount += nameHelper->numberOfCases(); + } + + return caseCount; +} diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.h b/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.h index 641e4da947..652f2cbd12 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.h +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimMultipleSummaryPlotNameHelper.h @@ -52,6 +52,8 @@ class RimMultiSummaryPlotNameHelper : public RimSummaryNameHelper std::string titleSegment() const override; std::string titleCompletion() const override; + size_t numberOfCases() const override; + private: std::vector m_nameHelpers; }; diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp index efd0dd1d30..abff633c20 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryCurveAutoName.cpp @@ -279,8 +279,18 @@ QString RimSummaryCurveAutoName::buildCurveName( const RifEclipseSummaryAddress& if ( m_caseName && !skipSubString ) { + const bool isTextEmptyBeforeCaseName = text.empty(); + if ( !text.empty() ) text += ", "; text += caseName; + + if ( isTextEmptyBeforeCaseName && currentNameHelper && currentNameHelper->numberOfCases() > 1 && + currentNameHelper->vectorNames().size() > 1 ) + { + // Add vector name to the case name if there are multiple cases and multiple vectors + + text += ":" + summaryAddress.vectorName(); + } } } diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryNameHelper.h b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryNameHelper.h index f2c6b48680..641f3c0fcd 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryNameHelper.h +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryNameHelper.h @@ -59,4 +59,6 @@ class RimSummaryNameHelper virtual std::string titleBlock() const = 0; virtual std::string titleSegment() const = 0; virtual std::string titleCompletion() const = 0; + + virtual size_t numberOfCases() const = 0; }; diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.cpp index 50123b51a6..fdbfe67cd4 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.cpp @@ -270,6 +270,14 @@ std::string RimSummaryPlotNameHelper::titleCompletion() const return m_titleCompletion; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +size_t RimSummaryPlotNameHelper::numberOfCases() const +{ + return m_summaryCases.size() + m_ensembleCases.size(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.h b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.h index 0c86e67192..3de76c7175 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.h +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryPlotNameHelper.h @@ -73,6 +73,8 @@ class RimSummaryPlotNameHelper : public RimSummaryNameHelper std::string titleSegment() const override; std::string titleCompletion() const override; + size_t numberOfCases() const override; + private: void clearTitleSubStrings(); void extractPlotTitleSubStrings();