mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1970 WLP: Update property and timestep on UI change of well name
This commit is contained in:
@@ -165,6 +165,43 @@ void RimWellLogRftCurve::setDefaultAddress(QString wellName)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimWellLogRftCurve::updateWellChannelNameAndTimeStep()
|
||||||
|
{
|
||||||
|
if (!m_timeStep().isValid() || m_wellLogChannelName() == RifEclipseRftAddress::NONE)
|
||||||
|
{
|
||||||
|
setDefaultAddress(m_wellName);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RifReaderEclipseRft* reader = rftReader();
|
||||||
|
if (!reader) return;
|
||||||
|
|
||||||
|
std::vector<QDateTime> timeSteps = reader->availableTimeSteps(m_wellName, m_wellLogChannelName());
|
||||||
|
|
||||||
|
if (timeSteps.empty())
|
||||||
|
{
|
||||||
|
m_timeStep = QDateTime();
|
||||||
|
}
|
||||||
|
else if (std::find(timeSteps.begin(), timeSteps.end(), m_timeStep()) == timeSteps.end())
|
||||||
|
{
|
||||||
|
m_timeStep = timeSteps[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<RifEclipseRftAddress::RftWellLogChannelName> channelNames = reader->availableWellLogChannels(m_wellName);
|
||||||
|
|
||||||
|
if (channelNames.empty())
|
||||||
|
{
|
||||||
|
m_wellLogChannelName = RifEclipseRftAddress::NONE;
|
||||||
|
}
|
||||||
|
else if (std::find(channelNames.begin(), channelNames.end(), m_wellLogChannelName()) == channelNames.end())
|
||||||
|
{
|
||||||
|
m_wellLogChannelName = RifEclipseRftAddress::PRESSURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -325,10 +362,15 @@ void RimWellLogRftCurve::fieldChangedByUi(const caf::PdmFieldHandle* changedFiel
|
|||||||
RimWellLogCurve::fieldChangedByUi(changedField, oldValue, newValue);
|
RimWellLogCurve::fieldChangedByUi(changedField, oldValue, newValue);
|
||||||
if (changedField == &m_eclipseResultCase)
|
if (changedField == &m_eclipseResultCase)
|
||||||
{
|
{
|
||||||
|
m_timeStep = QDateTime();
|
||||||
|
m_wellName = "";
|
||||||
|
m_wellLogChannelName = RifEclipseRftAddress::NONE;
|
||||||
|
|
||||||
this->loadDataAndUpdate(true);
|
this->loadDataAndUpdate(true);
|
||||||
}
|
}
|
||||||
else if (changedField == &m_wellName)
|
else if (changedField == &m_wellName)
|
||||||
{
|
{
|
||||||
|
updateWellChannelNameAndTimeStep();
|
||||||
this->loadDataAndUpdate(true);
|
this->loadDataAndUpdate(true);
|
||||||
}
|
}
|
||||||
else if (changedField == &m_wellLogChannelName)
|
else if (changedField == &m_wellLogChannelName)
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ public:
|
|||||||
RifEclipseRftAddress rftAddress() const;
|
RifEclipseRftAddress rftAddress() const;
|
||||||
|
|
||||||
void setDefaultAddress(QString wellName);
|
void setDefaultAddress(QString wellName);
|
||||||
|
void updateWellChannelNameAndTimeStep();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Overrides from RimWellLogPlotCurve
|
// Overrides from RimWellLogPlotCurve
|
||||||
|
|||||||
Reference in New Issue
Block a user