mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-03 04:00:57 -06:00
#1840 Summary case: Simplified code based on user input
This commit is contained in:
parent
c60465b380
commit
d1561936b3
@ -54,11 +54,6 @@ void RicDeleteSummaryCaseCollectionFeature::deleteSummaryCaseCollection(RimSumma
|
||||
}
|
||||
|
||||
summaryPlotColl->updateConnectedEditors();
|
||||
|
||||
/*RimSummaryCaseMainCollection* summaryCaseMainCollection = nullptr;
|
||||
caseCollection->firstAncestorOrThisOfTypeAsserted(summaryCaseMainCollection);
|
||||
summaryCaseMainCollection->removeCaseCollection(caseCollection);
|
||||
delete caseCollection;*/
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -79,22 +74,49 @@ void RicDeleteSummaryCaseCollectionFeature::onActionTriggered(bool isChecked)
|
||||
{
|
||||
std::vector<RimSummaryCaseCollection*> selection;
|
||||
caf::SelectionManager::instance()->objectsByType(&selection);
|
||||
|
||||
bool userConfirmedClosingOfGroup = askUserWhereToPutTheSummaryCases(selection);
|
||||
if (selection.size() == 0) return;
|
||||
|
||||
if (userConfirmedClosingOfGroup)
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Question);
|
||||
|
||||
QString questionText;
|
||||
questionText = QString("Do you also want to close the summary cases in the group?");
|
||||
|
||||
msgBox.setText(questionText);
|
||||
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
|
||||
|
||||
int ret = msgBox.exec();
|
||||
|
||||
if (ret == QMessageBox::Cancel)
|
||||
{
|
||||
RimSummaryCaseMainCollection* summaryCaseMainCollection = nullptr;
|
||||
selection[0]->firstAncestorOrThisOfTypeAsserted(summaryCaseMainCollection);
|
||||
|
||||
for (RimSummaryCaseCollection* caseCollection : selection)
|
||||
{
|
||||
summaryCaseMainCollection->removeCaseCollection(caseCollection);
|
||||
delete caseCollection;
|
||||
}
|
||||
|
||||
summaryCaseMainCollection->updateConnectedEditors();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ret == QMessageBox::Yes)
|
||||
{
|
||||
for (RimSummaryCaseCollection* summaryCaseCollection : selection)
|
||||
{
|
||||
RicDeleteSummaryCaseCollectionFeature::deleteSummaryCaseCollection(summaryCaseCollection);
|
||||
}
|
||||
}
|
||||
else if (ret == QMessageBox::No)
|
||||
{
|
||||
for (RimSummaryCaseCollection* summaryCaseCollection : selection)
|
||||
{
|
||||
RicDeleteSummaryCaseCollectionFeature::moveAllCasesToMainSummaryCollection(summaryCaseCollection);
|
||||
}
|
||||
}
|
||||
|
||||
RimSummaryCaseMainCollection* summaryCaseMainCollection = nullptr;
|
||||
selection[0]->firstAncestorOrThisOfTypeAsserted(summaryCaseMainCollection);
|
||||
|
||||
for (RimSummaryCaseCollection* caseCollection : selection)
|
||||
{
|
||||
summaryCaseMainCollection->removeCaseCollection(caseCollection);
|
||||
delete caseCollection;
|
||||
}
|
||||
|
||||
summaryCaseMainCollection->updateConnectedEditors();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -109,45 +131,7 @@ void RicDeleteSummaryCaseCollectionFeature::setupActionLook(QAction* actionToSet
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RicDeleteSummaryCaseCollectionFeature::askUserWhereToPutTheSummaryCases(std::vector<RimSummaryCaseCollection*> selectedSummaryCases)
|
||||
{
|
||||
QMessageBox msgBox;
|
||||
msgBox.setIcon(QMessageBox::Question);
|
||||
|
||||
QString questionText;
|
||||
questionText = QString("Do you also want to close the summary cases in the group?");
|
||||
|
||||
msgBox.setText(questionText);
|
||||
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
|
||||
|
||||
int ret = msgBox.exec();
|
||||
|
||||
if (ret == QMessageBox::Yes)
|
||||
{
|
||||
for (RimSummaryCaseCollection* summaryCaseCollection : selectedSummaryCases)
|
||||
{
|
||||
RicDeleteSummaryCaseCollectionFeature::deleteSummaryCaseCollection(summaryCaseCollection);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else if (ret == QMessageBox::No)
|
||||
{
|
||||
for (RimSummaryCaseCollection* summaryCaseCollection : selectedSummaryCases)
|
||||
{
|
||||
RicDeleteSummaryCaseCollectionFeature::moveSummaryCasesFromSummaryCollectionToMainSummaryCollection(summaryCaseCollection);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicDeleteSummaryCaseCollectionFeature::moveSummaryCasesFromSummaryCollectionToMainSummaryCollection(RimSummaryCaseCollection* summaryCaseCollection)
|
||||
void RicDeleteSummaryCaseCollectionFeature::moveAllCasesToMainSummaryCollection(RimSummaryCaseCollection* summaryCaseCollection)
|
||||
{
|
||||
std::vector<RimSummaryCase*> summaryCases = summaryCaseCollection->allSummaryCases();
|
||||
if (summaryCases.size() < 0) return;
|
||||
|
@ -31,16 +31,11 @@ class RicDeleteSummaryCaseCollectionFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
public:
|
||||
static void deleteSummaryCaseCollection(RimSummaryCaseCollection* caseCollection);
|
||||
static void moveSummaryCasesFromSummaryCollectionToMainSummaryCollection(RimSummaryCaseCollection* summaryCaseCollection);
|
||||
|
||||
private:
|
||||
bool askUserWhereToPutTheSummaryCases(std::vector<RimSummaryCaseCollection*> selectedSummaryCases);
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
virtual bool isCommandEnabled() override;
|
||||
virtual void onActionTriggered(bool isChecked) override;
|
||||
virtual void setupActionLook(QAction* actionToSetup) override;
|
||||
|
||||
static void deleteSummaryCaseCollection(RimSummaryCaseCollection* caseCollection);
|
||||
static void moveAllCasesToMainSummaryCollection(RimSummaryCaseCollection* summaryCaseCollection);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user