diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp index c1ab73fcff..c9328614b4 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp @@ -2422,6 +2422,14 @@ bool RimEnsembleCurveSet::hasMeanData() const return m_ensembleStatCaseY->hasMeanData(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +const RimEnsembleStatistics* RimEnsembleCurveSet::statisticsOptions() const +{ + return m_statistics(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h b/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h index bcc7805f30..5e7041cee6 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h @@ -176,6 +176,8 @@ public: bool hasP90Data() const override; bool hasMeanData() const override; + const RimEnsembleStatistics* statisticsOptions() const; + void appendColorGroup( caf::PdmUiOrdering& uiOrdering ); static void appendOptionItemsForSummaryAddresses( QList* options, RimSummaryCaseCollection* summaryCaseGroup ); diff --git a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryRegressionAnalysisCurve.cpp b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryRegressionAnalysisCurve.cpp index 5264c7637e..5aba0484c5 100644 --- a/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryRegressionAnalysisCurve.cpp +++ b/ApplicationLibCode/ProjectDataModel/Summary/RimSummaryRegressionAnalysisCurve.cpp @@ -25,6 +25,7 @@ #include "RimEnsembleCurveSet.h" #include "RimEnsembleCurveSetCollection.h" +#include "RimEnsembleStatistics.h" #include "RimSummaryCaseCollection.h" #include "RimSummaryPlot.h" #include "RimTimeAxisAnnotation.h" @@ -457,8 +458,6 @@ void RimSummaryRegressionAnalysisCurve::defineUiOrdering( QString uiConfigName, { RimPlotCurve::updateFieldUiState(); - uiOrdering.add( &m_dataSourceForRegression ); - if ( m_dataSourceForRegression() == DataSource::ENSEMBLE ) { uiOrdering.add( &m_ensembleCurveSet ); @@ -655,6 +654,44 @@ QList RimSummaryRegressionAnalysisCurve::calculateValueO return options; } + if ( fieldNeedingOptions == &m_ensembleStatisticsType ) + { + QList options; + options.append( { "None", nullptr } ); + + if ( m_ensembleCurveSet() ) + { + auto statisticsOptions = m_ensembleCurveSet()->statisticsOptions(); + + std::vector availableStatistics; + if ( statisticsOptions->showP10Curve() ) + { + availableStatistics.push_back( RifEclipseSummaryAddressDefines::StatisticsType::P10 ); + } + if ( statisticsOptions->showP50Curve() ) + { + availableStatistics.push_back( RifEclipseSummaryAddressDefines::StatisticsType::P50 ); + } + if ( statisticsOptions->showP90Curve() ) + { + availableStatistics.push_back( RifEclipseSummaryAddressDefines::StatisticsType::P90 ); + } + if ( statisticsOptions->showMeanCurve() ) + { + availableStatistics.push_back( RifEclipseSummaryAddressDefines::StatisticsType::MEAN ); + } + + for ( const auto& statisticsType : availableStatistics ) + { + options.push_back( + caf::PdmOptionItemInfo( caf::AppEnum::uiText( statisticsType ), + statisticsType ) ); + } + } + + return options; + } + return RimSummaryCurve::calculateValueOptions( fieldNeedingOptions ); }