#2555 Handle import to separate cases

This commit is contained in:
Bjørn Erik Jensen
2018-03-19 11:02:22 +01:00
parent 8889bdf6d4
commit 2a84cb6ddf
10 changed files with 186 additions and 106 deletions

View File

@@ -21,7 +21,7 @@
#include "RiaApplication.h"
#include "RiaPreferences.h"
#include "RicSummaryCaseRestartDialog.h"
#include "RicImportSummaryCasesFeature.h"
#include "RimGridSummaryCase.h"
#include "RimMainPlotCollection.h"
@@ -61,15 +61,11 @@ void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked)
// Remember the path to next time
app->setLastUsedDialogDirectory("INPUT_FILES", QFileInfo(fileNames.last()).absolutePath());
RimProject* proj = app->project();
if (fileNames.isEmpty()) return;
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
if (!sumCaseColl) return;
std::vector<RicSummaryCaseFileInfo> fileInfos = RicImportSummaryCasesFeature::getFilesToImportWithDialog(fileNames, true);
for (auto f : fileNames)
{
RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(f);
}
RicImportSummaryCasesFeature::createAndAddSummaryCaseFromFileInfo(fileInfos);
std::vector<RimCase*> cases;
app->project()->allCases(cases);
@@ -88,34 +84,3 @@ void RicImportSummaryCaseFeature::setupActionLook(QAction* actionToSetup)
actionToSetup->setIcon(QIcon(":/SummaryCase48x48.png"));
actionToSetup->setText("Import Summary Case");
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicImportSummaryCaseFeature::createAndAddSummaryCaseFromFile(const QString& fileName)
{
RiaApplication* app = RiaApplication::instance();
RimProject* proj = app->project();
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
if (!sumCaseColl) return false;
RicSummaryCaseRestartDialogResult result = RicSummaryCaseRestartDialog::openDialog(fileName, false);
if (result.ok)
{
RimSummaryCase* sumCase = sumCaseColl->createAndAddSummaryCaseFromFileName(fileName, result.option == RicSummaryCaseRestartDialog::READ_ALL);
sumCaseColl->updateAllRequiredEditors();
RiuMainPlotWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
if (mainPlotWindow)
{
mainPlotWindow->selectAsCurrentItem(sumCase);
mainPlotWindow->updateSummaryPlotToolBar();
}
app->addToRecentFiles(fileName);
}
return true;
}