#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(); 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 (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; std::vector<caf::PdmFieldHandle*> referringFields;
this->referringPtrFields(referringFields); this->referringPtrFields(referringFields);
for (caf::PdmFieldHandle* field : 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 /*= ""*/) void RimValveTemplate::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName /*= ""*/)
{ {
this->setName(fullLabel()); 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(); void setDefaultValuesFromUnits();
RiaDefines::WellPathComponentType type() const; RiaDefines::WellPathComponentType type() const;
void setType(RiaDefines::WellPathComponentType type);
RiaEclipseUnitTools::UnitSystemType templateUnits() const; RiaEclipseUnitTools::UnitSystemType templateUnits() const;
double orificeDiameter() const; double orificeDiameter() const;
double flowCoefficient() const; double flowCoefficient() const;

View File

@ -36,6 +36,7 @@ RimValveTemplateCollection::RimValveTemplateCollection()
CAF_PDM_InitFieldNoDefault(&m_defaultUnitsForValveTemplates, "ValveUnits", "Default unit system for valve templates", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_defaultUnitsForValveTemplates, "ValveUnits", "Default unit system for valve templates", "", "", "");
m_defaultUnitsForValveTemplates = RiaEclipseUnitTools::UNITS_METRIC; m_defaultUnitsForValveTemplates = RiaEclipseUnitTools::UNITS_METRIC;
m_valveDefinitions.uiCapability()->setUiHidden(true); 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; std::vector<RimValveTemplate*> valveTemplates() const;
void addValveTemplate(RimValveTemplate* valveTemplate); void addValveTemplate(RimValveTemplate* valveTemplate);
void removeAndDeleteValveTemplate(RimValveTemplate* valveTemplate); void removeAndDeleteValveTemplate(RimValveTemplate* valveTemplate);
void addDefaultValveTemplates();
RiaEclipseUnitTools::UnitSystemType defaultUnitSystemType() const; RiaEclipseUnitTools::UnitSystemType defaultUnitSystemType() const;
void setDefaultUnitSystemBasedOnLoadedCases(); void setDefaultUnitSystemBasedOnLoadedCases();
private: private:
caf::PdmChildArrayField<RimValveTemplate*> m_valveDefinitions; caf::PdmChildArrayField<RimValveTemplate*> m_valveDefinitions;
caf::PdmField< RiaEclipseUnitTools::UnitSystemType > m_defaultUnitsForValveTemplates; caf::PdmField<RiaEclipseUnitTools::UnitSystemType> m_defaultUnitsForValveTemplates;
}; };

View File

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