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);
|
RicImportSummaryCasesFeature::addSummaryCases(cases);
|
||||||
RicCreateSummaryCaseCollectionFeature::groupSummaryCases(cases, ensembleName);
|
RicCreateSummaryCaseCollectionFeature::groupSummaryCases(cases, ensembleName);
|
||||||
|
|
||||||
|
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||||
|
if (mainPlotWindow && !cases.empty())
|
||||||
|
{
|
||||||
|
mainPlotWindow->selectAsCurrentItem(cases.back());
|
||||||
|
|
||||||
|
mainPlotWindow->updateSummaryPlotToolBar();
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<RimCase*> allCases;
|
std::vector<RimCase*> allCases;
|
||||||
app->project()->allCases(allCases);
|
app->project()->allCases(allCases);
|
||||||
|
|
||||||
|
|||||||
@@ -76,10 +76,19 @@ void RicImportSummaryCaseFeature::onActionTriggered(bool isChecked)
|
|||||||
std::vector<RimSummaryCase*> newCases;
|
std::vector<RimSummaryCase*> newCases;
|
||||||
if (RicImportSummaryCasesFeature::createAndAddSummaryCasesFromFiles(fileNames, &newCases))
|
if (RicImportSummaryCasesFeature::createAndAddSummaryCasesFromFiles(fileNames, &newCases))
|
||||||
{
|
{
|
||||||
|
RicImportSummaryCasesFeature::addCasesToGroupIfRelevant(newCases);
|
||||||
for (const RimSummaryCase* newCase : newCases)
|
for (const RimSummaryCase* newCase : newCases)
|
||||||
{
|
{
|
||||||
RiaApplication::instance()->addToRecentFiles(newCase->summaryHeaderFilename());
|
RiaApplication::instance()->addToRecentFiles(newCase->summaryHeaderFilename());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RiuPlotMainWindow* mainPlotWindow = app->getOrCreateAndShowMainPlotWindow();
|
||||||
|
if (mainPlotWindow && !newCases.empty())
|
||||||
|
{
|
||||||
|
mainPlotWindow->selectAsCurrentItem(newCases.back());
|
||||||
|
|
||||||
|
mainPlotWindow->updateSummaryPlotToolBar();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<RimCase*> cases;
|
std::vector<RimCase*> cases;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
#include "RimOilField.h"
|
#include "RimOilField.h"
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimSummaryCase.h"
|
#include "RimSummaryCase.h"
|
||||||
|
#include "RimSummaryCaseCollection.h"
|
||||||
#include "RimSummaryCaseMainCollection.h"
|
#include "RimSummaryCaseMainCollection.h"
|
||||||
#include "RimSummaryPlotCollection.h"
|
#include "RimSummaryPlotCollection.h"
|
||||||
|
|
||||||
@@ -40,6 +41,7 @@
|
|||||||
#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h"
|
#include "SummaryPlotCommands/RicNewSummaryPlotFeature.h"
|
||||||
|
|
||||||
#include "cafProgressInfo.h"
|
#include "cafProgressInfo.h"
|
||||||
|
#include "cafSelectionManagerTools.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
@@ -75,8 +77,18 @@ void RicImportSummaryCasesFeature::onActionTriggered(bool isChecked)
|
|||||||
|
|
||||||
addSummaryCases(cases);
|
addSummaryCases(cases);
|
||||||
|
|
||||||
|
addCasesToGroupIfRelevant(cases);
|
||||||
|
|
||||||
for (const auto& rimCase : cases) RiaApplication::instance()->addToRecentFiles(rimCase->summaryHeaderFilename());
|
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;
|
std::vector<RimCase*> allCases;
|
||||||
app->project()->allCases(allCases);
|
app->project()->allCases(allCases);
|
||||||
|
|
||||||
@@ -154,13 +166,30 @@ void RicImportSummaryCasesFeature::addSummaryCases(const std::vector<RimSummaryC
|
|||||||
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
RimSummaryCaseMainCollection* sumCaseColl = proj->activeOilField() ? proj->activeOilField()->summaryCaseMainCollection() : nullptr;
|
||||||
sumCaseColl->addCases(cases);
|
sumCaseColl->addCases(cases);
|
||||||
sumCaseColl->updateAllRequiredEditors();
|
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 createAndAddSummaryCasesFromFiles(const QStringList& fileName, std::vector<RimSummaryCase*>* newCases = nullptr);
|
||||||
static bool createSummaryCasesFromFiles(const QStringList& fileName, std::vector<RimSummaryCase*>* newCases);
|
static bool createSummaryCasesFromFiles(const QStringList& fileName, std::vector<RimSummaryCase*>* newCases);
|
||||||
static void addSummaryCases(const std::vector<RimSummaryCase*> cases);
|
static void addSummaryCases(const std::vector<RimSummaryCase*> cases);
|
||||||
|
static void addCasesToGroupIfRelevant(const std::vector<RimSummaryCase*> cases);
|
||||||
|
|
||||||
static QStringList runRecursiveSummaryCaseFileSearchDialog(const QString& dialogTitle);
|
static QStringList runRecursiveSummaryCaseFileSearchDialog(const QString& dialogTitle);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user