From fdb5d5605e2999cee17d806bc732861c9f018704 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 7 Apr 2025 07:08:16 +0200 Subject: [PATCH] Adds default property filter on well target creation Adds a default property filter to the eclipse view when a well target is created. This ensures that cells with undefined values are hidden. Also generates results on project load, so results are visible on startup. --- .../ProjectDataModel/RimWellTargetMapping.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/ApplicationLibCode/ProjectDataModel/RimWellTargetMapping.cpp b/ApplicationLibCode/ProjectDataModel/RimWellTargetMapping.cpp index 98a6b79aec..d3adc9e2e9 100644 --- a/ApplicationLibCode/ProjectDataModel/RimWellTargetMapping.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimWellTargetMapping.cpp @@ -38,6 +38,7 @@ #include "RimEclipseCaseCollection.h" #include "RimEclipseCaseEnsemble.h" #include "RimEclipseCellColors.h" +#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipseResultDefinition.h" #include "RimEclipseView.h" #include "RimRegularGridCase.h" @@ -205,6 +206,12 @@ void RimWellTargetMapping::fieldChangedByUi( const caf::PdmFieldHandle* changedF eclipseView->cellResult()->setResultType( RiaDefines::ResultCatType::GENERATED ); eclipseView->cellResult()->setResultVariable( RigWellTargetMapping::wellTargetResultName() ); + if ( eclipseView->eclipsePropertyFilterCollection()->propertyFilters().empty() ) + { + eclipseView->eclipsePropertyFilterCollection()->addFilterLinkedToCellResult(); + eclipseView->eclipsePropertyFilterCollection()->updateConnectedEditors(); + } + if ( RiaGuiApplication::isRunning() || RiuMainWindow::instance() ) { RiuMainWindow::instance()->selectAsCurrentItem( eclipseView->cellResult() ); @@ -606,8 +613,14 @@ RimEclipseCase* RimWellTargetMapping::firstCase() const //-------------------------------------------------------------------------------------------------- void RimWellTargetMapping::initAfterRead() { - RimEclipseCase* eclipseCase = firstCase(); - if ( eclipseCase ) m_resultDefinition->setEclipseCase( eclipseCase ); + if ( RimEclipseCase* eclipseCase = firstCase() ) + { + m_resultDefinition->setEclipseCase( eclipseCase ); + + // Automatically generate results on project load + // Consider to also do this for ensemble cases, but this will be more expensive + generateCandidates( eclipseCase ); + } } //--------------------------------------------------------------------------------------------------