diff --git a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp index 56a71f27be..efb5a74ecf 100644 --- a/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp +++ b/ApplicationCode/ProjectDataModel/RimContextCommandBuilder.cpp @@ -155,12 +155,17 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() std::vector 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( uiItem ) ) + if ( dynamic_cast( firstUiItem ) ) { menuBuilder.subMenuStart( "Import" ); menuBuilder << "RicImportEclipseCaseFeature"; @@ -171,7 +176,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.subMenuEnd(); menuBuilder << "RicEclipseCaseNewGroupFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteGeoMechViewsFeature"; menuBuilder << "Separator"; @@ -183,7 +188,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicCopyReferencesToClipboardFeature"; menuBuilder << "RicExportContourMapToTextFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEclipseViewsFeature"; menuBuilder << "Separator"; @@ -197,27 +202,27 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicExportContourMapToTextFeature"; menuBuilder << "RicSaveEclipseInputVisibleCellsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewContourMapViewFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewContourMapViewFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEclipseCasesFeature"; menuBuilder << "Separator"; menuBuilder << "RicNewStatisticsCaseFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewViewFeature"; menuBuilder << "RicComputeStatisticsFeature"; menuBuilder << "Separator"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEclipseCasesFeature"; menuBuilder << "RicPasteEclipseViewsFeature"; @@ -231,12 +236,12 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicCopyReferencesToClipboardFeature"; menuBuilder << "Separator"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportCompletionsForTemporaryLgrsFeature"; menuBuilder << "RicDeleteTemporaryLgrsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteGeoMechViewsFeature"; menuBuilder << "Separator"; @@ -246,60 +251,60 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicImportElementPropertyFeature"; menuBuilder << "Separator"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEclipseCasesFeature"; menuBuilder << "Separator"; menuBuilder << "RicEclipseCaseNewGroupFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicSaveEclipseResultAsInputPropertyFeature"; menuBuilder << "RicExportEclipseInputGridFeature"; menuBuilder << "RicSaveEclipseInputVisibleCellsFeature"; menuBuilder << "RicCreateGridCrossPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddEclipseInputPropertyFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicSaveEclipseInputPropertyFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicRangeFilterNewFeature"; menuBuilder << "RicRangeFilterNewSliceIFeature"; menuBuilder << "RicRangeFilterNewSliceJFeature"; menuBuilder << "RicRangeFilterNewSliceKFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicRangeFilterInsertFeature"; menuBuilder << "RicRangeFilterNewSliceIFeature"; menuBuilder << "RicRangeFilterNewSliceJFeature"; menuBuilder << "RicRangeFilterNewSliceKFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicEclipsePropertyFilterNewFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicEclipsePropertyFilterInsertFeature"; menuBuilder << "RicApplyPropertyFilterAsCellResultFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicGeoMechPropertyFilterNewFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicGeoMechPropertyFilterInsertFeature"; menuBuilder << "RicApplyPropertyFilterAsCellResultFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewEditableWellPathFeature"; menuBuilder.addSeparator(); @@ -320,7 +325,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.subMenuEnd(); appendExportCompletions( menuBuilder ); } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewEditableWellPathFeature"; menuBuilder << "RicNewWellPathIntersectionFeature"; @@ -351,12 +356,12 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); - if ( dynamic_cast( uiItem ) ) + if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowWellPlanFeature"; } } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder.subMenuStart( "Create Completions", QIcon( ":/CompletionsSymbol16x16.png" ) ); menuBuilder << "RicNewPerforationIntervalFeature"; @@ -367,39 +372,43 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); appendExportCompletions( menuBuilder ); } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewPerforationIntervalFeature"; - if ( dynamic_cast( uiItem ) ) menuBuilder << "RicNewValveFeature"; + if ( dynamic_cast( firstUiItem ) ) menuBuilder << "RicNewValveFeature"; menuBuilder.addSeparator(); menuBuilder << "RicEditPerforationCollectionFeature"; menuBuilder.addSeparator(); appendExportCompletions( menuBuilder ); } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) || - dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewFishbonesSubsFeature"; appendExportCompletions( menuBuilder ); } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewWellPathFractureFeature"; appendExportCompletions( menuBuilder ); } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicDeleteWellPathAttributeFeature"; } - else if ( dynamic_cast( uiItem ) || - dynamic_cast( uiItem ) || - dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAdd3dWellLogCurveFeature"; menuBuilder << "RicAdd3dWellLogFileCurveFeature"; menuBuilder << "RicAdd3dWellLogRftCurveFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicWellPathsImportFileFeature"; menuBuilder << "RicWellLogsImportFileFeature"; @@ -422,15 +431,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() } menuBuilder.subMenuEnd(); } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicDeleteRftPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicDeletePltPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicEditScriptFeature"; menuBuilder << "Separator"; @@ -441,7 +450,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicExecuteScriptFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewOctaveScriptFeature"; #ifdef ENABLE_GRPC @@ -453,32 +462,32 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicDeleteScriptPathFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowAllLinkedViewsFeature"; } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowAllLinkedViewsFeature"; menuBuilder << "Separator"; menuBuilder << "RicDeleteAllLinkedViewsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteWellLogPlotFeature"; menuBuilder << "Separator"; menuBuilder << "RicNewWellLogPlotFeature"; menuBuilder << "RicNewWellBoreStabilityPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewRftPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewPltPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteSummaryPlotFeature"; menuBuilder << "RicPasteAsciiDataToSummaryPlotFeature"; @@ -488,13 +497,13 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicShowSummaryCurveCalculatorFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteSummaryCrossPlotFeature"; menuBuilder << "Separator"; menuBuilder << "RicNewSummaryCrossPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteWellLogPlotFeature"; menuBuilder << "RicPasteWellLogTrackFeature"; @@ -502,7 +511,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicNewWellLogPlotTrackFeature"; menuBuilder << "RicAsciiExportWellLogPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteWellLogTrackFeature"; menuBuilder << "RicPasteWellLogCurveFeature"; @@ -513,34 +522,34 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicDeleteSubPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteWellLogCurveFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicCreateGridCrossPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicCreateSaturationPressurePlotsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteGridCrossPlotDataSetFeature"; menuBuilder << "Separator"; menuBuilder << "RicCreateGridCrossPlotDataSetFeature"; menuBuilder << "RicSwapGridCrossPlotDataSetAxesFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteGridCrossPlotDataSetFeature"; menuBuilder << "Separator"; menuBuilder << "RicSwapGridCrossPlotDataSetAxesFeature"; } - else if ( dynamic_cast( uiItem ) ) // This is also the definition for RimSummaryCrossPlot + else if ( dynamic_cast( firstUiItem ) ) // This is also the definition for RimSummaryCrossPlot { - RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast( uiItem ); + RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast( firstUiItem ); menuBuilder << "RicPasteSummaryCurveFeature"; menuBuilder << "RicPasteSummaryCrossPlotCurveFeature"; @@ -567,7 +576,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicDeleteSubPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteSummaryCurveFeature"; menuBuilder << "RicPasteSummaryCrossPlotCurveFeature"; @@ -585,7 +594,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicEditSummaryCurveCalculationFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteSummaryCurveFeature"; menuBuilder << "RicPasteSummaryCrossPlotCurveFeature"; @@ -594,23 +603,23 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicNewSummaryCurveFeature"; menuBuilder << "RicNewSummaryCrossPlotCurveFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewSummaryEnsembleCurveSetFeature"; menuBuilder << "RicPasteEnsembleCurveSetFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewSummaryEnsembleCurveSetFeature"; menuBuilder << "Separator"; menuBuilder << "RicSetSourceSteppingEnsembleCurveSetFeature"; menuBuilder << "RicClearSourceSteppingEnsembleCurveSetFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewEnsembleCurveFilterFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicImportSummaryCaseFeature"; menuBuilder << "RicImportSummaryCasesFeature"; @@ -618,7 +627,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicImportEnsembleFeature"; menuBuilder << "RicNewDerivedEnsembleFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder.subMenuStart( "Import" ); menuBuilder << "RicImportSummaryCaseFeature"; @@ -635,7 +644,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicConvertGroupToEnsembleFeature"; menuBuilder.addSeparator(); } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder.subMenuStart( "Import" ); menuBuilder << "RicImportSummaryCaseFeature"; @@ -649,17 +658,17 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicNewSummaryCrossPlotFeature"; menuBuilder.addSeparator(); - if ( !dynamic_cast( uiItem ) ) + if ( !dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowSummaryCurveCalculatorFeature"; // menuBuilder << "RicNewSummaryPlotFeature"; } } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddWellLogToPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteIntersectionsFeature"; menuBuilder.addSeparator(); @@ -668,7 +677,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteIntersectionsFeature"; menuBuilder.addSeparator(); @@ -679,7 +688,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteIntersectionsFeature"; menuBuilder.addSeparator(); @@ -688,7 +697,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewWellLogCurveExtractionFeature"; menuBuilder << "RicNewWellLogRftCurveFeature"; @@ -704,58 +713,58 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicImportFormationNamesFeature"; menuBuilder << "RicReloadFormationNamesFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicImportFormationNamesFeature"; menuBuilder << "Separator"; menuBuilder << "RicReloadFormationNamesFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportFaultsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddStoredWellAllocationPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddStoredFlowCharacteristicsPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowFlowCharacteristicsPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowFlowCharacteristicsPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowGridStatisticsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewSimWellFractureFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicNewValveTemplateFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicDeleteValveTemplateFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEllipseFractureFeature"; menuBuilder << "RicPasteStimPlanFractureFeature"; @@ -766,7 +775,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicConvertAllFractureTemplatesToMetricFeature"; menuBuilder << "RicConvertAllFractureTemplatesToFieldFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteStimPlanFractureFeature"; menuBuilder << "RicPasteEllipseFractureFeature"; @@ -776,7 +785,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicConvertFractureTemplateUnitFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicPasteEllipseFractureFeature"; menuBuilder << "RicPasteStimPlanFractureFeature"; @@ -786,23 +795,24 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "Separator"; menuBuilder << "RicConvertFractureTemplateUnitFeature"; } - else if ( dynamic_cast( uiItem ) || - dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicCreateTextAnnotationFeature"; menuBuilder << "RicCreateReachCircleAnnotationFeature"; menuBuilder << "RicCreateUserDefinedPolylinesAnnotationFeature"; menuBuilder << "RicImportPolylinesAnnotationFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicCreateTextAnnotationFeature"; } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || + dynamic_cast( firstUiItem ) ) { menuBuilder << "RicReloadPlotTemplatesFeature"; } - if ( dynamic_cast( uiItem ) ) + if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "Separator"; menuBuilder << "RicLinkVisibleViewsFeature"; @@ -812,7 +822,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 @@ -821,8 +831,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"; @@ -854,7 +862,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder << "RicCutReferencesToClipboardFeature"; menuBuilder << "Separator"; - if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + if ( dynamic_cast( firstUiItem ) || dynamic_cast( firstUiItem ) ) { menuBuilder << "RicCreatePlotFromSelectionFeature"; menuBuilder << "RicCreatePlotFromTemplateByShortcutFeature"; @@ -878,15 +886,15 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); } - if ( dynamic_cast( uiItem ) ) + if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddWellLogToPlotFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { createExecuteScriptForCasesFeatureMenu( menuBuilder ); } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAddEclipseInputPropertyFeature"; menuBuilder << "RicReloadCaseFeature"; @@ -894,34 +902,34 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() createExecuteScriptForCasesFeatureMenu( menuBuilder ); menuBuilder << "RicCloseSourSimDataFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { - RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast( uiItem ); + RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast( firstUiItem ); if ( !summaryCrossPlot ) { menuBuilder << "RicAsciiExportSummaryPlotFeature"; } } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicAsciiExportWellLogPlotFeature"; menuBuilder << "RicExportToLasFileFeature"; menuBuilder << "RicChangeDataSourceFeature"; } - else if ( dynamic_cast( uiItem ) || dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) || dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportToLasFileFeature"; menuBuilder << "RicChangeDataSourceFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportToLasFileFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicExportFaultsFeature"; } - else if ( dynamic_cast( uiItem ) ) + else if ( dynamic_cast( firstUiItem ) ) { menuBuilder << "RicShowContributingWellsFeature"; menuBuilder << "Separator"; @@ -940,28 +948,30 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() { bool toggleCommandCandidate = true; + + if ( firstUiItem ) { - if ( dynamic_cast( uiItems[0] ) ) + if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } - else if ( dynamic_cast( uiItems[0] ) ) + else if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } - else if ( dynamic_cast( uiItems[0] ) ) + else if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } - else if ( dynamic_cast( uiItems[0] ) ) + else if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } - else if ( dynamic_cast( uiItems[0] ) ) + else if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } - else if ( dynamic_cast( uiItems[0] ) ) + else if ( dynamic_cast( firstUiItem ) ) { toggleCommandCandidate = false; } @@ -983,7 +993,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection() menuBuilder.addSeparator(); } - if ( dynamic_cast( uiItems[0] ) == nullptr ) + if ( dynamic_cast( firstUiItem ) == nullptr ) { menuBuilder << "RicToggleItemsOnOthersOffFeature"; }