diff --git a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp index 1abf36b62a..227957b32a 100644 --- a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.cpp @@ -90,6 +90,10 @@ RimEclipseResultCase::RimEclipseResultCase() m_unitSystem.registerGetMethod( RimProject::current(), &RimProject::commonUnitSystemForAllCases ); m_unitSystem.uiCapability()->setUiReadOnly( true ); + CAF_PDM_InitFieldNoDefault( &m_phases, "Phases", "Phases" ); + m_phases.registerGetMethod( this, &RimEclipseResultCase::phasesAsString ); + m_phases.uiCapability()->setUiReadOnly( true ); + CAF_PDM_InitFieldNoDefault( &m_flowDiagSolutions, "FlowDiagSolutions", "Flow Diagnostics Solutions" ); m_flowDiagSolutions.uiCapability()->setUiTreeChildrenHidden( true ); @@ -129,6 +133,31 @@ void RimEclipseResultCase::initAfterRead() } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimEclipseResultCase::phasesAsString() const +{ + if ( auto caseData = eclipseCaseData() ) + { + QStringList phaseNames; + const auto phases = caseData->availablePhases(); + for ( const auto& phase : phases ) + { + phaseNames.append( caf::AppEnum::uiText( phase ) ); + } + + if ( phaseNames.isEmpty() ) + { + return "No phases available"; + } + + return phaseNames.join( ", " ); + } + + return "No data available"; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -680,6 +709,7 @@ void RimEclipseResultCase::defineUiOrdering( QString uiConfigName, caf::PdmUiOrd uiOrdering.add( &m_caseId ); uiOrdering.add( &m_caseFileName ); uiOrdering.add( &m_unitSystem ); + uiOrdering.add( &m_phases ); auto group = uiOrdering.addNewGroup( "Case Options" ); group->add( &m_activeFormationNames ); diff --git a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.h b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.h index 7b13eae8c0..b462eaf5c2 100644 --- a/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.h +++ b/ApplicationLibCode/ProjectDataModel/RimEclipseResultCase.h @@ -90,6 +90,8 @@ private: void ensureRftDataIsImported(); bool showTimeStepFilterGUI(); + QString phasesAsString() const; + cvf::ref createMockModel( QString modelName ); void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override; @@ -102,6 +104,7 @@ private: caf::PdmProxyValueField> m_unitSystem; caf::PdmChildArrayField m_flowDiagSolutions; caf::PdmField m_sourSimFileName; + caf::PdmProxyValueField m_phases; caf::PdmField> m_mswMergeThreshold;