#1947 RFT/PLT Plot: Update curve auto name

This commit is contained in:
Rebecca Cox 2017-10-06 14:38:20 +02:00
parent 02940992be
commit 21f07d186f
3 changed files with 34 additions and 3 deletions

View File

@ -91,6 +91,8 @@ RimEclipseResultCase::RimEclipseResultCase()
m_activeCellInfoIsReadFromFile = false; m_activeCellInfoIsReadFromFile = false;
m_gridAndWellDataIsReadFromFile = false; m_gridAndWellDataIsReadFromFile = false;
m_caseName = "";
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -203,8 +205,12 @@ bool RimEclipseResultCase::importGridAndResultMetaData(bool showTimeStepFilter)
QStringList fileSplitOnDot = caseFileName().split("."); QStringList fileSplitOnDot = caseFileName().split(".");
if (fileSplitOnDot.size() == 2) if (fileSplitOnDot.size() == 2)
{ {
QStringList fileSplitOnBackSlash = fileSplitOnDot[0].split("\\");
m_caseName = fileSplitOnBackSlash.back();
QString rftFile = fileSplitOnDot[0] + ".RFT"; QString rftFile = fileSplitOnDot[0] + ".RFT";
std::string rftFileStdString = rftFile.toStdString(); std::string rftFileStdString = rftFile.toStdString();
if (std::ifstream(rftFileStdString.c_str())) if (std::ifstream(rftFileStdString.c_str()))
{ {
m_readerEclipseRft = new RifReaderEclipseRft(rftFileStdString); m_readerEclipseRft = new RifReaderEclipseRft(rftFileStdString);

View File

@ -65,6 +65,8 @@ public:
RifReaderEclipseRft* rftReader(); RifReaderEclipseRft* rftReader();
QString caseName() const { return m_caseName; }
protected: protected:
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute);
@ -88,6 +90,7 @@ private:
caf::PdmChildArrayField<RimFlowDiagSolution*> m_flowDiagSolutions; caf::PdmChildArrayField<RimFlowDiagSolution*> m_flowDiagSolutions;
caf::PdmField<QString> m_sourSimFileName; caf::PdmField<QString> m_sourSimFileName;
QString m_caseName;
// Obsolete field // Obsolete field
caf::PdmField<QString> caseDirectory; caf::PdmField<QString> caseDirectory;

View File

@ -139,7 +139,28 @@ RifEclipseRftAddress RimWellLogRftCurve::rftAddress() const
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RimWellLogRftCurve::createCurveAutoName() QString RimWellLogRftCurve::createCurveAutoName()
{ {
QString name = wellName() + ": " + wellLogChannelName(); QString name;
if (m_eclipseResultCase)
{
name += m_eclipseResultCase->caseName();
}
if (wellName() != "")
{
name += ", ";
name += wellName();
}
if (wellLogChannelName() != caf::AppEnum<RifEclipseRftAddress::RftWellLogChannelName>::text(RifEclipseRftAddress::NONE))
{
name += ", ";
RifEclipseRftAddress::RftWellLogChannelName channelNameEnum = caf::AppEnum<RifEclipseRftAddress::RftWellLogChannelName>::fromText(wellLogChannelName());
name += caf::AppEnum<RifEclipseRftAddress::RftWellLogChannelName>::uiText(channelNameEnum);
}
if ( !m_timeStep().isNull())
{
QString dateFormat = "dd MMM yyyy";
name += ", ";
name += m_timeStep().toString(dateFormat);
}
return name; return name;
} }
@ -251,10 +272,11 @@ QList<caf::PdmOptionItemInfo> RimWellLogRftCurve::calculateValueOptions(const ca
RifReaderEclipseRft* reader = rftReader(); RifReaderEclipseRft* reader = rftReader();
if (reader) if (reader)
{ {
QString dateFormat = "dd MMM yyyy";
std::vector<QDateTime> timeStamps = reader->availableTimeSteps(m_wellName, m_wellLogChannelName()); std::vector<QDateTime> timeStamps = reader->availableTimeSteps(m_wellName, m_wellLogChannelName());
for (const QDateTime& dt : timeStamps) for (const QDateTime& dt : timeStamps)
{ {
options.push_back(caf::PdmOptionItemInfo(dt.toString(), dt)); options.push_back(caf::PdmOptionItemInfo(dt.toString(dateFormat), dt));
} }
} }