mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6296 Fix empty or duplicated fracture model menu items.
This commit is contained in:
parent
6f4666bfed
commit
2f2fb145ac
@ -117,12 +117,7 @@ void RicNewFractureModelFeature::setupActionLook( QAction* actionToSetup )
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
bool RicNewFractureModelFeature::isCommandEnabled()
|
bool RicNewFractureModelFeature::isCommandEnabled()
|
||||||
{
|
{
|
||||||
if ( selectedFractureModelCollection() )
|
return selectedFractureModelCollection() != nullptr;
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -130,35 +125,26 @@ bool RicNewFractureModelFeature::isCommandEnabled()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimFractureModelCollection* RicNewFractureModelFeature::selectedFractureModelCollection()
|
RimFractureModelCollection* RicNewFractureModelFeature::selectedFractureModelCollection()
|
||||||
{
|
{
|
||||||
std::vector<caf::PdmUiItem*> allSelectedItems;
|
std::vector<caf::PdmUiItem*> selectedItems;
|
||||||
caf::SelectionManager::instance()->selectedItems( allSelectedItems );
|
caf::SelectionManager::instance()->selectedItems( selectedItems );
|
||||||
if ( allSelectedItems.size() != 1u ) return nullptr;
|
if ( selectedItems.size() != 1u ) return nullptr;
|
||||||
|
|
||||||
caf::PdmUiItem* pdmUiItem = allSelectedItems.front();
|
caf::PdmUiItem* pdmUiItem = selectedItems.front();
|
||||||
|
|
||||||
RimFractureModelCollection* objToFind = nullptr;
|
RimFractureModelCollection* fractureModelCollection = nullptr;
|
||||||
|
caf::PdmObjectHandle* objHandle = dynamic_cast<caf::PdmObjectHandle*>( pdmUiItem );
|
||||||
caf::PdmObjectHandle* objHandle = dynamic_cast<caf::PdmObjectHandle*>( pdmUiItem );
|
|
||||||
if ( objHandle )
|
if ( objHandle )
|
||||||
{
|
{
|
||||||
objHandle->firstAncestorOrThisOfType( objToFind );
|
objHandle->firstAncestorOrThisOfType( fractureModelCollection );
|
||||||
}
|
|
||||||
|
if ( fractureModelCollection ) return fractureModelCollection;
|
||||||
|
|
||||||
|
RimWellPath* wellPath = dynamic_cast<RimWellPath*>( objHandle );
|
||||||
|
if ( wellPath ) return wellPath->fractureModelCollection();
|
||||||
|
|
||||||
if ( objToFind == nullptr )
|
|
||||||
{
|
|
||||||
std::vector<RimWellPath*> wellPaths;
|
|
||||||
caf::SelectionManager::instance()->objectsByType( &wellPaths );
|
|
||||||
if ( !wellPaths.empty() )
|
|
||||||
{
|
|
||||||
return wellPaths[0]->fractureModelCollection();
|
|
||||||
}
|
|
||||||
RimWellPathCompletions* completions =
|
RimWellPathCompletions* completions =
|
||||||
caf::SelectionManager::instance()->selectedItemOfType<RimWellPathCompletions>();
|
caf::SelectionManager::instance()->selectedItemOfType<RimWellPathCompletions>();
|
||||||
if ( completions )
|
if ( completions ) return completions->fractureModelCollection();
|
||||||
{
|
|
||||||
return completions->fractureModelCollection();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return nullptr;
|
||||||
return objToFind;
|
|
||||||
}
|
}
|
||||||
|
@ -45,11 +45,13 @@ bool RicNewWellPathAttributeFeature::isCommandEnabled()
|
|||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
if ( caf::SelectionManager::instance()->selectedItemAncestorOfType<RimWellPath>() )
|
if ( caf::SelectionManager::instance()->selectedItemOfType<RimWellPath>() ||
|
||||||
|
caf::SelectionManager::instance()->selectedItemOfType<RimWellPathAttributeCollection>() )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,6 +71,7 @@
|
|||||||
#include "RimFormationNames.h"
|
#include "RimFormationNames.h"
|
||||||
#include "RimFormationNamesCollection.h"
|
#include "RimFormationNamesCollection.h"
|
||||||
#include "RimFractureModel.h"
|
#include "RimFractureModel.h"
|
||||||
|
#include "RimFractureModelCollection.h"
|
||||||
#include "RimFractureModelPlot.h"
|
#include "RimFractureModelPlot.h"
|
||||||
#include "RimFractureTemplate.h"
|
#include "RimFractureTemplate.h"
|
||||||
#include "RimFractureTemplateCollection.h"
|
#include "RimFractureTemplateCollection.h"
|
||||||
@ -397,6 +398,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
|||||||
menuBuilder << "RicNewPerforationIntervalFeature";
|
menuBuilder << "RicNewPerforationIntervalFeature";
|
||||||
menuBuilder << "RicNewFishbonesSubsFeature";
|
menuBuilder << "RicNewFishbonesSubsFeature";
|
||||||
menuBuilder << "RicNewWellPathFractureFeature";
|
menuBuilder << "RicNewWellPathFractureFeature";
|
||||||
|
menuBuilder << "RicNewFractureModelFeature";
|
||||||
menuBuilder.subMenuEnd();
|
menuBuilder.subMenuEnd();
|
||||||
menuBuilder << "RicCreateTemporaryLgrFeature";
|
menuBuilder << "RicCreateTemporaryLgrFeature";
|
||||||
menuBuilder.addSeparator();
|
menuBuilder.addSeparator();
|
||||||
@ -431,10 +433,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
|||||||
}
|
}
|
||||||
else if ( dynamic_cast<RimFractureModel*>( firstUiItem ) )
|
else if ( dynamic_cast<RimFractureModel*>( firstUiItem ) )
|
||||||
{
|
{
|
||||||
|
menuBuilder << "RicNewFractureModelFeature";
|
||||||
menuBuilder << "RicNewFractureModelPlotFeature";
|
menuBuilder << "RicNewFractureModelPlotFeature";
|
||||||
menuBuilder << "RicImportFaciesFeature";
|
menuBuilder << "RicImportFaciesFeature";
|
||||||
menuBuilder << "RicImportElasticPropertiesFeature";
|
menuBuilder << "RicImportElasticPropertiesFeature";
|
||||||
}
|
}
|
||||||
|
else if ( dynamic_cast<RimFractureModelCollection*>( firstUiItem ) )
|
||||||
|
{
|
||||||
|
menuBuilder << "RicNewFractureModelFeature";
|
||||||
|
}
|
||||||
else if ( dynamic_cast<RimFractureModelPlot*>( firstUiItem ) )
|
else if ( dynamic_cast<RimFractureModelPlot*>( firstUiItem ) )
|
||||||
{
|
{
|
||||||
menuBuilder << "RicExportFractureModelPlotToFileFeature";
|
menuBuilder << "RicExportFractureModelPlotToFileFeature";
|
||||||
|
Loading…
Reference in New Issue
Block a user