#3112 Derived ensembles. Show only one delete item in context menu

This commit is contained in:
Bjørn Erik Jensen
2018-06-28 10:15:42 +02:00
parent 8e53e2a3cf
commit 533b000184
3 changed files with 14 additions and 0 deletions

View File

@@ -22,6 +22,7 @@
#include "RicCloseSummaryCaseFeature.h" #include "RicCloseSummaryCaseFeature.h"
#include "RimDerivedEnsembleCaseCollection.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
@@ -62,6 +63,11 @@ bool RicCloseSummaryCaseInCollectionFeature::isCommandEnabled()
std::vector<RimSummaryCaseCollection*> summaryCaseCollections; std::vector<RimSummaryCaseCollection*> summaryCaseCollections;
caf::SelectionManager::instance()->objectsByType(&summaryCaseCollections); caf::SelectionManager::instance()->objectsByType(&summaryCaseCollections);
summaryCaseCollections.erase(std::remove_if(summaryCaseCollections.begin(), summaryCaseCollections.end(), [](RimSummaryCaseCollection* coll)
{
return dynamic_cast<RimDerivedEnsembleCaseCollection*>(coll) != nullptr;
}), summaryCaseCollections.end());
return (summaryCaseMainCollections.size() > 0 || summaryCaseCollections.size() > 0); return (summaryCaseMainCollections.size() > 0 || summaryCaseCollections.size() > 0);
} }

View File

@@ -22,6 +22,7 @@
#include "RicDeleteItemExecData.h" #include "RicDeleteItemExecData.h"
#include "RimCellRangeFilter.h" #include "RimCellRangeFilter.h"
#include "RimDerivedEnsembleCaseCollection.h"
#include "RimEclipseInputProperty.h" #include "RimEclipseInputProperty.h"
#include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilter.h"
#include "RimEclipseView.h" #include "RimEclipseView.h"
@@ -121,6 +122,7 @@ bool isDeletable(caf::PdmUiItem* uiItem)
if (dynamic_cast<RimSimWellFracture*>(uiItem)) return true; if (dynamic_cast<RimSimWellFracture*>(uiItem)) return true;
if (dynamic_cast<RimEnsembleCurveSet*>(uiItem)) return true; if (dynamic_cast<RimEnsembleCurveSet*>(uiItem)) return true;
if (dynamic_cast<RimEnsembleCurveFilter*>(uiItem)) return true; if (dynamic_cast<RimEnsembleCurveFilter*>(uiItem)) return true;
if (dynamic_cast<RimDerivedEnsembleCaseCollection*>(uiItem)) return true;
return false; return false;
} }

View File

@@ -21,6 +21,8 @@
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RiaSummaryTools.h" #include "RiaSummaryTools.h"
#include "RimDerivedEnsembleCaseCollection.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
@@ -65,6 +67,10 @@ bool RicDeleteSummaryCaseCollectionFeature::isCommandEnabled()
std::vector<RimSummaryCaseCollection*> selection; std::vector<RimSummaryCaseCollection*> selection;
caf::SelectionManager::instance()->objectsByType(&selection); caf::SelectionManager::instance()->objectsByType(&selection);
selection.erase(std::remove_if(selection.begin(), selection.end(), [](RimSummaryCaseCollection* coll)
{
return dynamic_cast<RimDerivedEnsembleCaseCollection*>(coll) != nullptr;
}), selection.end());
return (selection.size() > 0); return (selection.size() > 0);
} }