diff --git a/ApplicationCode/ProjectDataModel/RimObservedData.cpp b/ApplicationCode/ProjectDataModel/RimObservedData.cpp index 49bec159f5..6433e0ef0b 100644 --- a/ApplicationCode/ProjectDataModel/RimObservedData.cpp +++ b/ApplicationCode/ProjectDataModel/RimObservedData.cpp @@ -17,20 +17,56 @@ ///////////////////////////////////////////////////////////////////////////////// #include "RimObservedData.h" +#include "RimTools.h" + +#include CAF_PDM_SOURCE_INIT(RimObservedData, "ObservedData"); + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RimObservedData::RimObservedData() { - CAF_PDM_InitObject("Observed data file", ":/Default.png", "", ""); + m_isObservedData = true; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QString RimObservedData::summaryHeaderFilename() const +{ + return m_summaryHeaderFilename(); +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimObservedData::setSummaryHeaderFilename(const QString& fileName) +{ + m_summaryHeaderFilename = fileName; + + this->updateAutoShortName(); + this->updateTreeItemName(); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimObservedData::~RimObservedData() +QString RimObservedData::caseName() { + QFileInfo caseFileName(this->summaryHeaderFilename()); + + return caseFileName.completeBaseName(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimObservedData::updateFilePathsFromProjectPath(const QString & newProjectPath, const QString & oldProjectPath) +{ + m_summaryHeaderFilename = RimTools::relocateFile(m_summaryHeaderFilename(), newProjectPath, oldProjectPath, nullptr, nullptr); } \ No newline at end of file diff --git a/ApplicationCode/ProjectDataModel/RimObservedData.h b/ApplicationCode/ProjectDataModel/RimObservedData.h index 9d5acd6235..35bca7d16a 100644 --- a/ApplicationCode/ProjectDataModel/RimObservedData.h +++ b/ApplicationCode/ProjectDataModel/RimObservedData.h @@ -16,18 +16,26 @@ // ///////////////////////////////////////////////////////////////////////////////// +#pragma once +#include "RimSummaryCase.h" + +#include "cafPdmField.h" #include "cafPdmObject.h" +#include "cvfObject.h" + +class RigObservedData; //================================================================================================== // //================================================================================================== -class RimObservedData : public caf::PdmObject +class RimObservedData : public RimSummaryCase { CAF_PDM_HEADER_INIT; public: RimObservedData(); - ~RimObservedData(); - -private: + void setSummaryHeaderFilename(const QString& fileName); + virtual QString summaryHeaderFilename() const override; + virtual QString caseName() override; + virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) override; }; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp index aec8824827..bcbeac920e 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.cpp @@ -41,6 +41,8 @@ RimSummaryCase::RimSummaryCase() CAF_PDM_InitFieldNoDefault(&m_summaryHeaderFilename, "SummaryHeaderFilename", "Summary Header File", "", "", ""); m_summaryHeaderFilename.uiCapability()->setUiReadOnly(true); + + CAF_PDM_InitField(&m_isObservedData, "IsObservedData", false, "", "", "", ""); } //-------------------------------------------------------------------------------------------------- @@ -78,6 +80,14 @@ RigSummaryCaseData* RimSummaryCase::caseData() return m_summaryCaseData.p(); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RimSummaryCase::isObservedData() +{ + return m_isObservedData(); +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h index fa25ac685e..b7f530ddd4 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCase.h @@ -51,6 +51,8 @@ public: virtual void updateFilePathsFromProjectPath(const QString& newProjectPath, const QString& oldProjectPath) = 0; + bool isObservedData(); + protected: void updateTreeItemName(); @@ -59,6 +61,7 @@ protected: caf::PdmField m_summaryHeaderFilename; cvf::ref m_summaryCaseData; + caf::PdmField m_isObservedData; private: // Overridden PDM methods