mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2856 Menus. Import case directly into group
This commit is contained in:
@@ -76,6 +76,14 @@ void RicImportEnsembleFeature::onActionTriggered(bool isChecked)
|
||||
RicImportSummaryCasesFeature::addSummaryCases(cases);
|
||||
RicCreateSummaryCaseCollectionFeature::groupSummaryCases(cases, ensembleName);
|
||||
|
||||
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||
if (mainPlotWindow && !cases.empty())
|
||||
{
|
||||
mainPlotWindow->selectAsCurrentItem(cases.back());
|
||||
|
||||
mainPlotWindow->updateSummaryPlotToolBar();
|
||||
}
|
||||
|
||||
std::vector<RimCase*> allCases;
|
||||
app->project()->allCases(allCases);
|
||||
|
||||
|
||||
@@ -76,10 +76,19 @@ void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked)
|
||||
std::vector<RimSummaryCase*> newCases;
|
||||
if (RicImportSummaryCasesFeature::createAndAddSummaryCasesFromFiles(fileNames, &newCases))
|
||||
{
|
||||
RicImportSummaryCasesFeature::addCasesToGroupIfRelevant(newCases);
|
||||
for (const RimSummaryCase* newCase : newCases)
|
||||
{
|
||||
RiaApplication::instance()->addToRecentFiles(newCase->summaryHeaderFilename());
|
||||
}
|
||||
|
||||
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||
if (mainPlotWindow && !newCases.empty())
|
||||
{
|
||||
mainPlotWindow->selectAsCurrentItem(newCases.back());
|
||||
|
||||
mainPlotWindow->updateSummaryPlotToolBar();
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<RimCase*> cases;
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
#include "RimSummaryCaseMainCollection.h"
|
||||
#include "RimSummaryPlotCollection.h"
|
||||
|
||||
@@ -40,6 +41,7 @@
|
||||
#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h"
|
||||
|
||||
#include "cafProgressInfo.h"
|
||||
#include "cafSelectionManagerTools.h"
|
||||
|
||||
#include <QAction>
|
||||
#include <QFileDialog>
|
||||
@@ -75,8 +77,18 @@ void RicImportSummaryCasesFeature::onActionTriggered(bool isChecked)
|
||||
|
||||
addSummaryCases(cases);
|
||||
|
||||
addCasesToGroupIfRelevant(cases);
|
||||
|
||||
for (const auto& rimCase : cases) RiaApplication::instance()->addToRecentFiles(rimCase->summaryHeaderFilename());
|
||||
|
||||
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||
if (mainPlotWindow && !cases.empty())
|
||||
{
|
||||
mainPlotWindow->selectAsCurrentItem(cases.back());
|
||||
|
||||
mainPlotWindow->updateSummaryPlotToolBar();
|
||||
}
|
||||
|
||||
std::vector<RimCase*> allCases;
|
||||
app->project()->allCases(allCases);
|
||||
|
||||
@@ -154,13 +166,30 @@ void RicImportSummaryCasesFeature::addSummaryCases(const std::vector<RimSummaryC
|
||||
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
||||
sumCaseColl->addCases(cases);
|
||||
sumCaseColl->updateAllRequiredEditors();
|
||||
}
|
||||
|
||||
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||
if (mainPlotWindow && !cases.empty())
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicImportSummaryCasesFeature::addCasesToGroupIfRelevant(const std::vector<RimSummaryCase*> cases)
|
||||
{
|
||||
std::vector<RimSummaryCaseCollection*> selectedColl = caf::selectedObjectsByTypeStrict<RimSummaryCaseCollection*>();
|
||||
|
||||
if (selectedColl.size() == 1)
|
||||
{
|
||||
mainPlotWindow->selectAsCurrentItem(cases.back());
|
||||
RimSummaryCaseCollection* coll = selectedColl.front();
|
||||
RimSummaryCaseMainCollection* mainColl;
|
||||
coll->firstAncestorOrThisOfType(mainColl);
|
||||
|
||||
mainPlotWindow->updateSummaryPlotToolBar();
|
||||
if (mainColl)
|
||||
{
|
||||
for (const auto sumCase : cases)
|
||||
{
|
||||
mainColl->removeCase(sumCase);
|
||||
selectedColl.front()->addCase(sumCase);
|
||||
}
|
||||
mainColl->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ public:
|
||||
static bool createAndAddSummaryCasesFromFiles(const QStringList& fileName, std::vector<RimSummaryCase*>* newCases = nullptr);
|
||||
static bool createSummaryCasesFromFiles(const QStringList& fileName, std::vector<RimSummaryCase*>* newCases);
|
||||
static void addSummaryCases(const std::vector<RimSummaryCase*> cases);
|
||||
static void addCasesToGroupIfRelevant(const std::vector<RimSummaryCase*> cases);
|
||||
|
||||
static QStringList runRecursiveSummaryCaseFileSearchDialog(const QString& dialogTitle);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user