#4304 Add pre-defined templates for each valve type and fix icons and labels.

This commit is contained in:
Gaute Lindkvist 2019-04-09 12:32:36 +02:00
parent 6e88cecbb2
commit cd870f089b
5 changed files with 83 additions and 18 deletions

View File

@ -98,6 +98,16 @@ RiaDefines::WellPathComponentType RimValveTemplate::type() const
return m_type();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimValveTemplate::setType(RiaDefines::WellPathComponentType type)
{
CAF_ASSERT(type == RiaDefines::ICD || type == RiaDefines::AICD || RiaDefines::ICV);
m_type = type;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@ -228,19 +238,6 @@ void RimValveTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
}
if (changedField == &m_type)
{
if (m_type() == RiaDefines::ICV)
{
this->setUiIcon(QIcon(":/ICVValve16x16.png"));
}
else if (m_type() == RiaDefines::ICD)
{
this->setUiIcon(QIcon(":/ICDValve16x16.png"));
}
else if (m_type() == RiaDefines::AICD)
{
this->setUiIcon(QIcon(":/AICDValve16x16.png"));
}
std::vector<caf::PdmFieldHandle*> referringFields;
this->referringPtrFields(referringFields);
for (caf::PdmFieldHandle* field : referringFields)
@ -257,4 +254,17 @@ void RimValveTemplate::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
void RimValveTemplate::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/)
{
this->setName(fullLabel());
if (m_type() == RiaDefines::ICV)
{
this->setUiIcon(QIcon(":/ICVValve16x16.png"));
}
else if (m_type() == RiaDefines::ICD)
{
this->setUiIcon(QIcon(":/ICDValve16x16.png"));
}
else if (m_type() == RiaDefines::AICD)
{
this->setUiIcon(QIcon(":/AICDValve16x16.png"));
}
}

View File

@ -40,6 +40,7 @@ public:
void setDefaultValuesFromUnits();
RiaDefines::WellPathComponentType type() const;
void setType(RiaDefines::WellPathComponentType type);
RiaEclipseUnitTools::UnitSystemType templateUnits() const;
double orificeDiameter() const;
double flowCoefficient() const;

View File

@ -36,6 +36,7 @@ RimValveTemplateCollection::RimValveTemplateCollection()
CAF_PDM_InitFieldNoDefault(&m_defaultUnitsForValveTemplates, "ValveUnits", "Default unit system for valve templates", "", "", "");
m_defaultUnitsForValveTemplates = RiaEclipseUnitTools::UNITS_METRIC;
m_valveDefinitions.uiCapability()->setUiHidden(true);
addDefaultValveTemplates();
}
//--------------------------------------------------------------------------------------------------
@ -97,3 +98,24 @@ void RimValveTemplateCollection::setDefaultUnitSystemBasedOnLoadedCases()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimValveTemplateCollection::addDefaultValveTemplates()
{
RimValveTemplate* aicd = new RimValveTemplate;
aicd->setType(RiaDefines::AICD);
aicd->setUserLabel("Valve Template #1");
RimValveTemplate* icd = new RimValveTemplate;
icd->setType(RiaDefines::ICD);
icd->setUserLabel("Valve Template #2");
RimValveTemplate* icv = new RimValveTemplate;
icv->setType(RiaDefines::ICV);
icv->setUserLabel("Valve Template #3");
addValveTemplate(aicd);
addValveTemplate(icd);
addValveTemplate(icv);
}

View File

@ -41,11 +41,12 @@ public:
std::vector<RimValveTemplate*> valveTemplates() const;
void addValveTemplate(RimValveTemplate* valveTemplate);
void removeAndDeleteValveTemplate(RimValveTemplate* valveTemplate);
void addDefaultValveTemplates();
RiaEclipseUnitTools::UnitSystemType defaultUnitSystemType() const;
void setDefaultUnitSystemBasedOnLoadedCases();
private:
caf::PdmChildArrayField<RimValveTemplate*> m_valveDefinitions;
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > m_defaultUnitsForValveTemplates;
caf::PdmChildArrayField<RimValveTemplate*> m_valveDefinitions;
caf::PdmField<RiaEclipseUnitTools::UnitSystemType> m_defaultUnitsForValveTemplates;
};

View File

@ -318,12 +318,31 @@ RiaDefines::WellPathComponentType RimWellPathValve::componentType() const
//--------------------------------------------------------------------------------------------------
QString RimWellPathValve::componentLabel() const
{
if (componentType() == RiaDefines::ICD || componentType() == RiaDefines::AICD)
if (componentType() == RiaDefines::ICD)
{
if (m_multipleValveLocations->valveLocations().size() > 1)
{
return "Valves";
return "ICDs";
}
else
{
return "ICD";
}
}
else if (componentType() == RiaDefines::AICD)
{
if (m_multipleValveLocations->valveLocations().size() > 1)
{
return "AICDs";
}
else
{
return "AICD";
}
}
else if (componentType() == RiaDefines::ICV)
{
return "ICV";
}
return "Valve";
}
@ -333,6 +352,18 @@ QString RimWellPathValve::componentLabel() const
//--------------------------------------------------------------------------------------------------
QString RimWellPathValve::componentTypeLabel() const
{
if (componentType() == RiaDefines::ICD)
{
return "ICD";
}
else if (componentType() == RiaDefines::AICD)
{
return "AICD";
}
else if (componentType() == RiaDefines::ICV)
{
return "ICV";
}
return "Valve";
}