diff --git a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.cpp b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.cpp index ee4dcb92ba..a258489f66 100644 --- a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.cpp +++ b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.cpp @@ -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; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -205,7 +215,7 @@ void RimValveTemplate::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering caf::PdmUiGroup* group = uiOrdering.addNewGroup("MSW AICD Parameters"); m_aicdParameters->uiOrdering(uiConfigName, *group); } - + bool readOnly = uiConfigName == QString("InsideValve"); m_type.uiCapability()->setUiReadOnly(readOnly); m_userLabel.uiCapability()->setUiReadOnly(readOnly); @@ -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 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")); + } + } diff --git a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.h b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.h index aa61c6f90a..e978c3424d 100644 --- a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.h +++ b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplate.h @@ -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; diff --git a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.cpp b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.cpp index d42368ac35..54ecdfe785 100644 --- a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.cpp @@ -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); +} diff --git a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.h b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.h index a6bfe3f814..0e2c79c98b 100644 --- a/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.h +++ b/ApplicationCode/ProjectDataModel/Completions/RimValveTemplateCollection.h @@ -41,11 +41,12 @@ public: std::vector valveTemplates() const; void addValveTemplate(RimValveTemplate* valveTemplate); void removeAndDeleteValveTemplate(RimValveTemplate* valveTemplate); + void addDefaultValveTemplates(); RiaEclipseUnitTools::UnitSystemType defaultUnitSystemType() const; void setDefaultUnitSystemBasedOnLoadedCases(); private: - caf::PdmChildArrayField m_valveDefinitions; - caf::PdmField< RiaEclipseUnitTools::UnitSystemType > m_defaultUnitsForValveTemplates; + caf::PdmChildArrayField m_valveDefinitions; + caf::PdmField m_defaultUnitsForValveTemplates; }; diff --git a/ApplicationCode/ProjectDataModel/Completions/RimWellPathValve.cpp b/ApplicationCode/ProjectDataModel/Completions/RimWellPathValve.cpp index 3895b851dd..cca684a801 100644 --- a/ApplicationCode/ProjectDataModel/Completions/RimWellPathValve.cpp +++ b/ApplicationCode/ProjectDataModel/Completions/RimWellPathValve.cpp @@ -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"; }