mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-26 21:27:15 -05:00
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:
@@ -50,7 +50,7 @@ RimFractureTemplateCollection::RimFractureTemplateCollection()
|
||||
caf::AppEnum<RiaDefines::EclipseUnitSystem>( RiaDefines::EclipseUnitSystem::UNITS_METRIC ),
|
||||
"Default unit system for fracture templates" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_fractureDefinitions, "FractureDefinitions", "" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_items, "FractureDefinitions", "" );
|
||||
|
||||
CAF_PDM_InitField( &m_nextValidFractureTemplateId_OBSOLETE, "NextValidFractureTemplateId", 0, "" );
|
||||
m_nextValidFractureTemplateId_OBSOLETE.xmlCapability()->setIOWritable( false );
|
||||
@@ -62,7 +62,7 @@ RimFractureTemplateCollection::RimFractureTemplateCollection()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureTemplate* RimFractureTemplateCollection::fractureTemplate( int id ) const
|
||||
{
|
||||
for ( const auto& templ : m_fractureDefinitions )
|
||||
for ( const auto& templ : m_items )
|
||||
{
|
||||
if ( templ->id() == id ) return templ;
|
||||
}
|
||||
@@ -75,7 +75,7 @@ RimFractureTemplate* RimFractureTemplateCollection::fractureTemplate( int id ) c
|
||||
std::vector<RimFractureTemplate*> RimFractureTemplateCollection::fractureTemplates() const
|
||||
{
|
||||
std::vector<RimFractureTemplate*> templates;
|
||||
for ( auto& templ : m_fractureDefinitions )
|
||||
for ( auto& templ : m_items )
|
||||
{
|
||||
templates.push_back( templ );
|
||||
}
|
||||
@@ -104,7 +104,7 @@ RimEllipseFractureTemplate* RimFractureTemplateCollection::addDefaultEllipseTemp
|
||||
void RimFractureTemplateCollection::addFractureTemplate( RimFractureTemplate* templ )
|
||||
{
|
||||
templ->setId( nextFractureTemplateId() );
|
||||
m_fractureDefinitions.push_back( templ );
|
||||
addItem( templ );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -134,7 +134,7 @@ void RimFractureTemplateCollection::setDefaultUnitSystemBasedOnLoadedCases()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureTemplate* RimFractureTemplateCollection::firstFractureOfUnit( RiaDefines::EclipseUnitSystem unitSet ) const
|
||||
{
|
||||
for ( RimFractureTemplate* f : m_fractureDefinitions() )
|
||||
for ( RimFractureTemplate* f : m_items() )
|
||||
{
|
||||
if ( f->fractureTemplateUnit() == unitSet )
|
||||
{
|
||||
@@ -152,7 +152,7 @@ std::vector<std::pair<QString, QString>> RimFractureTemplateCollection::resultNa
|
||||
{
|
||||
std::set<std::pair<QString, QString>> nameSet;
|
||||
|
||||
for ( const RimFractureTemplate* f : m_fractureDefinitions() )
|
||||
for ( const RimFractureTemplate* f : m_items() )
|
||||
{
|
||||
std::vector<std::pair<QString, QString>> namesAndUnits = f->uiResultNamesWithUnit();
|
||||
|
||||
@@ -180,7 +180,7 @@ void RimFractureTemplateCollection::computeMinMax( const QString& uiResultName,
|
||||
MinMaxAccumulator minMaxAccumulator;
|
||||
PosNegAccumulator posNegAccumulator;
|
||||
|
||||
for ( const RimFractureTemplate* f : m_fractureDefinitions() )
|
||||
for ( const RimFractureTemplate* f : m_items() )
|
||||
{
|
||||
if ( f )
|
||||
{
|
||||
@@ -203,7 +203,7 @@ void RimFractureTemplateCollection::createAndAssignTemplateCopyForNonMatchingUni
|
||||
|
||||
std::vector<RimFractureTemplate*> templatesToBeAdded;
|
||||
|
||||
for ( RimFractureTemplate* fractureTemplate : m_fractureDefinitions() )
|
||||
for ( RimFractureTemplate* fractureTemplate : m_items() )
|
||||
{
|
||||
if ( fractureTemplate )
|
||||
{
|
||||
@@ -249,7 +249,7 @@ void RimFractureTemplateCollection::createAndAssignTemplateCopyForNonMatchingUni
|
||||
|
||||
for ( auto templateWithMatchingUnit : templatesToBeAdded )
|
||||
{
|
||||
m_fractureDefinitions.push_back( templateWithMatchingUnit );
|
||||
addItem( templateWithMatchingUnit );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -258,7 +258,7 @@ void RimFractureTemplateCollection::createAndAssignTemplateCopyForNonMatchingUni
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFractureTemplateCollection::loadAndUpdateData()
|
||||
{
|
||||
for ( RimFractureTemplate* f : m_fractureDefinitions() )
|
||||
for ( RimFractureTemplate* f : m_items() )
|
||||
{
|
||||
RimMeshFractureTemplate* stimPlanFracture = dynamic_cast<RimMeshFractureTemplate*>( f );
|
||||
if ( stimPlanFracture )
|
||||
@@ -280,7 +280,7 @@ void RimFractureTemplateCollection::loadAndUpdateData()
|
||||
void RimFractureTemplateCollection::initAfterRead()
|
||||
{
|
||||
// Assign template id if not already assigned
|
||||
for ( auto& templ : m_fractureDefinitions )
|
||||
for ( auto& templ : m_items )
|
||||
{
|
||||
if ( templ->id() < 0 ) templ->setId( nextFractureTemplateId() );
|
||||
}
|
||||
@@ -292,7 +292,7 @@ void RimFractureTemplateCollection::initAfterRead()
|
||||
int RimFractureTemplateCollection::nextFractureTemplateId()
|
||||
{
|
||||
int nextValidId = 0;
|
||||
for ( const auto& templ : m_fractureDefinitions )
|
||||
for ( const auto& templ : m_items )
|
||||
{
|
||||
nextValidId = std::max( nextValidId, templ->id() + 1 );
|
||||
}
|
||||
|
||||
@@ -20,18 +20,18 @@
|
||||
|
||||
#include "RiaDefines.h"
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "RimFractureTemplate.h"
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
class RimEllipseFractureTemplate;
|
||||
class RimFractureTemplate;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimFractureTemplateCollection : public caf::PdmObject
|
||||
class RimFractureTemplateCollection : public caf::PdmObjectCollection<RimFractureTemplate>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -67,7 +67,6 @@ protected:
|
||||
private:
|
||||
int nextFractureTemplateId();
|
||||
|
||||
caf::PdmChildArrayField<RimFractureTemplate*> m_fractureDefinitions;
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::EclipseUnitSystem>> m_defaultUnitsForFracTemplates;
|
||||
caf::PdmField<int> m_nextValidFractureTemplateId_OBSOLETE;
|
||||
};
|
||||
|
||||
+7
-11
@@ -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() ) );
|
||||
}
|
||||
|
||||
@@ -18,18 +18,16 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPointer.h"
|
||||
#include "RimEnsembleFileSet.h"
|
||||
|
||||
class RimEnsembleFileSet;
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
/// Class to manage a collection of ensemble filesets
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimEnsembleFileSetCollection : public caf::PdmObject
|
||||
class RimEnsembleFileSetCollection : public caf::PdmObjectCollection<RimEnsembleFileSet>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -50,7 +48,4 @@ public:
|
||||
private:
|
||||
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
|
||||
void initAfterRead() override;
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimEnsembleFileSet*> m_fileSets;
|
||||
};
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
#include "RiaLogging.h"
|
||||
|
||||
#include "Rim3dView.h"
|
||||
#include "RimGenericJob.h"
|
||||
#include "RimGridView.h"
|
||||
#include "RimProject.h"
|
||||
|
||||
@@ -36,7 +35,7 @@ RimJobCollection::RimJobCollection()
|
||||
{
|
||||
CAF_PDM_InitObject( "Jobs", ":/gear_icon_16x16.png" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_jobs, "Jobs", "Jobs" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_items, "Jobs", "Jobs" );
|
||||
|
||||
setCustomContextMenuEnabled( true );
|
||||
setDeletable( false );
|
||||
@@ -54,7 +53,7 @@ RimJobCollection::~RimJobCollection()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimGenericJob*> RimJobCollection::jobs() const
|
||||
{
|
||||
return m_jobs.childrenByType();
|
||||
return items();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -75,20 +74,12 @@ std::vector<RimGenericJob*> RimJobCollection::jobsMatchingKeyValue( const QStrin
|
||||
return foundJobs;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimJobCollection::isEmpty()
|
||||
{
|
||||
return !m_jobs.hasChildren();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimJobCollection::addNewJob( RimGenericJob* newJob )
|
||||
{
|
||||
m_jobs.push_back( newJob );
|
||||
addItem( newJob );
|
||||
updateAllRequiredEditors();
|
||||
}
|
||||
|
||||
@@ -119,7 +110,7 @@ void RimJobCollection::deleteAllJobs()
|
||||
RiaLogging::info( "Stopped running job '" + job->name().toStdString() );
|
||||
}
|
||||
}
|
||||
m_jobs.deleteChildren();
|
||||
deleteAllItems();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -17,16 +17,13 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "RimGenericJob.h"
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
#include <QString>
|
||||
|
||||
class RimGenericJob;
|
||||
|
||||
class RimJobCollection : public caf::PdmObject
|
||||
class RimJobCollection : public caf::PdmObjectCollection<RimGenericJob>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -36,8 +33,6 @@ public:
|
||||
|
||||
void addNewJob( RimGenericJob* newJob );
|
||||
|
||||
bool isEmpty();
|
||||
|
||||
int numberOfRunningJobs() const;
|
||||
|
||||
void deleteAllJobs();
|
||||
@@ -48,7 +43,4 @@ public:
|
||||
|
||||
protected:
|
||||
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimGenericJob*> m_jobs;
|
||||
};
|
||||
|
||||
@@ -38,7 +38,7 @@ RimQuickAccessCollection::RimQuickAccessCollection()
|
||||
{
|
||||
CAF_PDM_InitObject( "Field Reference Collection" );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_fieldQuickAccesGroups, "FieldReferencesGroup", "Field References Group" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_items, "FieldReferencesGroup", "Field References Group" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -134,7 +134,7 @@ void RimQuickAccessCollection::defineUiOrdering( QString uiConfigName, caf::PdmU
|
||||
|
||||
std::vector<RimFieldQuickAccessGroup*> groupsForView;
|
||||
|
||||
for ( auto group : m_fieldQuickAccesGroups )
|
||||
for ( auto group : m_items )
|
||||
{
|
||||
if ( group->ownerView() == activeView )
|
||||
{
|
||||
@@ -177,7 +177,7 @@ void RimQuickAccessCollection::deleteMarkedObjects()
|
||||
{
|
||||
std::set<RimFieldQuickAccess*> toBeDeleted;
|
||||
|
||||
for ( auto group : m_fieldQuickAccesGroups.childrenByType() )
|
||||
for ( auto group : items() )
|
||||
{
|
||||
for ( auto quickAccess : group->fieldQuickAccesses() )
|
||||
{
|
||||
@@ -190,7 +190,7 @@ void RimQuickAccessCollection::deleteMarkedObjects()
|
||||
|
||||
for ( auto quickAccess : toBeDeleted )
|
||||
{
|
||||
for ( auto group : m_fieldQuickAccesGroups )
|
||||
for ( auto group : m_items )
|
||||
{
|
||||
group->removeFieldQuickAccess( quickAccess );
|
||||
}
|
||||
@@ -202,7 +202,7 @@ void RimQuickAccessCollection::deleteMarkedObjects()
|
||||
// Delete groups with no quick access fields
|
||||
{
|
||||
std::set<RimFieldQuickAccessGroup*> toBeDeleted;
|
||||
for ( auto group : m_fieldQuickAccesGroups.childrenByType() )
|
||||
for ( auto group : items() )
|
||||
{
|
||||
if ( group->fieldQuickAccesses().empty() )
|
||||
{
|
||||
@@ -212,8 +212,7 @@ void RimQuickAccessCollection::deleteMarkedObjects()
|
||||
|
||||
for ( auto group : toBeDeleted )
|
||||
{
|
||||
m_fieldQuickAccesGroups.removeChild( group );
|
||||
delete group;
|
||||
deleteItem( group );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -228,7 +227,7 @@ RimFieldQuickAccessGroup* RimQuickAccessCollection::findOrCreateGroup( caf::PdmO
|
||||
auto parentView = object->firstAncestorOrThisOfType<RimGridView>();
|
||||
if ( !parentView ) return nullptr;
|
||||
|
||||
for ( auto group : m_fieldQuickAccesGroups )
|
||||
for ( auto group : m_items )
|
||||
{
|
||||
if ( !group ) continue;
|
||||
|
||||
@@ -244,7 +243,7 @@ RimFieldQuickAccessGroup* RimQuickAccessCollection::findOrCreateGroup( caf::PdmO
|
||||
auto group = new RimFieldQuickAccessGroup();
|
||||
group->setName( groupName );
|
||||
group->setOwnerView( parentView );
|
||||
m_fieldQuickAccesGroups.push_back( group );
|
||||
addItem( group );
|
||||
|
||||
return group;
|
||||
}
|
||||
|
||||
@@ -18,20 +18,18 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmPtrArrayField.h"
|
||||
#include "RimFieldQuickAccessGroup.h"
|
||||
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
class RimFieldQuickAccess;
|
||||
class RimFieldQuickAccessGroup;
|
||||
class RimFieldReference;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimQuickAccessCollection : public caf::PdmObject
|
||||
class RimQuickAccessCollection : public caf::PdmObjectCollection<RimFieldQuickAccessGroup>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -54,7 +52,4 @@ private:
|
||||
|
||||
static void updateGroupName( RimFieldQuickAccessGroup* group );
|
||||
static QString defaultGroupName();
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimFieldQuickAccessGroup*> m_fieldQuickAccesGroups;
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ RimRefinementRegionCollection::RimRefinementRegionCollection()
|
||||
CAF_PDM_InitField( &m_isActive, "IsActive", true, "Show Regions in 3D View" );
|
||||
m_isActive.uiCapability()->setUiHidden( true );
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_regions, "Regions", "Regions" );
|
||||
CAF_PDM_InitFieldNoDefault( &m_items, "Regions", "Regions" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -56,7 +56,7 @@ bool RimRefinementRegionCollection::isActive() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimRefinementRegionCollection::shouldBeVisibleInTree() const
|
||||
{
|
||||
return !m_regions.empty();
|
||||
return !isEmpty();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -64,7 +64,7 @@ bool RimRefinementRegionCollection::shouldBeVisibleInTree() const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimRefinementRegion*> RimRefinementRegionCollection::regions() const
|
||||
{
|
||||
return m_regions.childrenByType();
|
||||
return items();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -73,7 +73,7 @@ std::vector<RimRefinementRegion*> RimRefinementRegionCollection::regions() const
|
||||
std::vector<RimRefinementRegion*> RimRefinementRegionCollection::activeRegions() const
|
||||
{
|
||||
std::vector<RimRefinementRegion*> result;
|
||||
for ( auto r : m_regions )
|
||||
for ( auto r : m_items )
|
||||
{
|
||||
if ( r && r->isActive() ) result.push_back( r );
|
||||
}
|
||||
@@ -86,15 +86,14 @@ std::vector<RimRefinementRegion*> RimRefinementRegionCollection::activeRegions()
|
||||
RimRefinementRegion* RimRefinementRegionCollection::addNewRegion( RimEclipseCase* eclipseCase )
|
||||
{
|
||||
auto* region = new RimRefinementRegion();
|
||||
region->setRegionName( QString( "Region %1" ).arg( m_regions.size() + 1 ) );
|
||||
m_regions.push_back( region );
|
||||
region->setRegionName( QString( "Region %1" ).arg( count() + 1 ) );
|
||||
addItem( region );
|
||||
|
||||
// Defaults depend on the case's grid; set after the region is inserted into the tree so
|
||||
// that view/case ancestor lookups work inside the region.
|
||||
region->setDefaultsFromCase( eclipseCase );
|
||||
|
||||
updateConnectedEditors();
|
||||
// Visibility of this collection in the parent view's tree depends on m_regions being non-empty,
|
||||
// Visibility of this collection in the parent view's tree depends on m_items being non-empty,
|
||||
// so refresh the parent so the folder appears when the first region is added.
|
||||
if ( auto* view = firstAncestorOrThisOfType<Rim3dView>() ) view->updateConnectedEditors();
|
||||
return region;
|
||||
@@ -105,7 +104,7 @@ RimRefinementRegion* RimRefinementRegionCollection::addNewRegion( RimEclipseCase
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimRefinementRegionCollection::addRegion( RimRefinementRegion* region )
|
||||
{
|
||||
if ( region ) m_regions.push_back( region );
|
||||
addItem( region );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -114,9 +113,7 @@ void RimRefinementRegionCollection::addRegion( RimRefinementRegion* region )
|
||||
void RimRefinementRegionCollection::removeRegion( RimRefinementRegion* region )
|
||||
{
|
||||
if ( !region ) return;
|
||||
m_regions.removeChild( region );
|
||||
delete region;
|
||||
updateConnectedEditors();
|
||||
deleteItem( region );
|
||||
if ( auto* view = firstAncestorOrThisOfType<Rim3dView>() ) view->updateConnectedEditors();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "RimRefinementRegion.h"
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectCollection.h"
|
||||
#include "cafVecIjk.h"
|
||||
|
||||
#include <expected>
|
||||
@@ -32,7 +33,6 @@
|
||||
|
||||
class RigRefinement;
|
||||
class RimEclipseCase;
|
||||
class RimRefinementRegion;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -40,7 +40,7 @@ class RimRefinementRegion;
|
||||
/// regions into a single RigRefinement for use in sector-model export.
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimRefinementRegionCollection : public caf::PdmObject
|
||||
class RimRefinementRegionCollection : public caf::PdmObjectCollection<RimRefinementRegion>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -72,6 +72,5 @@ protected:
|
||||
void onChildDeleted( caf::PdmChildArrayFieldHandle* childArray, std::vector<caf::PdmObjectHandle*>& referringObjects ) override;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_isActive;
|
||||
caf::PdmChildArrayField<RimRefinementRegion*> m_regions;
|
||||
caf::PdmField<bool> m_isActive;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user