Refactor: migrate five collections to caf::PdmObjectCollection<T>

RimEnsembleFileSetCollection, RimJobCollection, RimQuickAccessCollection,
RimRefinementRegionCollection and RimFractureTemplateCollection now inherit
from the templated caf::PdmObjectCollection<T> base, reusing the shared
add/insert/delete/items plumbing introduced for RimValveTemplateCollection.

XML field keywords are preserved on every collection so existing project
files continue to load.
This commit is contained in:
Kristian Bendiksen committed 2026-05-11 13:42:13 +02:00
1 parent 8f4008db0f
commit ddd413cb0b
10 files changed
+59 -96

No files matched your search

@@ -18,7 +18,6 @@
#include "RimEnsembleFileSetCollection.h"
#include "RimEnsembleFileSet.h"
#include "RimTools.h"
#include "cafCmdFeatureMenuBuilder.h"
@@ -34,8 +33,8 @@ RimEnsembleFileSetCollection::RimEnsembleFileSetCollection()
{
CAF_PDM_InitObject( "Disc Data", ":/SummaryEnsemble.svg", "", "" );
CAF_PDM_InitFieldNoDefault( &m_fileSets, "FileSets", "File Sets", "", "", "" );
m_fileSets.uiCapability()->setUiHidden( true );
CAF_PDM_InitFieldNoDefault( &m_items, "FileSets", "File Sets", "", "", "" );
m_items.uiCapability()->setUiHidden( true );
}
//--------------------------------------------------------------------------------------------------
@@ -43,7 +42,7 @@ RimEnsembleFileSetCollection::RimEnsembleFileSetCollection()
//--------------------------------------------------------------------------------------------------
void RimEnsembleFileSetCollection::addFileSet( RimEnsembleFileSet* fileSet )
{
if ( fileSet ) m_fileSets.push_back( fileSet );
addItem( fileSet );
}
//--------------------------------------------------------------------------------------------------
@@ -51,7 +50,7 @@ void RimEnsembleFileSetCollection::addFileSet( RimEnsembleFileSet* fileSet )
//--------------------------------------------------------------------------------------------------
std::vector<RimEnsembleFileSet*> RimEnsembleFileSetCollection::fileSets() const
{
return m_fileSets.childrenByType();
return items();
}
//--------------------------------------------------------------------------------------------------
@@ -59,7 +58,7 @@ std::vector<RimEnsembleFileSet*> RimEnsembleFileSetCollection::fileSets() const
//--------------------------------------------------------------------------------------------------
void RimEnsembleFileSetCollection::deleteAllFileSets()
{
m_fileSets.deleteChildren();
deleteAllItems();
}
//--------------------------------------------------------------------------------------------------
@@ -73,10 +72,7 @@ void RimEnsembleFileSetCollection::deleteFileSetIfPossible( RimEnsembleFileSet*
auto connectedObjects = fileSet->objectsWithReferringPtrFields();
if ( connectedObjects.empty() )
{
m_fileSets.removeChild( fileSet );
delete fileSet;
updateConnectedEditors();
deleteItem( fileSet );
}
}
}
@@ -103,7 +99,7 @@ void RimEnsembleFileSetCollection::updateFilePathsFromProjectPath( const QString
QList<caf::PdmOptionItemInfo> RimEnsembleFileSetCollection::ensembleFileSetOptions() const
{
QList<caf::PdmOptionItemInfo> options;
for ( const auto& fileset : m_fileSets )
for ( const auto& fileset : m_items )
{
options.push_back( caf::PdmOptionItemInfo( fileset->name(), fileset, false, fileset->uiIconProvider() ) );
}