Refactors selection handling for improved code clarity

Modernize the interface to selection system. Create and return data instead of populating incoming parameters.
This commit is contained in:
Magne Sjaastad committed 2025-04-09 07:21:54 +02:00
1 parent 380f559f0d
commit ae8446073b
136 files changed
+357 -870

No files matched your search

@@ -39,8 +39,5 @@ bool RicEclipseWellFeatureImpl::isAnyWellSelected()
//--------------------------------------------------------------------------------------------------
std::vector<RimSimWellInView*> RicEclipseWellFeatureImpl::selectedWells()
{
std::vector<RimSimWellInView*> selection;
caf::SelectionManager::instance()->objectsByType( &selection );
return selection;
return caf::SelectionManager::instance()->objectsByType<RimSimWellInView>();
}
@@ -40,9 +40,7 @@ CAF_CMD_SOURCE_INIT( RicApplyPropertyFilterAsCellResultFeature, "RicApplyPropert
bool RicApplyPropertyFilterAsCellResultFeature::isCommandEnabled() const
{
{
std::vector<RimEclipsePropertyFilter*> objects;
caf::SelectionManager::instance()->objectsByType( &objects );
const auto objects = caf::SelectionManager::instance()->objectsByType<RimEclipsePropertyFilter>();
if ( objects.size() == 1 )
{
return true;
@@ -50,9 +48,7 @@ bool RicApplyPropertyFilterAsCellResultFeature::isCommandEnabled() const
}
{
std::vector<RimGeoMechPropertyFilter*> objects;
caf::SelectionManager::instance()->objectsByType( &objects );
const auto objects = caf::SelectionManager::instance()->objectsByType<RimGeoMechPropertyFilter>();
if ( objects.size() == 1 )
{
return true;
@@ -68,9 +64,7 @@ bool RicApplyPropertyFilterAsCellResultFeature::isCommandEnabled() const
void RicApplyPropertyFilterAsCellResultFeature::onActionTriggered( bool isChecked )
{
{
std::vector<RimEclipsePropertyFilter*> objects;
caf::SelectionManager::instance()->objectsByType( &objects );
const auto objects = caf::SelectionManager::instance()->objectsByType<RimEclipsePropertyFilter>();
if ( objects.size() == 1 )
{
RimEclipsePropertyFilter* propertyFilter = objects[0];
@@ -89,9 +83,7 @@ void RicApplyPropertyFilterAsCellResultFeature::onActionTriggered( bool isChecke
}
{
std::vector<RimGeoMechPropertyFilter*> objects;
caf::SelectionManager::instance()->objectsByType( &objects );
const auto objects = caf::SelectionManager::instance()->objectsByType<RimGeoMechPropertyFilter>();
if ( objects.size() == 1 )
{
RimGeoMechPropertyFilter* propertyFilter = objects[0];
@@ -80,8 +80,5 @@ void RicComputeStatisticsFeature::setupActionLook( QAction* actionToSetup )
//--------------------------------------------------------------------------------------------------
std::vector<RimEclipseStatisticsCase*> RicComputeStatisticsFeature::selectedCases()
{
std::vector<RimEclipseStatisticsCase*> selection;
caf::SelectionManager::instance()->objectsByType( &selection );
return selection;
return caf::SelectionManager::instance()->objectsByType<RimEclipseStatisticsCase>();
}
@@ -36,11 +36,8 @@ CAF_CMD_SOURCE_INIT( RicEclipseCaseNewGroupFeature, "RicEclipseCaseNewGroupFeatu
//--------------------------------------------------------------------------------------------------
bool RicEclipseCaseNewGroupFeature::isCommandEnabled() const
{
std::vector<RimCase*> caseSelection;
caf::SelectionManager::instance()->objectsByType( &caseSelection );
std::vector<RimEclipseCaseCollection*> caseCollSelection;
caf::SelectionManager::instance()->objectsByType( &caseCollSelection );
const auto caseSelection = caf::SelectionManager::instance()->objectsByType<RimCase>();
const auto caseCollSelection = caf::SelectionManager::instance()->objectsByType<RimEclipseCaseCollection>();
return !caseSelection.empty() || !caseCollSelection.empty();
}
@@ -40,10 +40,7 @@
//--------------------------------------------------------------------------------------------------
std::vector<RimEclipsePropertyFilter*> RicEclipsePropertyFilterFeatureImpl::selectedPropertyFilters()
{
std::vector<RimEclipsePropertyFilter*> propertyFilters;
caf::SelectionManager::instance()->objectsByType( &propertyFilters );
return propertyFilters;
return caf::SelectionManager::instance()->objectsByType<RimEclipsePropertyFilter>();
}
//--------------------------------------------------------------------------------------------------
@@ -51,10 +48,7 @@ std::vector<RimEclipsePropertyFilter*> RicEclipsePropertyFilterFeatureImpl::sele
//--------------------------------------------------------------------------------------------------
std::vector<RimEclipsePropertyFilterCollection*> RicEclipsePropertyFilterFeatureImpl::selectedPropertyFilterCollections()
{
std::vector<RimEclipsePropertyFilterCollection*> propertyFilterCollections;
caf::SelectionManager::instance()->objectsByType( &propertyFilterCollections );
return propertyFilterCollections;
return caf::SelectionManager::instance()->objectsByType<RimEclipsePropertyFilterCollection>();
}
//--------------------------------------------------------------------------------------------------
@@ -70,17 +70,13 @@ void RicNewStatisticsCaseFeature::setupActionLook( QAction* actionToSetup )
//--------------------------------------------------------------------------------------------------
caf::PdmUiItem* RicNewStatisticsCaseFeature::selectedValidUIItem()
{
std::vector<RimEclipseStatisticsCaseCollection*> statisticsCaseCollections;
caf::SelectionManager::instance()->objectsByType( &statisticsCaseCollections );
const auto statisticsCaseCollections = caf::SelectionManager::instance()->objectsByType<RimEclipseStatisticsCaseCollection>();
if ( !statisticsCaseCollections.empty() )
{
return statisticsCaseCollections[0];
}
std::vector<RimCaseCollection*> caseCollections;
caf::SelectionManager::instance()->objectsByType( &caseCollections );
const auto caseCollections = caf::SelectionManager::instance()->objectsByType<RimCaseCollection>();
if ( !caseCollections.empty() )
{
if ( RimIdenticalGridCaseGroup::isStatisticsCaseCollection( caseCollections[0] ) )