mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2555 Open summary restart dialog if necessary when opening egrid files
This commit is contained in:
@@ -51,6 +51,8 @@ RimGridSummaryCase::RimGridSummaryCase()
|
||||
m_eclipseGridFileName.uiCapability()->setUiReadOnly(true);
|
||||
m_eclipseGridFileName.xmlCapability()->setIOWritable(false);
|
||||
|
||||
CAF_PDM_InitField(&m_includeRestartFiles, "IncludeRestartFiles", false, "Include Restart Files", "", "", "");
|
||||
m_includeRestartFiles.uiCapability()->setUiHidden(true);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -175,7 +177,7 @@ void RimGridSummaryCase::updateFilePathsFromProjectPath(const QString & newProje
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridSummaryCase::createSummaryReaderInterface()
|
||||
{
|
||||
m_summaryFileReader = RimFileSummaryCase::findRelatedFilesAndCreateReader(this->summaryHeaderFilename(), true /* read restart files */);
|
||||
m_summaryFileReader = RimFileSummaryCase::findRelatedFilesAndCreateReader(this->summaryHeaderFilename(), m_includeRestartFiles);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -186,3 +188,11 @@ RifSummaryReaderInterface* RimGridSummaryCase::summaryReader()
|
||||
return m_summaryFileReader.p();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimGridSummaryCase::setIncludeRestartFiles(bool includeRestartFiles)
|
||||
{
|
||||
m_includeRestartFiles = includeRestartFiles;
|
||||
}
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@ public:
|
||||
virtual void createSummaryReaderInterface() override;
|
||||
virtual RifSummaryReaderInterface* summaryReader() override;
|
||||
|
||||
void setIncludeRestartFiles(bool includeRestartFiles);
|
||||
|
||||
private:
|
||||
QString eclipseGridFileName() const;
|
||||
|
||||
@@ -59,4 +61,5 @@ private:
|
||||
caf::PdmProxyValueField<QString> m_eclipseGridFileName;
|
||||
|
||||
cvf::ref<RifReaderEclipseSummary> m_summaryFileReader;
|
||||
caf::PdmField<bool> m_includeRestartFiles;
|
||||
};
|
||||
|
||||
@@ -91,7 +91,7 @@ void RimSummaryCaseMainCollection::createSummaryCasesFromRelevantEclipseResultCa
|
||||
if (!isFound)
|
||||
{
|
||||
// Create new GridSummaryCase
|
||||
createAndAddSummaryCaseFromEclipseResultCase(eclResCase);
|
||||
createAndAddSummaryCasesFromEclipseResultCase(eclResCase);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -265,29 +265,50 @@ void RimSummaryCaseMainCollection::loadAllSummaryCaseData()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCase* RimSummaryCaseMainCollection::createAndAddSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase)
|
||||
std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createAndAddSummaryCasesFromEclipseResultCase(RimEclipseResultCase* eclResCase)
|
||||
{
|
||||
QString gridFileName = eclResCase->gridFileName();
|
||||
QString summaryHeaderFile;
|
||||
bool formatted;
|
||||
std::vector<RimSummaryCase*> sumCases;
|
||||
QString gridFileName = eclResCase->gridFileName();
|
||||
QString summaryHeaderFile;
|
||||
bool formatted;
|
||||
|
||||
RifEclipseSummaryTools::findSummaryHeaderFile(QDir::toNativeSeparators(gridFileName), &summaryHeaderFile, &formatted);
|
||||
|
||||
if(!summaryHeaderFile.isEmpty())
|
||||
{
|
||||
// Activate when after discussing how grid case and summary case(s) are going to be related
|
||||
//
|
||||
//RifSummaryCaseRestartSelector fileSelector;
|
||||
//std::vector<RifSummaryCaseFileInfo> importFileInfos = fileSelector.getFilesToImport(QStringList({ summaryHeaderFile }));
|
||||
RifSummaryCaseRestartSelector fileSelector;
|
||||
std::vector<RifSummaryCaseFileInfo> importFileInfos = fileSelector.getFilesToImport(QStringList({ summaryHeaderFile }));
|
||||
|
||||
RimGridSummaryCase* newSumCase = new RimGridSummaryCase();
|
||||
this->m_cases.push_back(newSumCase);
|
||||
newSumCase->setAssociatedEclipseCase(eclResCase);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
return newSumCase;
|
||||
if (!importFileInfos.empty())
|
||||
{
|
||||
RimGridSummaryCase* newSumCase = new RimGridSummaryCase();
|
||||
|
||||
this->m_cases.push_back(newSumCase);
|
||||
newSumCase->setIncludeRestartFiles(importFileInfos.front().includeRestartFiles);
|
||||
newSumCase->setAssociatedEclipseCase(eclResCase);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
sumCases.push_back(newSumCase);
|
||||
|
||||
// Remove the processed element and add 'orphan' summary cases
|
||||
importFileInfos.erase(importFileInfos.begin());
|
||||
|
||||
for (const RifSummaryCaseFileInfo& fileInfo : importFileInfos)
|
||||
{
|
||||
RimFileSummaryCase* newSumCase = new RimFileSummaryCase();
|
||||
|
||||
this->m_cases.push_back(newSumCase);
|
||||
newSumCase->setIncludeRestartFiles(fileInfo.includeRestartFiles);
|
||||
newSumCase->setSummaryHeaderFileName(fileInfo.fileName);
|
||||
newSumCase->createSummaryReaderInterface();
|
||||
newSumCase->updateOptionSensitivity();
|
||||
|
||||
sumCases.push_back(newSumCase);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return nullptr;
|
||||
return sumCases;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
std::vector<RimSummaryCaseCollection*> summaryCaseCollections() const;
|
||||
|
||||
void createSummaryCasesFromRelevantEclipseResultCases();
|
||||
RimSummaryCase* createAndAddSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase);
|
||||
std::vector<RimSummaryCase*> createAndAddSummaryCasesFromEclipseResultCase(RimEclipseResultCase* eclResCase);
|
||||
std::vector<RimSummaryCase*> createAndAddSummaryCasesFromFiles(const QStringList& inputFileNames);
|
||||
|
||||
RimSummaryCase* findSummaryCaseFromEclipseResultCase(RimEclipseResultCase* eclResCase) const;
|
||||
|
||||
Reference in New Issue
Block a user