diff --git a/ApplicationCode/ProjectDataModel/Summary/RimDerivedEnsembleCaseCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimDerivedEnsembleCaseCollection.cpp index cb0f90c065..db4a85e91f 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimDerivedEnsembleCaseCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimDerivedEnsembleCaseCollection.cpp @@ -83,15 +83,11 @@ RimDerivedEnsembleCaseCollection::RimDerivedEnsembleCaseCollection() m_fixedTimeStepIndex.uiCapability()->setUiEditorTypeName( caf::PdmUiTreeSelectionEditor::uiEditorTypeName() ); m_fixedTimeStepIndex.uiCapability()->setUiLabelPosition( caf::PdmUiItemInfo::HIDDEN ); - // Do not show child cases - uiCapability()->setUiTreeChildrenHidden( true ); - - // Do not store child cases to project file - m_cases.xmlCapability()->disableIO(); - setNameAsReadOnly(); setName( "Delta Ensemble" ); + setAsEnsemble( true ); + setDeletable( true ); } @@ -192,6 +188,7 @@ void RimDerivedEnsembleCaseCollection::updateDerivedEnsembleCases() derivedCase->createSummaryReaderInterface(); derivedCase->setCaseRealizationParameters( crp ); derivedCase->setInUse( true ); + derivedCase->updateDisplayNameFromCases(); } // If other derived ensembles are referring to this ensemble, update their cases as well diff --git a/ApplicationCode/ProjectDataModel/Summary/RimDerivedSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimDerivedSummaryCase.cpp index 64fbc77b76..fdfed3fb15 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimDerivedSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimDerivedSummaryCase.cpp @@ -24,6 +24,7 @@ #include "RifDerivedEnsembleReader.h" #include "RimProject.h" +#include "RimSummaryCaseCollection.h" #include "RimSummaryPlot.h" #include "cafPdmUiTreeSelectionEditor.h" @@ -411,7 +412,17 @@ void RimDerivedSummaryCase::updateDisplayNameFromCases() else if ( m_operator() == DerivedSummaryOperator::DERIVED_OPERATOR_ADD ) operatorText = "Sum"; - QString name = operatorText + QString( "(%1 , %2)" ).arg( case1Name, case2Name ); + QString name; + if ( case1Name == case2Name && m_summaryCase1->ensemble() && m_summaryCase2->ensemble() ) + { + QString ensembleName1 = m_summaryCase1->ensemble()->name(); + QString ensembleName2 = m_summaryCase2->ensemble()->name(); + name = QString( "%1: %2 - %3" ).arg( case1Name ).arg( ensembleName1 ).arg( ensembleName2 ); + } + else + { + name = operatorText + QString( "(%1 , %2)" ).arg( case1Name ).arg( case2Name ); + } m_displayName = name; } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp index b08186c267..2bd33b38e9 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp @@ -279,7 +279,7 @@ void RimSummaryCase::initAfterRead() //-------------------------------------------------------------------------------------------------- QString RimSummaryCase::uniqueShortNameForCase( RimSummaryCase* summaryCase ) { - QString ensembleName; + QString ensembleName = summaryCase->caseName(); std::vector summaryCases; auto ensemble = summaryCase->ensemble(); @@ -309,7 +309,7 @@ QString RimSummaryCase::uniqueShortNameForCase( RimSummaryCase* summaryCase ) RiaFilePathTools::keyPathComponentsForEachFilePath( summaryFilePaths ); QStringList keyFileComponents = keyFileComponentsForAllFiles[summaryCase->summaryHeaderFilename()]; - CAF_ASSERT( !keyFileComponents.empty() ); + if ( keyFileComponents.empty() ) return ensembleName; if ( !ensembleName.isEmpty() ) {