#5132 Janitor : Guard index out of bounds

This commit is contained in:
Magne Sjaastad 2019-11-29 13:39:50 +01:00
parent f3fc7351d4
commit 45c0ca38f1

View File

@ -156,12 +156,17 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
std::vector<caf::PdmUiItem*> uiItems;
caf::SelectionManager::instance()->selectedItems( uiItems );
caf::PdmUiItem* firstUiItem = nullptr;
{
if ( !uiItems.empty() )
{
firstUiItem = uiItems[0];
}
}
if ( uiItems.size() == 1 )
{
caf::PdmUiItem* uiItem = uiItems[0];
CVF_ASSERT( uiItem );
if ( dynamic_cast<RimEclipseCaseCollection*>( uiItem ) )
if ( dynamic_cast<RimEclipseCaseCollection*>( firstUiItem ) )
{
menuBuilder.subMenuStart( "Import" );
menuBuilder << "RicImportEclipseCaseFeature";
@ -172,7 +177,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.subMenuEnd();
menuBuilder << "RicEclipseCaseNewGroupFeature";
}
else if ( dynamic_cast<RimGeoMechView*>( uiItem ) )
else if ( dynamic_cast<RimGeoMechView*>( firstUiItem ) )
{
menuBuilder << "RicPasteGeoMechViewsFeature";
menuBuilder << "Separator";
@ -184,7 +189,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicCopyReferencesToClipboardFeature";
menuBuilder << "RicExportContourMapToTextFeature";
}
else if ( dynamic_cast<RimEclipseView*>( uiItem ) )
else if ( dynamic_cast<RimEclipseView*>( firstUiItem ) )
{
menuBuilder << "RicPasteEclipseViewsFeature";
menuBuilder << "Separator";
@ -199,27 +204,27 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicExportContourMapToTextFeature";
menuBuilder << "RicSaveEclipseInputVisibleCellsFeature";
}
else if ( dynamic_cast<RimEclipseContourMapViewCollection*>( uiItem ) )
else if ( dynamic_cast<RimEclipseContourMapViewCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewContourMapViewFeature";
}
else if ( dynamic_cast<RimGeoMechContourMapViewCollection*>( uiItem ) )
else if ( dynamic_cast<RimGeoMechContourMapViewCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewContourMapViewFeature";
}
else if ( dynamic_cast<RimCaseCollection*>( uiItem ) )
else if ( dynamic_cast<RimCaseCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteEclipseCasesFeature";
menuBuilder << "Separator";
menuBuilder << "RicNewStatisticsCaseFeature";
}
else if ( dynamic_cast<RimEclipseStatisticsCase*>( uiItem ) )
else if ( dynamic_cast<RimEclipseStatisticsCase*>( firstUiItem ) )
{
menuBuilder << "RicNewViewFeature";
menuBuilder << "RicComputeStatisticsFeature";
menuBuilder << "Separator";
}
else if ( dynamic_cast<RimEclipseCase*>( uiItem ) )
else if ( dynamic_cast<RimEclipseCase*>( firstUiItem ) )
{
menuBuilder << "RicPasteEclipseCasesFeature";
menuBuilder << "RicPasteEclipseViewsFeature";
@ -233,12 +238,12 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicCopyReferencesToClipboardFeature";
menuBuilder << "Separator";
}
else if ( dynamic_cast<RimGridInfoCollection*>( uiItem ) )
else if ( dynamic_cast<RimGridInfoCollection*>( firstUiItem ) )
{
menuBuilder << "RicExportCompletionsForTemporaryLgrsFeature";
menuBuilder << "RicDeleteTemporaryLgrsFeature";
}
else if ( dynamic_cast<RimGeoMechCase*>( uiItem ) )
else if ( dynamic_cast<RimGeoMechCase*>( firstUiItem ) )
{
menuBuilder << "RicPasteGeoMechViewsFeature";
menuBuilder << "Separator";
@ -248,56 +253,56 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicImportElementPropertyFeature";
menuBuilder << "Separator";
}
else if ( dynamic_cast<RimIdenticalGridCaseGroup*>( uiItem ) )
else if ( dynamic_cast<RimIdenticalGridCaseGroup*>( firstUiItem ) )
{
menuBuilder << "RicPasteEclipseCasesFeature";
menuBuilder << "Separator";
menuBuilder << "RicEclipseCaseNewGroupFeature";
}
else if ( dynamic_cast<RimEclipseCellColors*>( uiItem ) )
else if ( dynamic_cast<RimEclipseCellColors*>( firstUiItem ) )
{
menuBuilder << "RicSaveEclipseResultAsInputPropertyFeature";
menuBuilder << "RicExportEclipseInputGridFeature";
menuBuilder << "RicSaveEclipseInputVisibleCellsFeature";
menuBuilder << "RicCreateGridCrossPlotFeature";
}
else if ( dynamic_cast<RimEclipseInputProperty*>( uiItem ) )
else if ( dynamic_cast<RimEclipseInputProperty*>( firstUiItem ) )
{
menuBuilder << "RicSaveEclipseInputPropertyFeature";
}
else if ( dynamic_cast<RimCellRangeFilterCollection*>( uiItem ) )
else if ( dynamic_cast<RimCellRangeFilterCollection*>( firstUiItem ) )
{
menuBuilder << "RicRangeFilterNewFeature";
menuBuilder << "RicRangeFilterNewSliceIFeature";
menuBuilder << "RicRangeFilterNewSliceJFeature";
menuBuilder << "RicRangeFilterNewSliceKFeature";
}
else if ( dynamic_cast<RimCellRangeFilter*>( uiItem ) )
else if ( dynamic_cast<RimCellRangeFilter*>( firstUiItem ) )
{
menuBuilder << "RicRangeFilterInsertFeature";
menuBuilder << "RicRangeFilterNewSliceIFeature";
menuBuilder << "RicRangeFilterNewSliceJFeature";
menuBuilder << "RicRangeFilterNewSliceKFeature";
}
else if ( dynamic_cast<RimEclipsePropertyFilterCollection*>( uiItem ) )
else if ( dynamic_cast<RimEclipsePropertyFilterCollection*>( firstUiItem ) )
{
menuBuilder << "RicEclipsePropertyFilterNewFeature";
}
else if ( dynamic_cast<RimEclipsePropertyFilter*>( uiItem ) )
else if ( dynamic_cast<RimEclipsePropertyFilter*>( firstUiItem ) )
{
menuBuilder << "RicEclipsePropertyFilterInsertFeature";
menuBuilder << "RicApplyPropertyFilterAsCellResultFeature";
}
else if ( dynamic_cast<RimGeoMechPropertyFilterCollection*>( uiItem ) )
else if ( dynamic_cast<RimGeoMechPropertyFilterCollection*>( firstUiItem ) )
{
menuBuilder << "RicGeoMechPropertyFilterNewFeature";
}
else if ( dynamic_cast<RimGeoMechPropertyFilter*>( uiItem ) )
else if ( dynamic_cast<RimGeoMechPropertyFilter*>( firstUiItem ) )
{
menuBuilder << "RicGeoMechPropertyFilterInsertFeature";
menuBuilder << "RicApplyPropertyFilterAsCellResultFeature";
}
else if ( dynamic_cast<RimWellPathCollection*>( uiItem ) )
else if ( dynamic_cast<RimWellPathCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewEditableWellPathFeature";
menuBuilder.addSeparator();
@ -319,7 +324,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.subMenuEnd();
appendExportCompletions( menuBuilder );
}
else if ( dynamic_cast<RimWellPath*>( uiItem ) )
else if ( dynamic_cast<RimWellPath*>( firstUiItem ) )
{
menuBuilder << "RicNewEditableWellPathFeature";
menuBuilder << "RicNewWellPathIntersectionFeature";
@ -350,12 +355,12 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
if ( dynamic_cast<RimModeledWellPath*>( uiItem ) )
if ( dynamic_cast<RimModeledWellPath*>( firstUiItem ) )
{
menuBuilder << "RicShowWellPlanFeature";
}
}
else if ( dynamic_cast<RimWellPathCompletions*>( uiItem ) )
else if ( dynamic_cast<RimWellPathCompletions*>( firstUiItem ) )
{
menuBuilder.subMenuStart( "Create Completions", QIcon( ":/CompletionsSymbol16x16.png" ) );
menuBuilder << "RicNewPerforationIntervalFeature";
@ -366,39 +371,43 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
appendExportCompletions( menuBuilder );
}
else if ( dynamic_cast<RimPerforationCollection*>( uiItem ) || dynamic_cast<RimPerforationInterval*>( uiItem ) )
else if ( dynamic_cast<RimPerforationCollection*>( firstUiItem ) ||
dynamic_cast<RimPerforationInterval*>( firstUiItem ) )
{
menuBuilder << "RicNewPerforationIntervalFeature";
if ( dynamic_cast<RimPerforationInterval*>( uiItem ) ) menuBuilder << "RicNewValveFeature";
if ( dynamic_cast<RimPerforationInterval*>( firstUiItem ) ) menuBuilder << "RicNewValveFeature";
menuBuilder.addSeparator();
menuBuilder << "RicEditPerforationCollectionFeature";
menuBuilder.addSeparator();
appendExportCompletions( menuBuilder );
}
else if ( dynamic_cast<RimFishbonesCollection*>( uiItem ) || dynamic_cast<RimFishbonesMultipleSubs*>( uiItem ) ||
dynamic_cast<RimFishboneWellPathCollection*>( uiItem ) )
else if ( dynamic_cast<RimFishbonesCollection*>( firstUiItem ) ||
dynamic_cast<RimFishbonesMultipleSubs*>( firstUiItem ) ||
dynamic_cast<RimFishboneWellPathCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewFishbonesSubsFeature";
appendExportCompletions( menuBuilder );
}
else if ( dynamic_cast<RimWellPathFractureCollection*>( uiItem ) || dynamic_cast<RimWellPathFracture*>( uiItem ) )
else if ( dynamic_cast<RimWellPathFractureCollection*>( firstUiItem ) ||
dynamic_cast<RimWellPathFracture*>( firstUiItem ) )
{
menuBuilder << "RicNewWellPathFractureFeature";
appendExportCompletions( menuBuilder );
}
else if ( dynamic_cast<RimWellPathAttributeCollection*>( uiItem ) )
else if ( dynamic_cast<RimWellPathAttributeCollection*>( firstUiItem ) )
{
menuBuilder << "RicDeleteWellPathAttributeFeature";
}
else if ( dynamic_cast<Rim3dWellLogCurveCollection*>( uiItem ) ||
dynamic_cast<Rim3dWellLogExtractionCurve*>( uiItem ) ||
dynamic_cast<Rim3dWellLogFileCurve*>( uiItem ) || dynamic_cast<Rim3dWellLogRftCurve*>( uiItem ) )
else if ( dynamic_cast<Rim3dWellLogCurveCollection*>( firstUiItem ) ||
dynamic_cast<Rim3dWellLogExtractionCurve*>( firstUiItem ) ||
dynamic_cast<Rim3dWellLogFileCurve*>( firstUiItem ) ||
dynamic_cast<Rim3dWellLogRftCurve*>( firstUiItem ) )
{
menuBuilder << "RicAdd3dWellLogCurveFeature";
menuBuilder << "RicAdd3dWellLogFileCurveFeature";
menuBuilder << "RicAdd3dWellLogRftCurveFeature";
}
else if ( dynamic_cast<RimWellLogFile*>( uiItem ) )
else if ( dynamic_cast<RimWellLogFile*>( firstUiItem ) )
{
menuBuilder << "RicWellPathsImportFileFeature";
menuBuilder << "RicWellLogsImportFileFeature";
@ -421,15 +430,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
}
menuBuilder.subMenuEnd();
}
else if ( dynamic_cast<RimWellRftPlot*>( uiItem ) )
else if ( dynamic_cast<RimWellRftPlot*>( firstUiItem ) )
{
menuBuilder << "RicDeleteRftPlotFeature";
}
else if ( dynamic_cast<RimWellPltPlot*>( uiItem ) )
else if ( dynamic_cast<RimWellPltPlot*>( firstUiItem ) )
{
menuBuilder << "RicDeletePltPlotFeature";
}
else if ( dynamic_cast<RimCalcScript*>( uiItem ) )
else if ( dynamic_cast<RimCalcScript*>( firstUiItem ) )
{
menuBuilder << "RicEditScriptFeature";
menuBuilder << "Separator";
@ -440,7 +449,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicExecuteScriptFeature";
}
else if ( dynamic_cast<RimScriptCollection*>( uiItem ) )
else if ( dynamic_cast<RimScriptCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewOctaveScriptFeature";
#ifdef ENABLE_GRPC
@ -452,32 +461,32 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicDeleteScriptPathFeature";
}
else if ( dynamic_cast<RimViewController*>( uiItem ) )
else if ( dynamic_cast<RimViewController*>( firstUiItem ) )
{
menuBuilder << "RicShowAllLinkedViewsFeature";
}
else if ( dynamic_cast<RimViewLinker*>( uiItem ) || dynamic_cast<RimViewLinkerCollection*>( uiItem ) )
else if ( dynamic_cast<RimViewLinker*>( firstUiItem ) || dynamic_cast<RimViewLinkerCollection*>( firstUiItem ) )
{
menuBuilder << "RicShowAllLinkedViewsFeature";
menuBuilder << "Separator";
menuBuilder << "RicDeleteAllLinkedViewsFeature";
}
else if ( dynamic_cast<RimWellLogPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimWellLogPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteWellLogPlotFeature";
menuBuilder << "Separator";
menuBuilder << "RicNewWellLogPlotFeature";
menuBuilder << "RicNewWellBoreStabilityPlotFeature";
}
else if ( dynamic_cast<RimRftPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimRftPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewRftPlotFeature";
}
else if ( dynamic_cast<RimPltPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimPltPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewPltPlotFeature";
}
else if ( dynamic_cast<RimSummaryPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimSummaryPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteSummaryPlotFeature";
menuBuilder << "RicPasteAsciiDataToSummaryPlotFeature";
@ -487,13 +496,13 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
}
else if ( dynamic_cast<RimSummaryCrossPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCrossPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteSummaryCrossPlotFeature";
menuBuilder << "Separator";
menuBuilder << "RicNewSummaryCrossPlotFeature";
}
else if ( dynamic_cast<RimWellLogPlot*>( uiItem ) )
else if ( dynamic_cast<RimWellLogPlot*>( firstUiItem ) )
{
menuBuilder << "RicPasteWellLogPlotFeature";
menuBuilder << "RicPasteWellLogTrackFeature";
@ -501,7 +510,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicNewWellLogPlotTrackFeature";
menuBuilder << "RicAsciiExportWellLogPlotFeature";
}
else if ( dynamic_cast<RimWellLogTrack*>( uiItem ) )
else if ( dynamic_cast<RimWellLogTrack*>( firstUiItem ) )
{
menuBuilder << "RicPasteWellLogTrackFeature";
menuBuilder << "RicPasteWellLogCurveFeature";
@ -512,34 +521,34 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicDeleteSubPlotFeature";
}
else if ( dynamic_cast<RimWellLogCurve*>( uiItem ) )
else if ( dynamic_cast<RimWellLogCurve*>( firstUiItem ) )
{
menuBuilder << "RicPasteWellLogCurveFeature";
}
else if ( dynamic_cast<RimGridCrossPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimGridCrossPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicCreateGridCrossPlotFeature";
}
else if ( dynamic_cast<RimSaturationPressurePlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimSaturationPressurePlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicCreateSaturationPressurePlotsFeature";
}
else if ( dynamic_cast<RimGridCrossPlot*>( uiItem ) )
else if ( dynamic_cast<RimGridCrossPlot*>( firstUiItem ) )
{
menuBuilder << "RicPasteGridCrossPlotDataSetFeature";
menuBuilder << "Separator";
menuBuilder << "RicCreateGridCrossPlotDataSetFeature";
menuBuilder << "RicSwapGridCrossPlotDataSetAxesFeature";
}
else if ( dynamic_cast<RimGridCrossPlotDataSet*>( uiItem ) )
else if ( dynamic_cast<RimGridCrossPlotDataSet*>( firstUiItem ) )
{
menuBuilder << "RicPasteGridCrossPlotDataSetFeature";
menuBuilder << "Separator";
menuBuilder << "RicSwapGridCrossPlotDataSetAxesFeature";
}
else if ( dynamic_cast<RimSummaryPlot*>( uiItem ) ) // This is also the definition for RimSummaryCrossPlot
else if ( dynamic_cast<RimSummaryPlot*>( firstUiItem ) ) // This is also the definition for RimSummaryCrossPlot
{
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>( uiItem );
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>( firstUiItem );
menuBuilder << "RicPasteSummaryCurveFeature";
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
@ -566,7 +575,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicDeleteSubPlotFeature";
}
else if ( dynamic_cast<RimSummaryCurve*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCurve*>( firstUiItem ) )
{
menuBuilder << "RicPasteSummaryCurveFeature";
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
@ -584,7 +593,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicEditSummaryCurveCalculationFeature";
}
else if ( dynamic_cast<RimSummaryCurveCollection*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCurveCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteSummaryCurveFeature";
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
@ -593,23 +602,23 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicNewSummaryCurveFeature";
menuBuilder << "RicNewSummaryCrossPlotCurveFeature";
}
else if ( dynamic_cast<RimEnsembleCurveSetCollection*>( uiItem ) )
else if ( dynamic_cast<RimEnsembleCurveSetCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewSummaryEnsembleCurveSetFeature";
menuBuilder << "RicPasteEnsembleCurveSetFeature";
}
else if ( dynamic_cast<RimEnsembleCurveSet*>( uiItem ) )
else if ( dynamic_cast<RimEnsembleCurveSet*>( firstUiItem ) )
{
menuBuilder << "RicNewSummaryEnsembleCurveSetFeature";
menuBuilder << "Separator";
menuBuilder << "RicSetSourceSteppingEnsembleCurveSetFeature";
menuBuilder << "RicClearSourceSteppingEnsembleCurveSetFeature";
}
else if ( dynamic_cast<RimEnsembleCurveFilterCollection*>( uiItem ) )
else if ( dynamic_cast<RimEnsembleCurveFilterCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewEnsembleCurveFilterFeature";
}
else if ( dynamic_cast<RimSummaryCaseMainCollection*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCaseMainCollection*>( firstUiItem ) )
{
menuBuilder << "RicImportSummaryCaseFeature";
menuBuilder << "RicImportSummaryCasesFeature";
@ -617,7 +626,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicImportEnsembleFeature";
menuBuilder << "RicNewDerivedEnsembleFeature";
}
else if ( dynamic_cast<RimSummaryCaseCollection*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCaseCollection*>( firstUiItem ) )
{
menuBuilder.subMenuStart( "Import" );
menuBuilder << "RicImportSummaryCaseFeature";
@ -634,7 +643,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicConvertGroupToEnsembleFeature";
menuBuilder.addSeparator();
}
else if ( dynamic_cast<RimSummaryCase*>( uiItem ) )
else if ( dynamic_cast<RimSummaryCase*>( firstUiItem ) )
{
menuBuilder.subMenuStart( "Import" );
menuBuilder << "RicImportSummaryCaseFeature";
@ -648,17 +657,17 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicNewSummaryCrossPlotFeature";
menuBuilder.addSeparator();
if ( !dynamic_cast<RimObservedSummaryData*>( uiItem ) )
if ( !dynamic_cast<RimObservedSummaryData*>( firstUiItem ) )
{
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
// menuBuilder << "RicNewSummaryPlotFeature";
}
}
else if ( dynamic_cast<RimWellLogFileChannel*>( uiItem ) )
else if ( dynamic_cast<RimWellLogFileChannel*>( firstUiItem ) )
{
menuBuilder << "RicAddWellLogToPlotFeature";
}
else if ( dynamic_cast<RimIntersectionCollection*>( uiItem ) )
else if ( dynamic_cast<RimIntersectionCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteIntersectionsFeature";
menuBuilder.addSeparator();
@ -667,7 +676,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if ( dynamic_cast<RimExtrudedCurveIntersection*>( uiItem ) )
else if ( dynamic_cast<RimExtrudedCurveIntersection*>( firstUiItem ) )
{
menuBuilder << "RicPasteIntersectionsFeature";
menuBuilder.addSeparator();
@ -678,7 +687,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if ( dynamic_cast<RimBoxIntersection*>( uiItem ) )
else if ( dynamic_cast<RimBoxIntersection*>( firstUiItem ) )
{
menuBuilder << "RicPasteIntersectionsFeature";
menuBuilder.addSeparator();
@ -687,12 +696,12 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
}
else if ( dynamic_cast<RimIntersectionResultsDefinitionCollection*>( uiItem ) ||
dynamic_cast<RimIntersectionResultDefinition*>( uiItem ) )
else if ( dynamic_cast<RimIntersectionResultsDefinitionCollection*>( firstUiItem ) ||
dynamic_cast<RimIntersectionResultDefinition*>( firstUiItem ) )
{
menuBuilder << "RicAppendSeparateIntersectionResultFeature";
}
else if ( dynamic_cast<RimSimWellInView*>( uiItem ) )
else if ( dynamic_cast<RimSimWellInView*>( firstUiItem ) )
{
menuBuilder << "RicNewWellLogCurveExtractionFeature";
menuBuilder << "RicNewWellLogRftCurveFeature";
@ -708,58 +717,58 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature";
}
else if ( dynamic_cast<RimSimWellInViewCollection*>( uiItem ) )
else if ( dynamic_cast<RimSimWellInViewCollection*>( firstUiItem ) )
{
menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature";
}
else if ( dynamic_cast<RimFormationNames*>( uiItem ) )
else if ( dynamic_cast<RimFormationNames*>( firstUiItem ) )
{
menuBuilder << "RicImportFormationNamesFeature";
menuBuilder << "RicReloadFormationNamesFeature";
}
else if ( dynamic_cast<RimFormationNamesCollection*>( uiItem ) )
else if ( dynamic_cast<RimFormationNamesCollection*>( firstUiItem ) )
{
menuBuilder << "RicImportFormationNamesFeature";
menuBuilder << "Separator";
menuBuilder << "RicReloadFormationNamesFeature";
}
else if ( dynamic_cast<RimFaultInView*>( uiItem ) )
else if ( dynamic_cast<RimFaultInView*>( firstUiItem ) )
{
menuBuilder << "RicExportFaultsFeature";
}
else if ( dynamic_cast<RimWellAllocationPlot*>( uiItem ) )
else if ( dynamic_cast<RimWellAllocationPlot*>( firstUiItem ) )
{
menuBuilder << "RicAddStoredWellAllocationPlotFeature";
}
else if ( dynamic_cast<RimFlowCharacteristicsPlot*>( uiItem ) )
else if ( dynamic_cast<RimFlowCharacteristicsPlot*>( firstUiItem ) )
{
menuBuilder << "RicAddStoredFlowCharacteristicsPlotFeature";
}
else if ( dynamic_cast<RimFlowDiagSolution*>( uiItem ) )
else if ( dynamic_cast<RimFlowDiagSolution*>( firstUiItem ) )
{
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
}
else if ( dynamic_cast<RimFlowPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimFlowPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
}
else if ( dynamic_cast<Rim3dOverlayInfoConfig*>( uiItem ) )
else if ( dynamic_cast<Rim3dOverlayInfoConfig*>( firstUiItem ) )
{
menuBuilder << "RicShowGridStatisticsFeature";
}
else if ( dynamic_cast<RimSimWellFracture*>( uiItem ) )
else if ( dynamic_cast<RimSimWellFracture*>( firstUiItem ) )
{
menuBuilder << "RicNewSimWellFractureFeature";
}
else if ( dynamic_cast<RimValveTemplateCollection*>( uiItem ) )
else if ( dynamic_cast<RimValveTemplateCollection*>( firstUiItem ) )
{
menuBuilder << "RicNewValveTemplateFeature";
}
else if ( dynamic_cast<RimValveTemplate*>( uiItem ) )
else if ( dynamic_cast<RimValveTemplate*>( firstUiItem ) )
{
menuBuilder << "RicDeleteValveTemplateFeature";
}
else if ( dynamic_cast<RimFractureTemplateCollection*>( uiItem ) )
else if ( dynamic_cast<RimFractureTemplateCollection*>( firstUiItem ) )
{
menuBuilder << "RicPasteEllipseFractureFeature";
menuBuilder << "RicPasteStimPlanFractureFeature";
@ -770,7 +779,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicConvertAllFractureTemplatesToMetricFeature";
menuBuilder << "RicConvertAllFractureTemplatesToFieldFeature";
}
else if ( dynamic_cast<RimStimPlanFractureTemplate*>( uiItem ) )
else if ( dynamic_cast<RimStimPlanFractureTemplate*>( firstUiItem ) )
{
menuBuilder << "RicPasteStimPlanFractureFeature";
menuBuilder << "RicPasteEllipseFractureFeature";
@ -780,7 +789,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicConvertFractureTemplateUnitFeature";
}
else if ( dynamic_cast<RimEllipseFractureTemplate*>( uiItem ) )
else if ( dynamic_cast<RimEllipseFractureTemplate*>( firstUiItem ) )
{
menuBuilder << "RicPasteEllipseFractureFeature";
menuBuilder << "RicPasteStimPlanFractureFeature";
@ -790,23 +799,24 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "Separator";
menuBuilder << "RicConvertFractureTemplateUnitFeature";
}
else if ( dynamic_cast<RimAnnotationCollection*>( uiItem ) ||
dynamic_cast<RimAnnotationGroupCollection*>( uiItem ) )
else if ( dynamic_cast<RimAnnotationCollection*>( firstUiItem ) ||
dynamic_cast<RimAnnotationGroupCollection*>( firstUiItem ) )
{
menuBuilder << "RicCreateTextAnnotationFeature";
menuBuilder << "RicCreateReachCircleAnnotationFeature";
menuBuilder << "RicCreateUserDefinedPolylinesAnnotationFeature";
menuBuilder << "RicImportPolylinesAnnotationFeature";
}
else if ( dynamic_cast<RimAnnotationInViewCollection*>( uiItem ) )
else if ( dynamic_cast<RimAnnotationInViewCollection*>( firstUiItem ) )
{
menuBuilder << "RicCreateTextAnnotationFeature";
}
else if ( dynamic_cast<RimPlotTemplateFolderItem*>( uiItem ) || dynamic_cast<RimPlotTemplateFileItem*>( uiItem ) )
else if ( dynamic_cast<RimPlotTemplateFolderItem*>( firstUiItem ) ||
dynamic_cast<RimPlotTemplateFileItem*>( firstUiItem ) )
{
menuBuilder << "RicReloadPlotTemplatesFeature";
}
if ( dynamic_cast<Rim3dView*>( uiItem ) )
if ( dynamic_cast<Rim3dView*>( firstUiItem ) )
{
menuBuilder << "Separator";
menuBuilder << "RicLinkVisibleViewsFeature";
@ -816,7 +826,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
}
}
if ( uiItems.size() > 0 )
if ( firstUiItem )
{
// Work in progress -- Start
// All commands should be aware of selection of multiple objects
@ -825,8 +835,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
// is aware of multiple selected items, move the command to this list
// without using dyncamic_cast.
caf::PdmUiItem* uiItem = uiItems[0];
menuBuilder << "RicPasteTimeHistoryCurveFeature";
menuBuilder << "RicPasteAsciiDataCurveFeature";
menuBuilder << "RicPasteSummaryCaseFeature";
@ -858,7 +866,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder << "RicCutReferencesToClipboardFeature";
menuBuilder << "Separator";
if ( dynamic_cast<RimSummaryCase*>( uiItem ) || dynamic_cast<RimSummaryCaseCollection*>( uiItem ) )
if ( dynamic_cast<RimSummaryCase*>( firstUiItem ) || dynamic_cast<RimSummaryCaseCollection*>( firstUiItem ) )
{
menuBuilder << "RicCreatePlotFromSelectionFeature";
menuBuilder << "RicCreatePlotFromTemplateByShortcutFeature";
@ -882,15 +890,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
}
if ( dynamic_cast<RimWellLogFileChannel*>( uiItem ) )
if ( dynamic_cast<RimWellLogFileChannel*>( firstUiItem ) )
{
menuBuilder << "RicAddWellLogToPlotFeature";
}
else if ( dynamic_cast<RimEclipseStatisticsCase*>( uiItem ) )
else if ( dynamic_cast<RimEclipseStatisticsCase*>( firstUiItem ) )
{
createExecuteScriptForCasesFeatureMenu( menuBuilder );
}
else if ( dynamic_cast<RimEclipseCase*>( uiItem ) )
else if ( dynamic_cast<RimEclipseCase*>( firstUiItem ) )
{
menuBuilder << "RicAddEclipseInputPropertyFeature";
menuBuilder << "RicReloadCaseFeature";
@ -898,34 +906,34 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
createExecuteScriptForCasesFeatureMenu( menuBuilder );
menuBuilder << "RicCloseSourSimDataFeature";
}
else if ( dynamic_cast<RimSummaryPlot*>( uiItem ) )
else if ( dynamic_cast<RimSummaryPlot*>( firstUiItem ) )
{
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>( uiItem );
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>( firstUiItem );
if ( !summaryCrossPlot )
{
menuBuilder << "RicAsciiExportSummaryPlotFeature";
}
}
else if ( dynamic_cast<RimWellLogPlot*>( uiItem ) )
else if ( dynamic_cast<RimWellLogPlot*>( firstUiItem ) )
{
menuBuilder << "RicAsciiExportWellLogPlotFeature";
menuBuilder << "RicExportToLasFileFeature";
menuBuilder << "RicChangeDataSourceFeature";
}
else if ( dynamic_cast<RimWellLogCurve*>( uiItem ) || dynamic_cast<RimWellLogTrack*>( uiItem ) )
else if ( dynamic_cast<RimWellLogCurve*>( firstUiItem ) || dynamic_cast<RimWellLogTrack*>( firstUiItem ) )
{
menuBuilder << "RicExportToLasFileFeature";
menuBuilder << "RicChangeDataSourceFeature";
}
else if ( dynamic_cast<RimWellLogPlotCollection*>( uiItem ) )
else if ( dynamic_cast<RimWellLogPlotCollection*>( firstUiItem ) )
{
menuBuilder << "RicExportToLasFileFeature";
}
else if ( dynamic_cast<RimFaultInView*>( uiItem ) )
else if ( dynamic_cast<RimFaultInView*>( firstUiItem ) )
{
menuBuilder << "RicExportFaultsFeature";
}
else if ( dynamic_cast<RimSimWellInView*>( uiItem ) )
else if ( dynamic_cast<RimSimWellInView*>( firstUiItem ) )
{
menuBuilder << "RicShowContributingWellsFeature";
menuBuilder << "Separator";
@ -944,28 +952,30 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
{
bool toggleCommandCandidate = true;
if ( firstUiItem )
{
if ( dynamic_cast<RimEclipseCellColors*>( uiItems[0] ) )
if ( dynamic_cast<RimEclipseCellColors*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
else if ( dynamic_cast<RimCellEdgeColors*>( uiItems[0] ) )
else if ( dynamic_cast<RimCellEdgeColors*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
else if ( dynamic_cast<RimEclipseFaultColors*>( uiItems[0] ) )
else if ( dynamic_cast<RimEclipseFaultColors*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
else if ( dynamic_cast<RimEclipseFaultColors*>( uiItems[0] ) )
else if ( dynamic_cast<RimEclipseFaultColors*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
else if ( dynamic_cast<RimVirtualPerforationResults*>( uiItems[0] ) )
else if ( dynamic_cast<RimVirtualPerforationResults*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
else if ( dynamic_cast<RimGeoMechCellColors*>( uiItems[0] ) )
else if ( dynamic_cast<RimGeoMechCellColors*>( firstUiItem ) )
{
toggleCommandCandidate = false;
}
@ -987,7 +997,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
menuBuilder.addSeparator();
}
if ( dynamic_cast<RimRegularLegendConfig*>( uiItems[0] ) == nullptr )
if ( dynamic_cast<RimRegularLegendConfig*>( firstUiItem ) == nullptr )
{
menuBuilder << "RicToggleItemsOnOthersOffFeature";
}