From b922fd96a782c4aeb9fd920af9e4c21e31f77fee Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 11 Sep 2026 15:52:48 +0200 Subject: [PATCH] #14737 Add reordering support to case collections Add caf::PdmFieldReorderCapability to the child array fields holding RimCase objects: - RimEclipseCaseCollection::cases (grid models in Project Tree) - RimCaseCollection::reservoirs (statistics case groups) - RimGeoMechModels::m_cases (geomechanical models) This enables the built-in move up/down tree item controls for reordering cases, matching the pattern already used for e.g. RimSurfaceCollection and RimMultiPlot. --- .../ProjectDataModel/GeoMech/RimGeoMechModels.cpp | 3 +++ ApplicationLibCode/ProjectDataModel/RimCaseCollection.cpp | 3 +++ .../ProjectDataModel/RimEclipseCaseCollection.cpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechModels.cpp b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechModels.cpp index 458581e370..bd2a17eb2e 100644 --- a/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechModels.cpp +++ b/ApplicationLibCode/ProjectDataModel/GeoMech/RimGeoMechModels.cpp @@ -29,6 +29,8 @@ #include "RimIntersectionResultDefinition.h" #include "RimIntersectionResultsDefinitionCollection.h" +#include "cafPdmFieldReorderCapability.h" + CAF_PDM_SOURCE_INIT( RimGeoMechModels, "ResInsightGeoMechModels" ); //-------------------------------------------------------------------------------------------------- /// @@ -38,6 +40,7 @@ RimGeoMechModels::RimGeoMechModels() CAF_PDM_InitObject( "Geomechanical Models", ":/GeoMechCases48x48.png" ); CAF_PDM_InitFieldNoDefault( &m_cases, "Cases", "" ); + caf::PdmFieldReorderCapability::addToField( &m_cases ); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/RimCaseCollection.cpp b/ApplicationLibCode/ProjectDataModel/RimCaseCollection.cpp index e3f532abb3..94b6f62b43 100644 --- a/ApplicationLibCode/ProjectDataModel/RimCaseCollection.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimCaseCollection.cpp @@ -24,6 +24,8 @@ #include "RimIdenticalGridCaseGroup.h" #include "RimReservoirGridEnsemble.h" +#include "cafPdmFieldReorderCapability.h" + CAF_PDM_SOURCE_INIT( RimCaseCollection, "RimCaseCollection" ); //-------------------------------------------------------------------------------------------------- @@ -34,6 +36,7 @@ RimCaseCollection::RimCaseCollection() CAF_PDM_InitObject( "Derived Statistics" ); CAF_PDM_InitFieldNoDefault( &reservoirs, "Reservoirs", "Reservoirs ChildArrayField" ); + caf::PdmFieldReorderCapability::addToField( &reservoirs ); } //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationLibCode/ProjectDataModel/RimEclipseCaseCollection.cpp b/ApplicationLibCode/ProjectDataModel/RimEclipseCaseCollection.cpp index 75f771f674..32a26f3037 100644 --- a/ApplicationLibCode/ProjectDataModel/RimEclipseCaseCollection.cpp +++ b/ApplicationLibCode/ProjectDataModel/RimEclipseCaseCollection.cpp @@ -35,6 +35,7 @@ #include "RimReservoirGridEnsemble.h" #include "cafCmdFeatureMenuBuilder.h" +#include "cafPdmFieldReorderCapability.h" CAF_PDM_SOURCE_INIT( RimEclipseCaseCollection, "ResInsightAnalysisModels" ); //-------------------------------------------------------------------------------------------------- @@ -45,6 +46,7 @@ RimEclipseCaseCollection::RimEclipseCaseCollection() CAF_PDM_InitObject( "Grid Models", ":/Cases16x16.png" ); CAF_PDM_InitFieldNoDefault( &cases, "Reservoirs", "" ); + caf::PdmFieldReorderCapability::addToField( &cases ); CAF_PDM_InitFieldNoDefault( &caseGroups, "CaseGroups", "" );