#3254 MSW perforations export. Add MSW options to perforations collection class

This commit is contained in:
Bjørn Erik Jensen 2018-09-14 13:12:29 +02:00
parent 43d90aa2e4
commit f3e1dbe838
2 changed files with 39 additions and 0 deletions

View File

@ -25,6 +25,7 @@
#include "RimEclipseCase.h" #include "RimEclipseCase.h"
#include "RimPerforationInterval.h" #include "RimPerforationInterval.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimMswCompletionParameters.h"
#include "RigWellPath.h" #include "RigWellPath.h"
@ -47,6 +48,11 @@ RimPerforationCollection::RimPerforationCollection()
CAF_PDM_InitFieldNoDefault(&m_perforations, "Perforations", "Perforations", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_perforations, "Perforations", "Perforations", "", "", "");
m_perforations.uiCapability()->setUiHidden(true); m_perforations.uiCapability()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_mswParameters, "MswParameters", "Multi Segment Well Parameters", "", "", "");
m_mswParameters = new RimMswCompletionParameters;
m_mswParameters.uiCapability()->setUiTreeHidden(true);
m_mswParameters.uiCapability()->setUiTreeChildrenHidden(true);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -57,6 +63,32 @@ RimPerforationCollection::~RimPerforationCollection()
m_perforations.deleteAllChildObjects(); m_perforations.deleteAllChildObjects();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const RimMswCompletionParameters* RimPerforationCollection::mswParameters() const
{
return m_mswParameters;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::setUnitSystemSpecificDefaults()
{
m_mswParameters->setUnitSystemSpecificDefaults();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimPerforationCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
caf::PdmUiGroup* mswGroup = uiOrdering.addNewGroup("Multi Segment Well Options");
m_mswParameters->uiOrdering(uiConfigName, *mswGroup);
uiOrdering.skipRemainingFields(true);
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -22,10 +22,12 @@
#include "RimCheckableNamedObject.h" #include "RimCheckableNamedObject.h"
#include "cafPdmObject.h" #include "cafPdmObject.h"
#include "cafPdmChildField.h"
#include "cafPdmChildArrayField.h" #include "cafPdmChildArrayField.h"
#include "cafPdmField.h" #include "cafPdmField.h"
class RimPerforationInterval; class RimPerforationInterval;
class RimMswCompletionParameters;
//================================================================================================== //==================================================================================================
// //
@ -40,13 +42,18 @@ public:
RimPerforationCollection(); RimPerforationCollection();
~RimPerforationCollection(); ~RimPerforationCollection();
const RimMswCompletionParameters* mswParameters() const;
void setUnitSystemSpecificDefaults();
void appendPerforation(RimPerforationInterval* perforation); void appendPerforation(RimPerforationInterval* perforation);
std::vector<const RimPerforationInterval*> perforations() const; std::vector<const RimPerforationInterval*> perforations() const;
private:
void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
friend class RiuEditPerforationCollectionWidget; friend class RiuEditPerforationCollectionWidget;
private: private:
caf::PdmChildArrayField<RimPerforationInterval*> m_perforations; caf::PdmChildArrayField<RimPerforationInterval*> m_perforations;
caf::PdmChildField<RimMswCompletionParameters*> m_mswParameters;
}; };