mirror of
https://github.com/OPM/ResInsight.git
synced 2026-08-27 05:37:21 -05:00
Refactor RimValveTemplateCollection.
This commit is contained in:
@@ -57,7 +57,7 @@ void RicDeleteValveTemplateFeature::onActionTriggered( bool isChecked )
|
||||
}
|
||||
|
||||
RimValveTemplateCollection* collection = valveTemplate->firstAncestorOrThisOfTypeAsserted<RimValveTemplateCollection>();
|
||||
collection->removeAndDeleteValveTemplate( valveTemplate );
|
||||
collection->deleteItem( valveTemplate );
|
||||
collection->updateAllRequiredEditors();
|
||||
|
||||
project->scheduleCreateDisplayModelAndRedrawAllViews();
|
||||
|
||||
@@ -110,7 +110,7 @@ void RicImportValveTemplatesFeature::onActionTriggered( bool isChecked )
|
||||
for ( const auto& aicdValue : aicdTemplates )
|
||||
{
|
||||
auto newTemplate = RimValveTemplate::createAicdTemplate( aicdValue, number++ );
|
||||
templateColl->addValveTemplate( newTemplate );
|
||||
templateColl->addItem( newTemplate );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -87,9 +87,9 @@ RimValveTemplate* RicNewValveTemplateFeature::createNewValveTemplate()
|
||||
if ( valveTemplateColl )
|
||||
{
|
||||
RimValveTemplate* valveTemplate = new RimValveTemplate();
|
||||
QString userLabel = QString( "Valve Template #%1" ).arg( valveTemplateColl->valveTemplates().size() + 1 );
|
||||
QString userLabel = QString( "Valve Template #%1" ).arg( valveTemplateColl->count() + 1 );
|
||||
valveTemplate->setUserLabel( userLabel );
|
||||
valveTemplateColl->addValveTemplate( valveTemplate );
|
||||
valveTemplateColl->addItem( valveTemplate );
|
||||
valveTemplate->setUnitSystem( valveTemplateColl->defaultUnitSystemType() );
|
||||
valveTemplate->setDefaultValuesFromUnits();
|
||||
return valveTemplate;
|
||||
|
||||
@@ -32,7 +32,7 @@ CAF_PDM_SOURCE_INIT( RimValveTemplateCollection, "ValveTemplateCollection" );
|
||||
RimValveTemplateCollection::RimValveTemplateCollection()
|
||||
{
|
||||
CAF_PDM_InitScriptableObject( "Valve Templates", ":/ICDValve16x16.png" );
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_valveDefinitions, "ValveDefinitions", "" );
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_items, "ValveDefinitions", "" );
|
||||
CAF_PDM_InitScriptableFieldNoDefault( &m_defaultUnitsForValveTemplates, "ValveUnits", "Default unit system for valve templates" );
|
||||
m_defaultUnitsForValveTemplates = RiaDefines::EclipseUnitSystem::UNITS_METRIC;
|
||||
addDefaultValveTemplates();
|
||||
@@ -45,36 +45,6 @@ RimValveTemplateCollection::~RimValveTemplateCollection()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimValveTemplate*> RimValveTemplateCollection::valveTemplates() const
|
||||
{
|
||||
std::vector<RimValveTemplate*> templates;
|
||||
for ( auto& templ : m_valveDefinitions )
|
||||
{
|
||||
templates.push_back( templ );
|
||||
}
|
||||
return templates;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimValveTemplateCollection::addValveTemplate( RimValveTemplate* valveTemplate )
|
||||
{
|
||||
m_valveDefinitions.push_back( valveTemplate );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimValveTemplateCollection::removeAndDeleteValveTemplate( RimValveTemplate* valveTemplate )
|
||||
{
|
||||
m_valveDefinitions.removeChild( valveTemplate );
|
||||
delete valveTemplate;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -114,7 +84,7 @@ void RimValveTemplateCollection::addDefaultValveTemplates()
|
||||
icv->setType( RiaDefines::WellPathComponentType::ICV );
|
||||
icv->setUserLabel( "Valve Template #3" );
|
||||
|
||||
addValveTemplate( aicd );
|
||||
addValveTemplate( icd );
|
||||
addValveTemplate( icv );
|
||||
addItem( aicd );
|
||||
addItem( icd );
|
||||
addItem( icv );
|
||||
}
|
||||
|
||||
@@ -20,17 +20,16 @@
|
||||
|
||||
#include "RiaDefines.h"
|
||||
|
||||
#include "cafPdmChildArrayField.h"
|
||||
#include "RimValveTemplate.h"
|
||||
|
||||
#include "cafPdmField.h"
|
||||
#include "cafPdmObject.h"
|
||||
|
||||
class RimValveTemplate;
|
||||
#include "cafPdmObjectCollection.h"
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class RimValveTemplateCollection : public caf::PdmObject
|
||||
class RimValveTemplateCollection : public caf::PdmObjectCollection<RimValveTemplate>
|
||||
{
|
||||
CAF_PDM_HEADER_INIT;
|
||||
|
||||
@@ -38,15 +37,12 @@ public:
|
||||
RimValveTemplateCollection();
|
||||
~RimValveTemplateCollection() override;
|
||||
|
||||
std::vector<RimValveTemplate*> valveTemplates() const;
|
||||
void addValveTemplate( RimValveTemplate* valveTemplate );
|
||||
void removeAndDeleteValveTemplate( RimValveTemplate* valveTemplate );
|
||||
void addDefaultValveTemplates();
|
||||
// Domain-specific methods
|
||||
void addDefaultValveTemplates();
|
||||
|
||||
caf::AppEnum<RiaDefines::EclipseUnitSystem> defaultUnitSystemType() const;
|
||||
void setDefaultUnitSystemBasedOnLoadedCases();
|
||||
|
||||
private:
|
||||
caf::PdmChildArrayField<RimValveTemplate*> m_valveDefinitions;
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::EclipseUnitSystem>> m_defaultUnitsForValveTemplates;
|
||||
};
|
||||
|
||||
@@ -1301,7 +1301,7 @@ std::vector<RimValveTemplate*> RimProject::allValveTemplates() const
|
||||
std::vector<RimValveTemplate*> templates;
|
||||
for ( RimValveTemplateCollection* templColl : allValveTemplateCollections() )
|
||||
{
|
||||
for ( RimValveTemplate* templ : templColl->valveTemplates() )
|
||||
for ( RimValveTemplate* templ : templColl->items() )
|
||||
{
|
||||
templates.push_back( templ );
|
||||
}
|
||||
|
||||
@@ -95,9 +95,8 @@ std::expected<caf::PdmObjectHandle*, QString> RimcValveTemplateCollection_add_te
|
||||
if ( userLabel.isEmpty() )
|
||||
{
|
||||
// Generate default label based on type and count
|
||||
auto templates = valveTemplateCollection->valveTemplates();
|
||||
int count = static_cast<int>( templates.size() ) + 1;
|
||||
userLabel = QString( "Template %1" ).arg( count );
|
||||
int count = static_cast<int>( valveTemplateCollection->count() ) + 1;
|
||||
userLabel = QString( "Template %1" ).arg( count );
|
||||
}
|
||||
newTemplate->setUserLabel( userLabel );
|
||||
|
||||
@@ -110,7 +109,7 @@ std::expected<caf::PdmObjectHandle*, QString> RimcValveTemplateCollection_add_te
|
||||
newTemplate->setFlowCoefficient( m_flowCoefficient() );
|
||||
|
||||
// Add to collection
|
||||
valveTemplateCollection->addValveTemplate( newTemplate );
|
||||
valveTemplateCollection->addItem( newTemplate );
|
||||
valveTemplateCollection->updateAllRequiredEditors();
|
||||
|
||||
return newTemplate;
|
||||
|
||||
Reference in New Issue
Block a user