mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-27 05:37:21 -05:00
EnsembleFileSet: Move case creation to createDerivedObjects() lifecycle hook
This commit is contained in:
@@ -689,6 +689,14 @@ void RimReservoirGridEnsemble::fieldChangedByUi( const caf::PdmFieldHandle* chan
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimReservoirGridEnsemble::createDerivedObjects()
|
||||
{
|
||||
createCaseObjectsFromEnsembleFileSet();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -702,28 +710,6 @@ void RimReservoirGridEnsemble::initAfterRead()
|
||||
{
|
||||
if ( m_ensembleFileSet ) setName( m_ensembleFileSet->name() );
|
||||
} );
|
||||
|
||||
// Create case objects WITHOUT loading grid data (deferred loading)
|
||||
if ( m_caseCollection && m_caseCollection->reservoirs().empty() )
|
||||
{
|
||||
createCaseObjectsFromEnsembleFileSet();
|
||||
}
|
||||
|
||||
// NB! This code must be run AFTER the grid case objects are created.
|
||||
for ( auto view : m_viewCollection->views() )
|
||||
{
|
||||
if ( view )
|
||||
{
|
||||
// Resolve the grid case reference for the view after grids are loaded
|
||||
view->resolveReferencesRecursively();
|
||||
|
||||
// Propagate the eclipse case to child objects to ensure all references are updated. setEclipseCase() calls
|
||||
// propagateEclipseCaseToChildObjects() internally, but we need to call it here to ensure propagation after loading and
|
||||
// reference resolution.
|
||||
auto eclipseCase = view->eclipseCase();
|
||||
view->setEclipseCase( eclipseCase );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set the case provider for views in the view collection
|
||||
|
||||
@@ -123,6 +123,7 @@ protected:
|
||||
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
void createDerivedObjects() override;
|
||||
void initAfterRead() override;
|
||||
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
|
||||
@@ -184,6 +184,18 @@ void RimSummaryFileSetEnsemble::createSummaryCasesFromEnsembleFileSet( bool noti
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryFileSetEnsemble::createDerivedObjects()
|
||||
{
|
||||
if ( m_cases.empty() )
|
||||
{
|
||||
bool notifyChange = false;
|
||||
createSummaryCasesFromEnsembleFileSet( notifyChange );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -247,11 +259,7 @@ void RimSummaryFileSetEnsemble::fieldChangedByUi( const caf::PdmFieldHandle* cha
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryFileSetEnsemble::onLoadDataAndUpdate()
|
||||
{
|
||||
if ( m_cases.empty() )
|
||||
{
|
||||
bool notifyChange = false;
|
||||
createSummaryCasesFromEnsembleFileSet( notifyChange );
|
||||
}
|
||||
createDerivedObjects();
|
||||
|
||||
RimSummaryEnsemble::onLoadDataAndUpdate();
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ private:
|
||||
void defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering ) override;
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
void createDerivedObjects() override;
|
||||
void initAfterRead() override;
|
||||
void onLoadDataAndUpdate() override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user