#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 "RimPerforationInterval.h"
#include "RimProject.h"
#include "RimMswCompletionParameters.h"
#include "RigWellPath.h"
@ -47,6 +48,11 @@ RimPerforationCollection::RimPerforationCollection()
CAF_PDM_InitFieldNoDefault(&m_perforations, "Perforations", "Perforations", "", "", "");
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();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
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 "cafPdmObject.h"
#include "cafPdmChildField.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
class RimPerforationInterval;
class RimMswCompletionParameters;
//==================================================================================================
//
@ -40,13 +42,18 @@ public:
RimPerforationCollection();
~RimPerforationCollection();
const RimMswCompletionParameters* mswParameters() const;
void setUnitSystemSpecificDefaults();
void appendPerforation(RimPerforationInterval* perforation);
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);
friend class RiuEditPerforationCollectionWidget;
private:
caf::PdmChildArrayField<RimPerforationInterval*> m_perforations;
caf::PdmChildField<RimMswCompletionParameters*> m_mswParameters;
};