From 79539c1c99db7c6b10cb0ed42a9e4c63468a37b2 Mon Sep 17 00:00:00 2001 From: Rebecca Cox Date: Thu, 18 Jan 2018 15:04:04 +0100 Subject: [PATCH] #2378 Fractures: Hide "Fracture Colors" in Project tree when not in use --- ApplicationCode/Commands/RicDeleteItemExec.cpp | 11 +++++++++++ .../RicNewEllipseFractureTemplateFeature.cpp | 13 +++++++++++++ .../RicNewStimPlanFractureTemplateFeature.cpp | 15 ++++++++++++++- .../ProjectDataModel/RimEclipseView.cpp | 14 +++++++++++++- 4 files changed, 51 insertions(+), 2 deletions(-) diff --git a/ApplicationCode/Commands/RicDeleteItemExec.cpp b/ApplicationCode/Commands/RicDeleteItemExec.cpp index 05d3c6a472..1aab715e05 100644 --- a/ApplicationCode/Commands/RicDeleteItemExec.cpp +++ b/ApplicationCode/Commands/RicDeleteItemExec.cpp @@ -26,6 +26,7 @@ #include "RimCase.h" #include "RimCellRangeFilterCollection.h" #include "RimEclipsePropertyFilterCollection.h" +#include "RimEclipseView.h" #include "RimFormationNamesCollection.h" #include "RimGeoMechPropertyFilterCollection.h" #include "RimIntersectionCollection.h" @@ -150,6 +151,16 @@ void RicDeleteItemExec::redo() { proj->createDisplayModelAndRedrawAllViews(); } + + std::vector views; + proj->allVisibleViews(views); + for (RimView* view : views) + { + if (dynamic_cast(view)) + { + view->updateConnectedEditors(); + } + } } #endif // USE_PROTOTYPE_FEATURE_FRACTURES diff --git a/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp b/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp index 094c4c1039..39d82aea1a 100644 --- a/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp +++ b/ApplicationCode/Commands/RicNewEllipseFractureTemplateFeature.cpp @@ -21,6 +21,7 @@ #include "RiaApplication.h" #include "RimOilField.h" +#include "RimEclipseView.h" #include "RimEllipseFractureTemplate.h" #include "RimFractureTemplateCollection.h" #include "RimProject.h" @@ -58,6 +59,18 @@ void RicNewEllipseFractureTemplateFeature::onActionTriggered(bool isChecked) fractureDef->setDefaultWellDiameterFromUnit(); fracDefColl->updateConnectedEditors(); + + std::vector views; + project->allVisibleViews(views); + + for (RimView* view : views) + { + if (dynamic_cast(view)) + { + view->updateConnectedEditors(); + } + } + RiuMainWindow::instance()->selectAsCurrentItem(fractureDef); } } diff --git a/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp b/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp index 440ce22623..c0f7114a60 100644 --- a/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp +++ b/ApplicationCode/Commands/RicNewStimPlanFractureTemplateFeature.cpp @@ -21,6 +21,7 @@ #include "RiaApplication.h" #include "RimOilField.h" +#include "RimEclipseView.h" #include "RimFractureTemplateCollection.h" #include "RimProject.h" #include "RimStimPlanFractureTemplate.h" @@ -44,7 +45,7 @@ void RicNewStimPlanFractureTemplateFeature::onActionTriggered(bool isChecked) { RiaApplication* app = RiaApplication::instance(); QString defaultDir = app->lastUsedDialogDirectory("BINARY_GRID"); - QString fileName = QFileDialog::getOpenFileName(NULL, "Open StimPlan XML File", defaultDir, "StimPlan XML File (*.xml);;All files(*.*)"); + QString fileName = QFileDialog::getOpenFileName(nullptr, "Open StimPlan XML File", defaultDir, "StimPlan XML File (*.xml);;All files(*.*)"); if (fileName.isEmpty()) return; @@ -67,6 +68,18 @@ void RicNewStimPlanFractureTemplateFeature::onActionTriggered(bool isChecked) fractureDef->setDefaultWellDiameterFromUnit(); fracDefColl->updateConnectedEditors(); + + std::vector views; + project->allVisibleViews(views); + + for (RimView* view : views) + { + if (dynamic_cast(view)) + { + view->updateConnectedEditors(); + } + } + RiuMainWindow::instance()->selectAsCurrentItem(fractureDef); } } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp index c2d86ec21b..10967ed631 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseView.cpp +++ b/ApplicationCode/ProjectDataModel/RimEclipseView.cpp @@ -71,6 +71,7 @@ #ifdef USE_PROTOTYPE_FEATURE_FRACTURES #include "RimFracture.h" +#include "RimFractureTemplateCollection.h" #include "RimSimWellFracture.h" #include "RivWellFracturePartMgr.h" #endif // USE_PROTOTYPE_FEATURE_FRACTURES @@ -1469,7 +1470,18 @@ void RimEclipseView::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering uiTreeOrdering.add(cellEdgeResult()); uiTreeOrdering.add(faultResultSettings()); #ifdef USE_PROTOTYPE_FEATURE_FRACTURES - uiTreeOrdering.add(stimPlanColors()); + + RimProject* project = RiaApplication::instance()->project(); + CVF_ASSERT(project); + RimOilField* oilfield = project->activeOilField(); + + if (oilfield && oilfield->fractureDefinitionCollection().notNull()) + { + if (!oilfield->fractureDefinitionCollection()->fractureDefinitions.empty()) + { + uiTreeOrdering.add(stimPlanColors()); + } + } #endif // USE_PROTOTYPE_FEATURE_FRACTURES uiTreeOrdering.add(wellCollection());