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()
|
||||
{
|
||||
if ( selectedFractureModelCollection() )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return selectedFractureModelCollection() != nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -130,35 +125,26 @@ bool RicNewFractureModelFeature::isCommandEnabled()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFractureModelCollection* RicNewFractureModelFeature::selectedFractureModelCollection()
|
||||
{
|
||||
std::vector<caf::PdmUiItem*> allSelectedItems;
|
||||
caf::SelectionManager::instance()->selectedItems( allSelectedItems );
|
||||
if ( allSelectedItems.size() != 1u ) return nullptr;
|
||||
std::vector<caf::PdmUiItem*> selectedItems;
|
||||
caf::SelectionManager::instance()->selectedItems( selectedItems );
|
||||
if ( selectedItems.size() != 1u ) return nullptr;
|
||||
|
||||
caf::PdmUiItem* pdmUiItem = allSelectedItems.front();
|
||||
caf::PdmUiItem* pdmUiItem = selectedItems.front();
|
||||
|
||||
RimFractureModelCollection* objToFind = nullptr;
|
||||
|
||||
caf::PdmObjectHandle* objHandle = dynamic_cast<caf::PdmObjectHandle*>( pdmUiItem );
|
||||
RimFractureModelCollection* fractureModelCollection = nullptr;
|
||||
caf::PdmObjectHandle* objHandle = dynamic_cast<caf::PdmObjectHandle*>( pdmUiItem );
|
||||
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 =
|
||||
caf::SelectionManager::instance()->selectedItemOfType<RimWellPathCompletions>();
|
||||
if ( completions )
|
||||
{
|
||||
return completions->fractureModelCollection();
|
||||
}
|
||||
if ( completions ) return completions->fractureModelCollection();
|
||||
}
|
||||
|
||||
return objToFind;
|
||||
return nullptr;
|
||||
}
|
||||
|
@ -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 false;
|
||||
}
|
||||
|
||||
|
@ -71,6 +71,7 @@
|
||||
#include "RimFormationNames.h"
|
||||
#include "RimFormationNamesCollection.h"
|
||||
#include "RimFractureModel.h"
|
||||
#include "RimFractureModelCollection.h"
|
||||
#include "RimFractureModelPlot.h"
|
||||
#include "RimFractureTemplate.h"
|
||||
#include "RimFractureTemplateCollection.h"
|
||||
@ -397,6 +398,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
menuBuilder << "RicNewPerforationIntervalFeature";
|
||||
menuBuilder << "RicNewFishbonesSubsFeature";
|
||||
menuBuilder << "RicNewWellPathFractureFeature";
|
||||
menuBuilder << "RicNewFractureModelFeature";
|
||||
menuBuilder.subMenuEnd();
|
||||
menuBuilder << "RicCreateTemporaryLgrFeature";
|
||||
menuBuilder.addSeparator();
|
||||
@ -431,10 +433,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
}
|
||||
else if ( dynamic_cast<RimFractureModel*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicNewFractureModelFeature";
|
||||
menuBuilder << "RicNewFractureModelPlotFeature";
|
||||
menuBuilder << "RicImportFaciesFeature";
|
||||
menuBuilder << "RicImportElasticPropertiesFeature";
|
||||
}
|
||||
else if ( dynamic_cast<RimFractureModelCollection*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicNewFractureModelFeature";
|
||||
}
|
||||
else if ( dynamic_cast<RimFractureModelPlot*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicExportFractureModelPlotToFileFeature";
|
||||
|
Loading…
Reference in New Issue
Block a user