2015-11-18 09:35:38 +01:00
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
//
|
|
|
|
|
// Copyright (C) 2015- Statoil ASA
|
|
|
|
|
// Copyright (C) 2015- Ceetron Solutions AS
|
|
|
|
|
//
|
|
|
|
|
// ResInsight is free software: you can redistribute it and/or modify
|
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
// (at your option) any later version.
|
|
|
|
|
//
|
|
|
|
|
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
|
|
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
|
// FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
|
//
|
|
|
|
|
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
|
|
|
|
// for more details.
|
|
|
|
|
//
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
#include "RimContextCommandBuilder.h"
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
#include "RiaApplication.h"
|
|
|
|
|
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "Rim3dOverlayInfoConfig.h"
|
2018-04-19 11:26:03 +02:00
|
|
|
#include "Rim3dWellLogCurveCollection.h"
|
|
|
|
|
#include "Rim3dWellLogExtractionCurve.h"
|
|
|
|
|
#include "Rim3dWellLogFileCurve.h"
|
|
|
|
|
#include "Rim3dWellLogRftCurve.h"
|
2018-11-23 13:33:59 +01:00
|
|
|
#include "RimAnnotationCollection.h"
|
2018-11-26 14:48:06 +01:00
|
|
|
#include "RimAnnotationInViewCollection.h"
|
2018-12-05 10:23:15 +01:00
|
|
|
#include "RimAnnotationGroupCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimCalcScript.h"
|
|
|
|
|
#include "RimCaseCollection.h"
|
|
|
|
|
#include "RimCellRangeFilter.h"
|
|
|
|
|
#include "RimCellRangeFilterCollection.h"
|
2019-01-16 10:51:43 +01:00
|
|
|
#include "RimEclipseContourMapViewCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimEclipseCase.h"
|
|
|
|
|
#include "RimEclipseCaseCollection.h"
|
|
|
|
|
#include "RimEclipseCellColors.h"
|
|
|
|
|
#include "RimEclipseInputProperty.h"
|
|
|
|
|
#include "RimEclipseInputPropertyCollection.h"
|
|
|
|
|
#include "RimEclipsePropertyFilter.h"
|
|
|
|
|
#include "RimEclipsePropertyFilterCollection.h"
|
|
|
|
|
#include "RimEclipseStatisticsCase.h"
|
|
|
|
|
#include "RimEclipseView.h"
|
2018-05-31 10:23:51 +02:00
|
|
|
#include "RimEnsembleCurveFilterCollection.h"
|
2018-04-19 14:00:00 +02:00
|
|
|
#include "RimEnsembleCurveSetCollection.h"
|
2018-04-20 14:58:39 +02:00
|
|
|
#include "RimEnsembleCurveSet.h"
|
2017-10-13 15:01:52 +02:00
|
|
|
#include "RimFaultInView.h"
|
2017-09-19 14:19:39 +02:00
|
|
|
#include "RimFlowCharacteristicsPlot.h"
|
2017-03-28 23:35:53 +02:00
|
|
|
#include "RimFlowDiagSolution.h"
|
2017-03-29 09:28:14 +02:00
|
|
|
#include "RimFlowPlotCollection.h"
|
2016-08-24 08:30:12 +02:00
|
|
|
#include "RimFormationNames.h"
|
|
|
|
|
#include "RimFormationNamesCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimGeoMechCase.h"
|
2019-01-16 10:51:43 +01:00
|
|
|
#include "RimGeoMechContourMapViewCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimGeoMechPropertyFilter.h"
|
|
|
|
|
#include "RimGeoMechPropertyFilterCollection.h"
|
|
|
|
|
#include "RimGeoMechView.h"
|
2018-10-24 13:01:17 +02:00
|
|
|
#include "RimGridCollection.h"
|
2019-02-21 12:52:23 +01:00
|
|
|
#include "RimGridCrossPlot.h"
|
|
|
|
|
#include "RimGridCrossPlotCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimIdenticalGridCaseGroup.h"
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "RimIntersection.h"
|
2016-09-20 12:03:26 +02:00
|
|
|
#include "RimIntersectionBox.h"
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "RimIntersectionCollection.h"
|
2017-09-19 14:19:39 +02:00
|
|
|
#include "RimObservedData.h"
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "RimPltPlotCollection.h"
|
2017-11-19 01:12:39 +01:00
|
|
|
#include "RimProject.h"
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "RimRftPlotCollection.h"
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "RimScriptCollection.h"
|
2017-10-13 09:29:42 +02:00
|
|
|
#include "RimSimWellInView.h"
|
2017-10-13 14:20:47 +02:00
|
|
|
#include "RimSimWellInViewCollection.h"
|
2016-07-01 09:20:20 +02:00
|
|
|
#include "RimSummaryCase.h"
|
2018-04-18 13:56:01 +02:00
|
|
|
#include "RimSummaryCaseCollection.h"
|
|
|
|
|
#include "RimSummaryCaseMainCollection.h"
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "RimSummaryCrossPlot.h"
|
2017-11-07 21:26:44 +01:00
|
|
|
#include "RimSummaryCrossPlotCollection.h"
|
2016-05-25 13:15:17 +02:00
|
|
|
#include "RimSummaryCurve.h"
|
2017-10-02 13:03:45 +02:00
|
|
|
#include "RimSummaryCurveCollection.h"
|
2016-07-01 09:20:20 +02:00
|
|
|
#include "RimSummaryPlot.h"
|
|
|
|
|
#include "RimSummaryPlotCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimViewController.h"
|
|
|
|
|
#include "RimViewLinker.h"
|
2017-02-02 12:32:01 +01:00
|
|
|
#include "RimWellAllocationPlot.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimWellLogCurve.h"
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "RimWellLogFile.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimWellLogFileChannel.h"
|
|
|
|
|
#include "RimWellLogPlot.h"
|
|
|
|
|
#include "RimWellLogPlotCollection.h"
|
|
|
|
|
#include "RimWellLogTrack.h"
|
|
|
|
|
#include "RimWellPath.h"
|
2018-10-19 16:39:28 +02:00
|
|
|
#include "RimWellPathAttributeCollection.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "RimWellPathCollection.h"
|
2017-10-23 13:57:01 +02:00
|
|
|
#include "RimWellPltPlot.h"
|
2017-12-18 14:50:08 +01:00
|
|
|
#include "RimWellRftPlot.h"
|
2017-08-21 20:44:28 +02:00
|
|
|
|
|
|
|
|
#include "RimEllipseFractureTemplate.h"
|
|
|
|
|
#include "RimStimPlanFractureTemplate.h"
|
|
|
|
|
#include "RimFractureTemplateCollection.h"
|
|
|
|
|
#include "RimFractureTemplate.h"
|
|
|
|
|
#include "RimSimWellFracture.h"
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "RimWellPathFracture.h"
|
|
|
|
|
#include "RimWellPathFractureCollection.h"
|
2018-09-26 12:38:53 +02:00
|
|
|
#include "RimModeledWellPath.h"
|
2018-12-13 19:49:37 +01:00
|
|
|
#include "RimValveTemplate.h"
|
|
|
|
|
#include "RimValveTemplateCollection.h"
|
2016-12-19 10:30:14 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
#include "RiuMainWindow.h"
|
|
|
|
|
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "ToggleCommands/RicToggleItemsFeatureImpl.h"
|
|
|
|
|
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "cafCmdFeature.h"
|
|
|
|
|
#include "cafCmdFeatureManager.h"
|
2017-11-19 01:12:39 +01:00
|
|
|
#include "cafCmdFeatureMenuBuilder.h"
|
2015-11-18 09:35:38 +01:00
|
|
|
#include "cafPdmUiItem.h"
|
|
|
|
|
#include "cafSelectionManager.h"
|
2017-11-19 01:12:39 +01:00
|
|
|
#include "cafSelectionManagerTools.h"
|
2017-01-02 11:59:30 +01:00
|
|
|
#include "cvfAssert.h"
|
2015-11-19 18:57:32 +01:00
|
|
|
|
2015-11-18 09:35:38 +01:00
|
|
|
#include <vector>
|
2015-11-19 18:57:32 +01:00
|
|
|
#include <QMenu>
|
2017-11-19 01:12:39 +01:00
|
|
|
#include <QDir>
|
|
|
|
|
#include "OctaveScriptCommands/RicExecuteScriptForCasesFeature.h"
|
2015-11-19 18:57:32 +01:00
|
|
|
|
2015-11-18 09:35:38 +01:00
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
///
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
2017-11-19 01:12:39 +01:00
|
|
|
caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
2015-11-18 09:35:38 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
//QStringList commandIds;
|
|
|
|
|
caf::CmdFeatureMenuBuilder menuBuilder;
|
2015-11-18 09:35:38 +01:00
|
|
|
|
|
|
|
|
std::vector<caf::PdmUiItem*> uiItems;
|
|
|
|
|
caf::SelectionManager::instance()->selectedItems(uiItems);
|
|
|
|
|
|
2017-06-16 15:46:22 +02:00
|
|
|
if (uiItems.size() == 1)
|
2015-11-18 09:35:38 +01:00
|
|
|
{
|
|
|
|
|
caf::PdmUiItem* uiItem = uiItems[0];
|
|
|
|
|
CVF_ASSERT(uiItem);
|
|
|
|
|
|
|
|
|
|
if (dynamic_cast<RimEclipseCaseCollection*>(uiItem))
|
|
|
|
|
{
|
2018-04-26 11:20:47 +02:00
|
|
|
menuBuilder.subMenuStart("Import");
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicImportEclipseCaseFeature";
|
2018-01-24 14:39:06 +01:00
|
|
|
menuBuilder << "RicImportEclipseCasesFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicImportInputEclipseCaseFeature";
|
|
|
|
|
menuBuilder << "RicCreateGridCaseGroupFeature";
|
2018-01-24 13:18:25 +01:00
|
|
|
menuBuilder << "RicCreateGridCaseGroupFromFilesFeature";
|
2018-04-26 11:20:47 +02:00
|
|
|
menuBuilder.subMenuEnd();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEclipseCaseNewGroupFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimGeoMechView*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteGeoMechViewsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2016-11-17 17:46:36 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewViewFeature";
|
2019-01-16 10:51:43 +01:00
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseView*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteEclipseViewsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewViewFeature";
|
2018-11-09 09:04:40 +01:00
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
|
|
|
|
menuBuilder << "RicSaveEclipseInputVisibleCellsFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2019-01-16 10:51:43 +01:00
|
|
|
else if (dynamic_cast<RimEclipseContourMapViewCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
|
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimGeoMechContourMapViewCollection*>(uiItem))
|
2018-10-23 16:32:40 +02:00
|
|
|
{
|
2018-11-09 09:04:40 +01:00
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
2018-10-23 16:32:40 +02:00
|
|
|
}
|
2015-11-18 09:35:38 +01:00
|
|
|
else if (dynamic_cast<RimCaseCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteEclipseCasesFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewStatisticsCaseFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseStatisticsCase*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewViewFeature";
|
|
|
|
|
menuBuilder << "RicComputeStatisticsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseCase*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteEclipseCasesFeature";
|
|
|
|
|
menuBuilder << "RicPasteEclipseViewsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2015-11-18 09:35:38 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewViewFeature";
|
2018-11-09 09:04:40 +01:00
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
|
|
|
|
|
menuBuilder << "RicEclipseCaseNewGroupFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2018-10-24 13:01:17 +02:00
|
|
|
else if (dynamic_cast<RimGridInfoCollection*>(uiItem))
|
|
|
|
|
{
|
2018-11-08 11:24:40 +01:00
|
|
|
menuBuilder << "RicExportCompletionsForTemporaryLgrsFeature";
|
2018-10-24 13:01:17 +02:00
|
|
|
menuBuilder << "RicDeleteTemporaryLgrsFeature";
|
|
|
|
|
}
|
2015-11-18 09:35:38 +01:00
|
|
|
else if (dynamic_cast<RimGeoMechCase*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteGeoMechViewsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewViewFeature";
|
2019-01-16 10:51:43 +01:00
|
|
|
menuBuilder << "RicNewContourMapViewFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
2018-01-09 08:45:47 +01:00
|
|
|
menuBuilder << "RicImportElementPropertyFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimIdenticalGridCaseGroup*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteEclipseCasesFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicEclipseCaseNewGroupFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseCellColors*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicSaveEclipseResultAsInputPropertyFeature";
|
2017-12-12 16:07:02 +01:00
|
|
|
menuBuilder << "RicSaveEclipseInputVisibleCellsFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseInputPropertyCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAddEclipseInputPropertyFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseInputProperty*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicSaveEclipseInputPropertyFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimCellRangeFilterCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicRangeFilterNewFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceIFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceJFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceKFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimCellRangeFilter*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicRangeFilterInsertFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceIFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceJFeature";
|
|
|
|
|
menuBuilder << "RicRangeFilterNewSliceKFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipsePropertyFilterCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEclipsePropertyFilterNewFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipsePropertyFilter*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEclipsePropertyFilterInsertFeature";
|
|
|
|
|
menuBuilder << "RicApplyPropertyFilterAsCellResultFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimGeoMechPropertyFilterCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicGeoMechPropertyFilterNewFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimGeoMechPropertyFilter*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicGeoMechPropertyFilterInsertFeature";
|
|
|
|
|
menuBuilder << "RicApplyPropertyFilterAsCellResultFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellPathCollection*>(uiItem))
|
|
|
|
|
{
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuStart("Import");
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellPathsImportFileFeature";
|
|
|
|
|
menuBuilder << "RicWellPathsImportSsihubFeature";
|
2017-11-24 10:02:28 +01:00
|
|
|
menuBuilder << "RicWellPathFormationsImportFileFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellLogsImportFileFeature";
|
2017-12-06 12:01:15 +01:00
|
|
|
menuBuilder << "RicReloadWellPathFormationNamesFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder << "RicWellPathImportPerforationIntervalsFeature";
|
|
|
|
|
menuBuilder.subMenuEnd();
|
2018-09-11 10:41:58 +02:00
|
|
|
|
|
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
|
|
|
|
|
menuBuilder << "RicNewEditableWellPathFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellPath*>(uiItem))
|
|
|
|
|
{
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuStart("Import");
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellPathsImportFileFeature";
|
2017-11-24 10:02:28 +01:00
|
|
|
menuBuilder << "RicWellPathFormationsImportFileFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellLogsImportFileFeature";
|
2017-12-06 12:01:15 +01:00
|
|
|
menuBuilder << "RicReloadWellPathFormationNamesFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
|
|
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
|
2018-05-06 10:07:49 +02:00
|
|
|
menuBuilder.subMenuStart("Well Plots", QIcon(":/WellLogTrack16x16.png"));
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewRftPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewPltPlotFeature";
|
2017-11-30 12:05:43 +01:00
|
|
|
menuBuilder << "RicShowWellAllocationPlotFeature";
|
2018-06-29 11:48:10 +02:00
|
|
|
menuBuilder << "RicNewWellBoreStabilityPlotFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewWellLogFileCurveFeature";
|
|
|
|
|
menuBuilder << "RicNewWellLogCurveExtractionFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
|
|
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
|
2018-03-15 13:03:22 +01:00
|
|
|
menuBuilder.subMenuStart("3D Well Log Curves", QIcon(":/WellLogCurve16x16.png"));
|
2018-03-07 12:02:13 +01:00
|
|
|
menuBuilder << "RicAdd3dWellLogCurveFeature";
|
2018-08-22 12:05:18 +02:00
|
|
|
menuBuilder << "RicAdd3dWellLogFileCurveFeature";
|
|
|
|
|
menuBuilder << "RicAdd3dWellLogRftCurveFeature";
|
2018-03-15 13:03:22 +01:00
|
|
|
menuBuilder.subMenuEnd();
|
2018-09-26 12:38:53 +02:00
|
|
|
|
2018-09-11 10:41:58 +02:00
|
|
|
menuBuilder << "RicNewEditableWellPathFeature";
|
2018-03-07 15:54:49 +01:00
|
|
|
menuBuilder << "RicNewWellPathIntersectionFeature";
|
|
|
|
|
|
2018-03-07 12:02:13 +01:00
|
|
|
menuBuilder.addSeparator();
|
2018-10-31 09:40:35 +01:00
|
|
|
menuBuilder.subMenuStart("Completions", QIcon(":/CompletionsSymbol16x16.png"));
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder << "RicNewPerforationIntervalFeature";
|
|
|
|
|
menuBuilder << "RicEditPerforationCollectionFeature";
|
2019-02-07 07:26:25 +01:00
|
|
|
menuBuilder << "RicNewValveFeature";
|
|
|
|
|
menuBuilder << "RicNewFishbonesSubsFeature";
|
|
|
|
|
menuBuilder << "RicNewWellPathFractureFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
|
2018-11-13 15:43:36 +01:00
|
|
|
menuBuilder.subMenuStart("Export Completions", QIcon(":/ExportCompletionsSymbol16x16.png"));
|
2018-04-06 14:09:40 +02:00
|
|
|
menuBuilder << "RicExportCompletionsForVisibleWellPathsFeature";
|
|
|
|
|
menuBuilder << "RicWellPathExportCompletionDataFeature";
|
2018-04-09 09:29:41 +02:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
|
2018-09-26 12:38:53 +02:00
|
|
|
if ( dynamic_cast<RimModeledWellPath*>(uiItem) )
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicShowWellPlanFeature";
|
|
|
|
|
}
|
2018-10-19 16:29:46 +02:00
|
|
|
menuBuilder << "RicNewWellPathAttributeFeature";
|
2019-02-07 07:26:25 +01:00
|
|
|
menuBuilder << "RicCreateMultipleFracturesFeature";
|
2018-08-02 14:03:35 +02:00
|
|
|
|
2018-04-09 09:29:41 +02:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2018-10-19 16:39:28 +02:00
|
|
|
else if (dynamic_cast<RimWellPathAttributeCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicDeleteWellPathAttributeFeature";
|
|
|
|
|
}
|
2018-04-19 11:26:03 +02:00
|
|
|
else if (dynamic_cast<Rim3dWellLogCurveCollection*>(uiItem) ||
|
|
|
|
|
dynamic_cast<Rim3dWellLogExtractionCurve*>(uiItem) ||
|
|
|
|
|
dynamic_cast<Rim3dWellLogFileCurve*>(uiItem) ||
|
|
|
|
|
dynamic_cast<Rim3dWellLogRftCurve*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicAdd3dWellLogCurveFeature";
|
|
|
|
|
menuBuilder << "RicAdd3dWellLogFileCurveFeature";
|
|
|
|
|
menuBuilder << "RicAdd3dWellLogRftCurveFeature";
|
|
|
|
|
}
|
2017-11-02 10:24:36 +01:00
|
|
|
else if (dynamic_cast<RimWellLogFile*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellPathsImportFileFeature";
|
|
|
|
|
menuBuilder << "RicWellLogsImportFileFeature";
|
|
|
|
|
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
|
|
|
|
|
menuBuilder.subMenuStart("Move LAS file to well path");
|
|
|
|
|
|
|
|
|
|
RimWellPath* parentWellPath = caf::firstAncestorOfTypeFromSelectedObject<RimWellPath*>();
|
|
|
|
|
QString parentWellPathName = parentWellPath ? parentWellPath->name() : "";
|
|
|
|
|
|
|
|
|
|
for (RimWellPath* wellPath : allWellPaths())
|
|
|
|
|
{
|
|
|
|
|
if (wellPath->name() != parentWellPathName)
|
|
|
|
|
{
|
|
|
|
|
menuBuilder.addCmdFeatureWithUserData("RicMoveWellLogFilesFeature", wellPath->name(), wellPath->name());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
menuBuilder.subMenuEnd();
|
2017-11-02 10:24:36 +01:00
|
|
|
}
|
2017-09-29 11:24:18 +02:00
|
|
|
else if (dynamic_cast<RimWellRftPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicDeleteRftPlotFeature";
|
2017-09-29 11:24:18 +02:00
|
|
|
}
|
2017-10-23 13:57:01 +02:00
|
|
|
else if (dynamic_cast<RimWellPltPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicDeletePltPlotFeature";
|
2017-10-23 13:57:01 +02:00
|
|
|
}
|
2015-11-18 09:35:38 +01:00
|
|
|
else if (dynamic_cast<RimCalcScript*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEditScriptFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewScriptFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicExecuteScriptFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimScriptCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewScriptFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicAddScriptPathFeature";
|
|
|
|
|
menuBuilder << "RicRefreshScriptsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicDeleteScriptPathFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimViewController*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowAllLinkedViewsFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimViewLinker*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowAllLinkedViewsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicDeleteAllLinkedViewsFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellLogPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteWellLogPlotFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewWellLogPlotFeature";
|
2018-08-22 10:35:30 +02:00
|
|
|
menuBuilder << "RicNewWellBoreStabilityPlotFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2017-10-05 16:25:04 +02:00
|
|
|
else if (dynamic_cast<RimRftPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewRftPlotFeature";
|
2017-10-05 16:25:04 +02:00
|
|
|
}
|
2017-10-23 13:57:01 +02:00
|
|
|
else if (dynamic_cast<RimPltPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewPltPlotFeature";
|
2017-10-23 13:57:01 +02:00
|
|
|
}
|
2016-05-25 13:15:17 +02:00
|
|
|
else if (dynamic_cast<RimSummaryPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicPasteAsciiDataToSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
|
2016-05-25 13:15:17 +02:00
|
|
|
}
|
2017-11-07 21:26:44 +01:00
|
|
|
else if (dynamic_cast<RimSummaryCrossPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCrossPlotFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewSummaryCrossPlotFeature";
|
2017-11-07 21:26:44 +01:00
|
|
|
}
|
2015-11-18 09:35:38 +01:00
|
|
|
else if (dynamic_cast<RimWellLogPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteWellLogPlotFeature";
|
|
|
|
|
menuBuilder << "RicPasteWellLogTrackFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewWellLogPlotTrackFeature";
|
|
|
|
|
menuBuilder << "RicAsciiExportWellLogPlotFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellLogTrack*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteWellLogTrackFeature";
|
|
|
|
|
menuBuilder << "RicPasteWellLogCurveFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewWellLogCurveExtractionFeature";
|
|
|
|
|
menuBuilder << "RicNewWellLogRftCurveFeature";
|
|
|
|
|
menuBuilder << "RicNewWellLogFileCurveFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicDeleteWellLogPlotTrackFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellLogCurve*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteWellLogCurveFeature";
|
2016-05-25 13:15:17 +02:00
|
|
|
}
|
2019-02-21 12:52:23 +01:00
|
|
|
else if (dynamic_cast<RimGridCrossPlotCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicCreateGridCrossPlotFeature";
|
|
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimGridCrossPlot*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicCreateGridCrossPlotCurveSetFeature";
|
|
|
|
|
}
|
2017-11-15 07:07:26 +01:00
|
|
|
else if (dynamic_cast<RimSummaryPlot*>(uiItem)) // This is also the definition for RimSummaryCrossPlot
|
2016-05-25 13:15:17 +02:00
|
|
|
{
|
2017-12-18 14:50:08 +01:00
|
|
|
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>(uiItem);
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCurveFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicPasteAsciiDataToSummaryPlotFeature";
|
2018-05-08 10:17:05 +02:00
|
|
|
menuBuilder << "RicPasteEnsembleCurveSetFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicEditSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewSummaryPlotFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicDuplicateSummaryPlotFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewSummaryCurveFeature";
|
2018-04-20 14:58:39 +02:00
|
|
|
menuBuilder << "RicNewSummaryEnsembleCurveSetFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicDuplicateSummaryCrossPlotFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewSummaryCrossPlotCurveFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2017-12-18 14:50:08 +01:00
|
|
|
|
|
|
|
|
// Export is not supported for cross plot
|
|
|
|
|
if (!summaryCrossPlot) menuBuilder << "RicAsciiExportSummaryPlotFeature";
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicViewZoomAllFeature";
|
2016-05-25 13:15:17 +02:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimSummaryCurve*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCurveFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
|
2018-12-17 16:00:40 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewSummaryCurveFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicDuplicateSummaryCurveFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewSummaryCrossPlotCurveFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicDuplicateSummaryCrossPlotCurveFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
2018-12-17 16:00:40 +01:00
|
|
|
menuBuilder << "RicSetSourceSteppingSummaryCurveFeature";
|
|
|
|
|
menuBuilder << "RicClearSourceSteppingSummaryCurveFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicEditSummaryCurveCalculationFeature";
|
2016-08-03 09:54:05 +02:00
|
|
|
}
|
2017-10-02 13:03:45 +02:00
|
|
|
else if (dynamic_cast<RimSummaryCurveCollection*>(uiItem))
|
|
|
|
|
{
|
2017-12-11 10:44:17 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCurveFeature";
|
2017-12-12 13:22:16 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCrossPlotCurveFeature";
|
2017-12-11 10:44:17 +01:00
|
|
|
menuBuilder << "Separator";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEditSummaryPlotFeature";
|
2017-11-21 10:22:36 +01:00
|
|
|
menuBuilder << "RicNewSummaryCurveFeature";
|
|
|
|
|
menuBuilder << "RicNewSummaryCrossPlotCurveFeature";
|
2017-10-02 13:03:45 +02:00
|
|
|
}
|
2018-04-19 14:00:00 +02:00
|
|
|
else if (dynamic_cast<RimEnsembleCurveSetCollection*>(uiItem))
|
2018-04-06 08:16:14 +02:00
|
|
|
{
|
2018-04-19 14:00:00 +02:00
|
|
|
menuBuilder << "RicNewSummaryEnsembleCurveSetFeature";
|
2018-05-08 10:17:05 +02:00
|
|
|
menuBuilder << "RicPasteEnsembleCurveSetFeature";
|
2018-04-06 08:16:14 +02:00
|
|
|
}
|
2018-04-20 14:58:39 +02:00
|
|
|
else if (dynamic_cast<RimEnsembleCurveSet*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewSummaryEnsembleCurveSetFeature";
|
2018-12-17 16:00:40 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicSetSourceSteppingEnsembleCurveSetFeature";
|
|
|
|
|
menuBuilder << "RicClearSourceSteppingEnsembleCurveSetFeature";
|
2018-04-20 14:58:39 +02:00
|
|
|
}
|
2018-05-31 10:23:51 +02:00
|
|
|
else if (dynamic_cast<RimEnsembleCurveFilterCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewEnsembleCurveFilterFeature";
|
|
|
|
|
}
|
2018-04-18 13:56:01 +02:00
|
|
|
else if (dynamic_cast<RimSummaryCaseMainCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicImportSummaryCaseFeature";
|
|
|
|
|
menuBuilder << "RicImportSummaryCasesFeature";
|
2018-05-08 15:22:38 +02:00
|
|
|
menuBuilder << "RicImportSummaryGroupFeature";
|
2018-04-19 14:00:00 +02:00
|
|
|
menuBuilder << "RicImportEnsembleFeature";
|
2018-06-25 15:14:47 +02:00
|
|
|
menuBuilder << "RicNewDerivedEnsembleFeature";
|
2018-04-18 13:56:01 +02:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimSummaryCaseCollection*>(uiItem))
|
|
|
|
|
{
|
2018-05-07 11:04:42 +02:00
|
|
|
menuBuilder.subMenuStart("Import");
|
2018-04-18 13:56:01 +02:00
|
|
|
menuBuilder << "RicImportSummaryCaseFeature";
|
|
|
|
|
menuBuilder << "RicImportSummaryCasesFeature";
|
2018-05-08 15:22:38 +02:00
|
|
|
menuBuilder << "RicImportSummaryGroupFeature";
|
2018-04-19 14:00:00 +02:00
|
|
|
menuBuilder << "RicImportEnsembleFeature";
|
2018-05-07 11:04:42 +02:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-06-25 15:14:47 +02:00
|
|
|
menuBuilder << "RicNewDerivedEnsembleFeature";
|
2018-05-07 09:45:50 +02:00
|
|
|
menuBuilder << "RicNewSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewSummaryCrossPlotFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-05-11 08:32:44 +02:00
|
|
|
menuBuilder << "RicConvertGroupToEnsembleFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-04-18 13:56:01 +02:00
|
|
|
}
|
2016-07-01 09:20:20 +02:00
|
|
|
else if (dynamic_cast<RimSummaryCase*>(uiItem))
|
|
|
|
|
{
|
2018-05-07 11:04:42 +02:00
|
|
|
menuBuilder.subMenuStart("Import");
|
2018-04-18 13:56:01 +02:00
|
|
|
menuBuilder << "RicImportSummaryCaseFeature";
|
|
|
|
|
menuBuilder << "RicImportSummaryCasesFeature";
|
2018-05-08 15:22:38 +02:00
|
|
|
menuBuilder << "RicImportSummaryGroupFeature";
|
2018-04-19 14:00:00 +02:00
|
|
|
menuBuilder << "RicImportEnsembleFeature";
|
2018-05-07 11:04:42 +02:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-05-07 09:45:50 +02:00
|
|
|
menuBuilder << "RicNewSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewSummaryCrossPlotFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-04-18 13:56:01 +02:00
|
|
|
|
2017-09-19 14:19:39 +02:00
|
|
|
if (!dynamic_cast<RimObservedData*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
|
2018-05-07 09:45:50 +02:00
|
|
|
//menuBuilder << "RicNewSummaryPlotFeature";
|
2017-09-19 14:19:39 +02:00
|
|
|
}
|
2016-07-01 09:20:20 +02:00
|
|
|
}
|
2015-11-18 09:35:38 +01:00
|
|
|
else if (dynamic_cast<RimWellLogFileChannel*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAddWellLogToPlotFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2016-09-21 10:52:16 +02:00
|
|
|
else if (dynamic_cast<RimIntersectionCollection*>(uiItem))
|
2015-11-18 10:06:42 +01:00
|
|
|
{
|
2018-01-24 13:10:14 +01:00
|
|
|
menuBuilder << "RicPasteIntersectionsFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAppendIntersectionFeature";
|
|
|
|
|
menuBuilder << "RicAppendIntersectionBoxFeature";
|
2018-02-05 13:23:44 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
|
2015-11-18 10:06:42 +01:00
|
|
|
}
|
2016-09-21 10:48:25 +02:00
|
|
|
else if (dynamic_cast<RimIntersection*>(uiItem))
|
2015-11-18 10:06:42 +01:00
|
|
|
{
|
2018-01-24 13:10:14 +01:00
|
|
|
menuBuilder << "RicPasteIntersectionsFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAppendIntersectionFeature";
|
|
|
|
|
menuBuilder << "RicAppendIntersectionBoxFeature";
|
2018-01-17 11:05:31 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicNewIntersectionViewFeature";
|
2018-02-05 13:23:44 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
|
2015-11-18 10:06:42 +01:00
|
|
|
}
|
2016-09-20 12:03:26 +02:00
|
|
|
else if (dynamic_cast<RimIntersectionBox*>(uiItem))
|
|
|
|
|
{
|
2018-01-24 13:10:14 +01:00
|
|
|
menuBuilder << "RicPasteIntersectionsFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAppendIntersectionFeature";
|
|
|
|
|
menuBuilder << "RicAppendIntersectionBoxFeature";
|
2018-02-05 13:23:44 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
|
2015-11-18 10:06:42 +01:00
|
|
|
}
|
2017-10-13 09:29:42 +02:00
|
|
|
else if (dynamic_cast<RimSimWellInView*>(uiItem))
|
2015-11-18 15:09:50 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewWellLogCurveExtractionFeature";
|
|
|
|
|
menuBuilder << "RicNewWellLogRftCurveFeature";
|
|
|
|
|
menuBuilder << "RicNewSimWellIntersectionFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
|
2018-05-06 10:07:49 +02:00
|
|
|
menuBuilder.subMenuStart("Well Plots", QIcon(":/WellLogTrack16x16.png"));
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewRftPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewPltPlotFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicPlotProductionRateFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowWellAllocationPlotFeature";
|
2017-12-21 14:35:38 +01:00
|
|
|
menuBuilder.subMenuEnd();
|
2018-04-06 14:23:17 +02:00
|
|
|
|
|
|
|
|
menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature";
|
|
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimSimWellInViewCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicExportCompletionsForVisibleSimWellsFeature";
|
2015-11-18 15:09:50 +01:00
|
|
|
}
|
2016-08-24 08:30:12 +02:00
|
|
|
else if(dynamic_cast<RimFormationNames*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicImportFormationNamesFeature";
|
|
|
|
|
menuBuilder << "RicReloadFormationNamesFeature";
|
2016-08-24 08:30:12 +02:00
|
|
|
}
|
|
|
|
|
else if(dynamic_cast<RimFormationNamesCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicImportFormationNamesFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicReloadFormationNamesFeature";
|
2016-08-24 08:30:12 +02:00
|
|
|
}
|
2017-10-13 15:01:52 +02:00
|
|
|
else if ( dynamic_cast<RimFaultInView*>(uiItem) )
|
2016-11-25 15:57:17 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicExportFaultsFeature";
|
2016-11-25 15:57:17 +01:00
|
|
|
}
|
2017-02-02 12:32:01 +01:00
|
|
|
else if (dynamic_cast<RimWellAllocationPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAddStoredWellAllocationPlotFeature";
|
2017-02-02 12:32:01 +01:00
|
|
|
}
|
2017-08-17 12:52:18 +02:00
|
|
|
else if (dynamic_cast<RimFlowCharacteristicsPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAddStoredFlowCharacteristicsPlotFeature";
|
2017-08-17 12:52:18 +02:00
|
|
|
}
|
2017-03-28 23:35:53 +02:00
|
|
|
else if (dynamic_cast<RimFlowDiagSolution*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
|
2017-03-28 23:35:53 +02:00
|
|
|
}
|
2017-03-29 09:28:14 +02:00
|
|
|
else if (dynamic_cast<RimFlowPlotCollection*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowFlowCharacteristicsPlotFeature";
|
2017-03-29 09:28:14 +02:00
|
|
|
}
|
2017-11-15 20:45:56 +01:00
|
|
|
else if (dynamic_cast<Rim3dOverlayInfoConfig*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowGridStatisticsFeature";
|
2017-11-15 20:45:56 +01:00
|
|
|
}
|
2017-02-22 14:40:13 +01:00
|
|
|
else if (dynamic_cast<RimSimWellFracture*>(uiItem))
|
2017-01-02 11:10:25 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewSimWellFractureFeature";
|
2017-01-02 11:10:25 +01:00
|
|
|
}
|
2018-12-13 19:49:37 +01:00
|
|
|
else if (dynamic_cast<RimValveTemplateCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewValveTemplateFeature";
|
|
|
|
|
}
|
2019-01-15 13:49:46 +01:00
|
|
|
else if (dynamic_cast<RimValveTemplate*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicDeleteValveTemplateFeature";
|
|
|
|
|
}
|
2018-02-20 07:20:25 +01:00
|
|
|
else if (dynamic_cast<RimFractureTemplateCollection*>(uiItem))
|
2016-12-19 11:23:02 +01:00
|
|
|
{
|
2018-02-20 07:20:25 +01:00
|
|
|
menuBuilder << "RicPasteEllipseFractureFeature";
|
2018-02-21 09:50:50 +01:00
|
|
|
menuBuilder << "RicPasteStimPlanFractureFeature";
|
2018-02-20 07:20:25 +01:00
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewEllipseFractureTemplateFeature";
|
|
|
|
|
menuBuilder << "RicNewStimPlanFractureTemplateFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicConvertAllFractureTemplatesToMetricFeature";
|
|
|
|
|
menuBuilder << "RicConvertAllFractureTemplatesToFieldFeature";
|
2016-12-19 11:23:02 +01:00
|
|
|
}
|
2018-02-20 07:20:25 +01:00
|
|
|
else if (dynamic_cast<RimStimPlanFractureTemplate*>(uiItem))
|
|
|
|
|
{
|
2018-02-21 09:50:50 +01:00
|
|
|
menuBuilder << "RicPasteStimPlanFractureFeature";
|
|
|
|
|
menuBuilder << "RicPasteEllipseFractureFeature";
|
2018-02-20 07:20:25 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicNewEllipseFractureTemplateFeature";
|
|
|
|
|
menuBuilder << "RicNewStimPlanFractureTemplateFeature";
|
2018-02-20 15:15:06 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicConvertFractureTemplateUnitFeature";
|
2018-02-20 07:20:25 +01:00
|
|
|
}
|
2017-02-14 09:49:14 +01:00
|
|
|
else if (dynamic_cast<RimEllipseFractureTemplate*>(uiItem))
|
|
|
|
|
{
|
2018-02-20 07:20:25 +01:00
|
|
|
menuBuilder << "RicPasteEllipseFractureFeature";
|
2018-02-21 09:50:50 +01:00
|
|
|
menuBuilder << "RicPasteStimPlanFractureFeature";
|
2018-02-20 07:20:25 +01:00
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicNewEllipseFractureTemplateFeature";
|
|
|
|
|
menuBuilder << "RicNewStimPlanFractureTemplateFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicConvertFractureTemplateUnitFeature";
|
2017-02-14 09:49:14 +01:00
|
|
|
}
|
2018-12-05 10:23:15 +01:00
|
|
|
else if (dynamic_cast<RimAnnotationCollection*>(uiItem)
|
|
|
|
|
|| dynamic_cast<RimAnnotationGroupCollection*>(uiItem))
|
2018-11-23 13:33:59 +01:00
|
|
|
{
|
2018-11-26 14:48:06 +01:00
|
|
|
menuBuilder << "RicCreateTextAnnotationFeature";
|
|
|
|
|
menuBuilder << "RicCreateReachCircleAnnotationFeature";
|
|
|
|
|
menuBuilder << "RicCreateUserDefinedPolylinesAnnotationFeature";
|
2018-11-26 14:06:17 +01:00
|
|
|
menuBuilder << "RicImportPolylinesAnnotationFeature";
|
2018-11-26 14:48:06 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimAnnotationInViewCollection*>(uiItem))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicCreateTextAnnotationFeature";
|
2018-11-23 13:33:59 +01:00
|
|
|
}
|
2018-01-09 10:11:28 +01:00
|
|
|
if (dynamic_cast<Rim3dView*>(uiItem))
|
2015-11-18 09:35:38 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicLinkVisibleViewsFeature";
|
|
|
|
|
menuBuilder << "RicShowLinkOptionsFeature";
|
|
|
|
|
menuBuilder << "RicSetMasterViewFeature";
|
|
|
|
|
menuBuilder << "RicUnLinkViewFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2016-07-15 10:36:17 +02:00
|
|
|
if (uiItems.size() > 0)
|
|
|
|
|
{
|
2017-02-06 13:33:56 +01:00
|
|
|
// Work in progress -- Start
|
|
|
|
|
// All commands should be aware of selection of multiple objects
|
|
|
|
|
// Based on the selection, the command feature can decide if the command
|
|
|
|
|
// can be executed, communicated by isCommandEnabled(). When a command feature
|
|
|
|
|
// is aware of multiple selected items, move the command to this list
|
|
|
|
|
// without using dyncamic_cast.
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicPasteTimeHistoryCurveFeature";
|
|
|
|
|
menuBuilder << "RicPasteAsciiDataCurveFeature";
|
2018-01-24 13:10:14 +01:00
|
|
|
menuBuilder << "RicPasteSummaryCaseFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicCopyReferencesToClipboardFeature";
|
2017-03-24 08:36:58 +01:00
|
|
|
|
2018-10-24 13:45:46 +02:00
|
|
|
menuBuilder << "RicLinkViewFeature";
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowPlotDataFeature";
|
|
|
|
|
menuBuilder << "RicShowTotalAllocationDataFeature";
|
2017-04-19 13:44:08 +02:00
|
|
|
|
2018-06-25 15:14:47 +02:00
|
|
|
menuBuilder << "RicNewDerivedEnsembleFeature";
|
2018-05-07 09:45:50 +02:00
|
|
|
menuBuilder << "RicNewSummaryPlotFeature";
|
|
|
|
|
menuBuilder << "RicNewSummaryCrossPlotFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicSummaryCurveSwitchAxisFeature";
|
2018-05-07 09:45:50 +02:00
|
|
|
menuBuilder.addSeparator();
|
2018-05-11 08:32:44 +02:00
|
|
|
menuBuilder << "RicConvertGroupToEnsembleFeature";
|
|
|
|
|
menuBuilder.addSeparator();
|
2018-05-07 09:45:50 +02:00
|
|
|
|
2017-12-21 14:35:38 +01:00
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicNewFishbonesSubsFeature"))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewFishbonesSubsFeature";
|
|
|
|
|
}
|
|
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicNewPerforationIntervalFeature"))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewPerforationIntervalFeature";
|
|
|
|
|
}
|
2018-10-10 11:10:56 +02:00
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicNewValveFeature"))
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicNewValveFeature";
|
|
|
|
|
}
|
2017-12-21 14:35:38 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicEditPerforationCollectionFeature";
|
|
|
|
|
menuBuilder << "RicExportFishbonesLateralsFeature";
|
2018-12-06 13:29:34 +01:00
|
|
|
menuBuilder << "RicExportCompletionsWellSegmentsFeature";
|
2018-04-09 09:29:41 +02:00
|
|
|
{
|
|
|
|
|
QStringList candidates;
|
|
|
|
|
|
|
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicExportCompletionsForVisibleWellPathsFeature"))
|
|
|
|
|
{
|
|
|
|
|
candidates << "RicExportCompletionsForVisibleWellPathsFeature";
|
|
|
|
|
}
|
|
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicWellPathExportCompletionDataFeature"))
|
|
|
|
|
{
|
|
|
|
|
candidates << "RicWellPathExportCompletionDataFeature";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!candidates.isEmpty())
|
|
|
|
|
{
|
2018-11-13 15:43:36 +01:00
|
|
|
menuBuilder.subMenuStart("Export Completions", QIcon(":/ExportCompletionsSymbol16x16.png"));
|
2018-04-09 09:29:41 +02:00
|
|
|
|
|
|
|
|
for (const auto& text : candidates)
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << text;
|
|
|
|
|
}
|
2018-09-21 13:44:27 +02:00
|
|
|
|
|
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
QStringList candidates;
|
|
|
|
|
|
|
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicExportSelectedWellPathsFeature"))
|
|
|
|
|
{
|
|
|
|
|
candidates << "RicExportSelectedWellPathsFeature";
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (!menuBuilder.isCmdFeatureAdded("RicExportVisibleWellPathsFeature"))
|
|
|
|
|
{
|
|
|
|
|
candidates << "RicExportVisibleWellPathsFeature";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!candidates.isEmpty())
|
|
|
|
|
{
|
2018-10-31 09:40:35 +01:00
|
|
|
menuBuilder.subMenuStart("Export Well Paths", QIcon(":/Save.png"));
|
2018-09-21 13:44:27 +02:00
|
|
|
|
|
|
|
|
for (const auto& text : candidates)
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << text;
|
|
|
|
|
}
|
|
|
|
|
|
2018-04-09 09:29:41 +02:00
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicWellPathImportCompletionsFileFeature";
|
|
|
|
|
menuBuilder << "RicFlyToObjectFeature";
|
|
|
|
|
|
|
|
|
|
menuBuilder << "RicImportObservedDataFeature";
|
|
|
|
|
menuBuilder << "RicReloadSummaryCaseFeature";
|
|
|
|
|
menuBuilder << "RicCreateSummaryCaseCollectionFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCutReferencesToClipboardFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
2018-03-12 11:12:39 +01:00
|
|
|
menuBuilder << "RicCloseSummaryCaseFeature";
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicCloseSummaryCaseInCollectionFeature";
|
|
|
|
|
menuBuilder << "RicDeleteSummaryCaseCollectionFeature";
|
|
|
|
|
menuBuilder << "RicCloseObservedDataFeature";
|
2017-02-06 13:33:56 +01:00
|
|
|
|
2019-02-07 07:26:25 +01:00
|
|
|
menuBuilder << "RicCreateMultipleFracturesFeature";
|
2018-10-25 09:59:30 +02:00
|
|
|
menuBuilder << "RicCreateTemporaryLgrFeature";
|
|
|
|
|
|
2017-02-06 13:33:56 +01:00
|
|
|
// Work in progress -- End
|
|
|
|
|
|
2016-07-15 10:36:17 +02:00
|
|
|
caf::PdmUiItem* uiItem = uiItems[0];
|
|
|
|
|
if (dynamic_cast<RimWellLogFileChannel*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAddWellLogToPlotFeature";
|
2016-07-15 10:36:17 +02:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseStatisticsCase*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
createExecuteScriptForCasesFeatureMenu(menuBuilder);
|
2016-07-15 10:36:17 +02:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimEclipseCase*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicReloadCaseFeature";
|
|
|
|
|
createExecuteScriptForCasesFeatureMenu(menuBuilder);
|
|
|
|
|
menuBuilder << "RicCloseSourSimDataFeature";
|
2016-07-15 10:36:17 +02:00
|
|
|
}
|
2017-03-08 13:37:44 +01:00
|
|
|
else if (dynamic_cast<RimSummaryPlot*>(uiItem))
|
|
|
|
|
{
|
2017-12-18 14:50:08 +01:00
|
|
|
RimSummaryCrossPlot* summaryCrossPlot = dynamic_cast<RimSummaryCrossPlot*>(uiItem);
|
|
|
|
|
if (!summaryCrossPlot)
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "RicAsciiExportSummaryPlotFeature";
|
|
|
|
|
}
|
2017-03-08 13:37:44 +01:00
|
|
|
}
|
2017-03-10 13:16:53 +01:00
|
|
|
else if (dynamic_cast<RimWellLogPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicAsciiExportWellLogPlotFeature";
|
2017-03-10 13:16:53 +01:00
|
|
|
}
|
2016-09-21 13:04:34 +02:00
|
|
|
else if (dynamic_cast<RimWellLogCurve*>(uiItem) ||
|
|
|
|
|
dynamic_cast<RimWellLogTrack*>(uiItem) ||
|
2016-11-22 08:48:11 +01:00
|
|
|
dynamic_cast<RimWellLogPlot*>(uiItem))
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicExportToLasFileFeature";
|
|
|
|
|
menuBuilder << "RicChangeDataSourceFeature";
|
2016-11-22 08:48:11 +01:00
|
|
|
}
|
|
|
|
|
else if (dynamic_cast<RimWellLogPlotCollection*>(uiItem))
|
2016-09-16 12:46:25 +02:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicExportToLasFileFeature";
|
2016-09-16 12:46:25 +02:00
|
|
|
}
|
2017-10-13 15:01:52 +02:00
|
|
|
else if (dynamic_cast<RimFaultInView*>(uiItem) )
|
2016-11-25 15:57:17 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicExportFaultsFeature";
|
2016-11-25 15:57:17 +01:00
|
|
|
}
|
2017-10-13 09:29:42 +02:00
|
|
|
else if (dynamic_cast<RimSimWellInView*>(uiItem))
|
2017-01-25 08:08:11 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "RicShowContributingWellsFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowLabelFeature";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowHeadFeature";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowPipeFeature";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowSpheresFeature";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowWellCellsFeature";
|
|
|
|
|
menuBuilder << "RicEclipseWellShowWellCellFenceFeature";
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicNewSimWellFractureFeature";
|
2017-02-02 11:38:55 +01:00
|
|
|
}
|
2018-02-05 13:23:44 +01:00
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder << "RicCopyIntersectionsToAllViewsInCaseFeature";
|
2016-07-15 10:36:17 +02:00
|
|
|
}
|
|
|
|
|
|
2015-11-18 09:35:38 +01:00
|
|
|
{
|
2017-11-20 14:47:22 +01:00
|
|
|
bool addSeparator = true;
|
|
|
|
|
|
|
|
|
|
if (RicToggleItemsFeatureImpl::isToggleCommandsAvailable())
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicToggleItemsOnFeature";
|
|
|
|
|
menuBuilder << "RicToggleItemsOffFeature";
|
|
|
|
|
menuBuilder << "RicToggleItemsFeature";
|
|
|
|
|
addSeparator = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (addSeparator)
|
|
|
|
|
{
|
|
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
}
|
|
|
|
|
menuBuilder << "RicToggleItemsOnOthersOffFeature";
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
|
|
|
|
|
2016-11-17 17:46:36 +01:00
|
|
|
if ( caf::CmdFeatureManager::instance()->getCommandFeature("RicDeleteItemFeature")->canFeatureBeExecuted() )
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicDeleteItemFeature";
|
2016-11-17 17:46:36 +01:00
|
|
|
}
|
|
|
|
|
|
2017-03-08 12:06:05 +01:00
|
|
|
if (caf::CmdFeatureManager::instance()->getCommandFeature("RicDeleteSubItemsFeature")->canFeatureBeExecuted())
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicDeleteSubItemsFeature";
|
2017-03-08 12:06:05 +01:00
|
|
|
}
|
|
|
|
|
|
2018-04-10 10:57:04 +02:00
|
|
|
// Special delete commands for specific features
|
|
|
|
|
// Placed here to fit context menu location of general delete feature
|
2017-02-23 08:42:27 +01:00
|
|
|
if (caf::CmdFeatureManager::instance()->getCommandFeature("RicWellPathDeleteFeature")->canFeatureBeExecuted())
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicWellPathDeleteFeature";
|
2017-02-23 08:42:27 +01:00
|
|
|
}
|
|
|
|
|
|
2018-04-10 10:57:04 +02:00
|
|
|
if (caf::CmdFeatureManager::instance()->getCommandFeature("Ric3dWellLogCurveDeleteFeature")->canFeatureBeExecuted())
|
|
|
|
|
{
|
|
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "Ric3dWellLogCurveDeleteFeature";
|
|
|
|
|
}
|
|
|
|
|
|
2017-10-25 11:30:10 +02:00
|
|
|
if (caf::CmdFeatureManager::instance()->getCommandFeature("RicWellLogFileCloseFeature")->canFeatureBeExecuted())
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicWellLogFileCloseFeature";
|
2017-10-25 11:30:10 +02:00
|
|
|
}
|
|
|
|
|
|
2016-11-17 17:46:36 +01:00
|
|
|
if ( caf::CmdFeatureManager::instance()->getCommandFeature("RicCloseCaseFeature")->canFeatureBeExecuted() )
|
|
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder << "Separator";
|
|
|
|
|
menuBuilder << "RicCloseCaseFeature";
|
2016-11-17 17:46:36 +01:00
|
|
|
}
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
return menuBuilder;
|
2015-11-18 09:35:38 +01:00
|
|
|
}
|
2015-11-19 18:57:32 +01:00
|
|
|
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
///
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
2017-11-19 01:12:39 +01:00
|
|
|
std::vector<RimWellPath*> RimContextCommandBuilder::allWellPaths()
|
2015-11-19 18:57:32 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
RimProject* proj = RiaApplication::instance()->project();
|
|
|
|
|
return proj->allWellPaths();
|
|
|
|
|
}
|
2015-11-19 18:57:32 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
///
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
void RimContextCommandBuilder::createExecuteScriptForCasesFeatureMenu(caf::CmdFeatureMenuBuilder& menuBuilder)
|
|
|
|
|
{
|
|
|
|
|
// Execute script on selection of cases
|
|
|
|
|
RiuMainWindow* ruiMainWindow = RiuMainWindow::instance();
|
|
|
|
|
if (ruiMainWindow)
|
2015-11-19 18:57:32 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
std::vector<RimCase*> cases;
|
|
|
|
|
ruiMainWindow->selectedCases(cases);
|
|
|
|
|
|
|
|
|
|
if (cases.size() > 0)
|
2015-11-19 18:57:32 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
menuBuilder.subMenuStart("Execute script");
|
2015-11-19 18:57:32 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
RiaApplication* app = RiaApplication::instance();
|
|
|
|
|
RimProject* proj = app->project();
|
|
|
|
|
if (proj && proj->scriptCollection())
|
2017-03-16 08:23:27 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
RimScriptCollection* rootScriptCollection = proj->scriptCollection();
|
2017-03-19 08:47:29 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
// Root script collection holds a list of subdirectories of user defined script folders
|
|
|
|
|
for (size_t i = 0; i < rootScriptCollection->subDirectories.size(); i++)
|
2017-03-19 08:47:29 +01:00
|
|
|
{
|
2017-11-19 01:12:39 +01:00
|
|
|
RimScriptCollection* subDir = rootScriptCollection->subDirectories[i];
|
2015-11-19 18:57:32 +01:00
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
if (subDir)
|
|
|
|
|
{
|
|
|
|
|
appendScriptItems(menuBuilder, subDir);
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-03-19 08:47:29 +01:00
|
|
|
}
|
2017-11-19 01:12:39 +01:00
|
|
|
|
|
|
|
|
menuBuilder.addSeparator();
|
|
|
|
|
menuBuilder.subMenuEnd();
|
2015-11-19 18:57:32 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-19 01:12:39 +01:00
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
///
|
|
|
|
|
//--------------------------------------------------------------------------------------------------
|
|
|
|
|
void RimContextCommandBuilder::appendScriptItems(caf::CmdFeatureMenuBuilder& menuBuilder, RimScriptCollection* scriptCollection)
|
|
|
|
|
{
|
|
|
|
|
QDir dir(scriptCollection->directory);
|
|
|
|
|
menuBuilder.subMenuStart(dir.dirName());
|
|
|
|
|
|
|
|
|
|
caf::CmdFeatureManager* commandManager = caf::CmdFeatureManager::instance();
|
|
|
|
|
CVF_ASSERT(commandManager);
|
|
|
|
|
|
|
|
|
|
RicExecuteScriptForCasesFeature* executeScriptFeature = dynamic_cast<RicExecuteScriptForCasesFeature*>(commandManager->getCommandFeature("RicExecuteScriptForCasesFeature"));
|
|
|
|
|
CVF_ASSERT(executeScriptFeature);
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < scriptCollection->calcScripts.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
RimCalcScript* calcScript = scriptCollection->calcScripts[i];
|
|
|
|
|
QFileInfo fi(calcScript->absolutePath());
|
|
|
|
|
|
|
|
|
|
QString menuText = fi.baseName();
|
|
|
|
|
menuBuilder.addCmdFeatureWithUserData("RicExecuteScriptForCasesFeature", menuText, QVariant(calcScript->absolutePath()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < scriptCollection->subDirectories.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
RimScriptCollection* subDir = scriptCollection->subDirectories[i];
|
|
|
|
|
|
|
|
|
|
appendScriptItems(menuBuilder, subDir);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
menuBuilder.subMenuEnd();
|
|
|
|
|
}
|