#14061 Reorder user interface for summary/grid ensemble import

* Agent docs: Recommend cmake --build over ninja when sharing build/ with Visual Studio
* Disable Create Well Target Mapping for grid ensembles with individual grids
* Move RimSummaryCaseMainCollection context menu items into appendMenuItems override
* Reorganize import menus: split per-window, group submenus, rename actions, add Import/Export icons
* Show icons on "New Statistics Case" and "New Grid Case Group" menu actions
* Rename grid/summary import submenus to "More" and use the import icon
This commit is contained in:
Magne Sjaastad authored and GitHub committed 2026-05-28 16:06:39 +02:00
1 parent 24700198fb
commit 2f8ec77851
21 files changed
+119 -54

No files matched your search

@@ -127,7 +127,6 @@
#include "RimSummaryAddress.h"
#include "RimSummaryAddressCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryMultiPlot.h"
@@ -759,19 +758,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
{
menuBuilder << "RicNewEnsembleCurveFilterFeature";
}
else if ( dynamic_cast<RimSummaryCaseMainCollection*>( firstUiItem ) )
{
menuBuilder << "RicImportSummaryCaseFeature";
menuBuilder << "RicImportRevealSummaryCaseFeature";
menuBuilder << "RicImportStimPlanSummaryCaseFeature";
menuBuilder << "RicImportSummaryCasesFeature";
menuBuilder << "RicImportSummaryGroupFeature";
menuBuilder << "RicImportEnsembleFeature";
menuBuilder << "RicNewDerivedEnsembleFeature";
menuBuilder << "RicNewDerivedSummaryFeature";
menuBuilder << "Separator";
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
}
else if ( dynamic_cast<RimWellLogChannel*>( firstUiItem ) )
{
menuBuilder << "RicAddWellLogToPlotFeature";
@@ -49,7 +49,6 @@ private:
static void createExecuteScriptForCasesFeatureMenu( caf::CmdFeatureMenuBuilder& menuBuilder );
static void appendScriptItems( caf::CmdFeatureMenuBuilder& menuBuilder, RimScriptCollection* scriptCollection );
static void appendPlotTemplateItems( caf::CmdFeatureMenuBuilder& menuBuilder, RimPlotTemplateFolderItem* plotTemplateRoot );
static int appendImportMenu( caf::CmdFeatureMenuBuilder& menuBuilder, bool addSeparatorBeforeMenu = false, bool addOsduMenuItem = false );
static int appendCreateCompletions( caf::CmdFeatureMenuBuilder& menuBuilder, bool addSeparatorBeforeMenu = false );
@@ -121,10 +121,13 @@ void RimEclipseCaseCollection::removeCaseFromAllGroups( RimEclipseCase* reservoi
//--------------------------------------------------------------------------------------------------
void RimEclipseCaseCollection::appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const
{
menuBuilder.subMenuStart( "Import" );
menuBuilder << "RicImportEclipseCaseFeature";
menuBuilder << "RicImportGridAndSummaryEnsembleFeature";
menuBuilder << "Separator";
menuBuilder.subMenuStart( "More", QIcon( ":/import.svg" ) );
menuBuilder << importMenuFeatureNames();
menuBuilder.subMenuEnd();
menuBuilder << "RicEclipseCaseNewGroupFeature";
}
//--------------------------------------------------------------------------------------------------
@@ -197,11 +200,13 @@ void RimEclipseCaseCollection::recomputeStatisticsForAllCaseGroups()
//--------------------------------------------------------------------------------------------------
QStringList RimEclipseCaseCollection::importMenuFeatureNames()
{
return { "RicImportEclipseCaseFeature",
"RicImportEclipseCasesFeature",
return { "RicImportEclipseCasesFeature",
"RicImportEclipseCaseTimeStepFilterFeature",
"Separator",
"RicImportInputEclipseCaseFeature",
"RicImportRoffCaseFeature",
"Separator",
"RicCreateGridCaseGroupFromFilesFeature",
"RicCreateGridCaseEnsemblesFromFilesFeature" };
"RicCreateGridCaseEnsemblesFromFilesFeature",
"RicEclipseCaseNewGroupFeature" };
}
@@ -386,6 +386,8 @@ void RimWellTargetMapping::generateCandidates( RimEclipseCase* eclipseCase, bool
//--------------------------------------------------------------------------------------------------
void RimWellTargetMapping::generateEnsembleStatistics()
{
// See RicNewWellTargetMappingFeature::isCommandEnabled() for comment on future support for ensembles with varying geometry.
auto ensemble = firstAncestorOrThisOfType<RimEclipseCaseEnsemble>();
if ( !ensemble ) return;
@@ -649,13 +651,11 @@ void RimWellTargetMapping::onGenerateButtonClicked()
}
else if ( hasGridEnsembleParent )
{
// For RimReservoirGridEnsemble, generate for first case
// Full ensemble statistics support can be added later
if ( auto eclipseCase = firstCase() )
{
bool setTimeStepInView = true;
generateCandidates( eclipseCase, setTimeStepInView );
}
// For RimReservoirGridEnsemble implement two variants, shared grid and individual grids. Individual grids variant will require more
// work, and is not currently prioritized, so for now just show a warning if user tries to generate candidates for a
// RimReservoirGridEnsemble
//
// See RicNewWellTargetMappingFeature::isCommandEnabled() for comment on future support for ensembles with varying geometry.
}
else if ( auto eclipseCase = firstCase() )
{
@@ -53,6 +53,7 @@
#include "RimSummaryPlot.h"
#include "RimWellRftPlot.h"
#include "cafCmdFeatureMenuBuilder.h"
#include "cafPdmFieldReorderCapability.h"
#include "cafProgressInfo.h"
@@ -407,6 +408,29 @@ void RimSummaryCaseMainCollection::loadAllSummaryCaseData()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCaseMainCollection::appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const
{
menuBuilder << "RicImportSummaryCaseFeature";
menuBuilder << "RicImportGridAndSummaryEnsembleFeature";
menuBuilder.subMenuStart( "More", QIcon( ":/import.svg" ) );
menuBuilder << "RicImportRevealSummaryCaseFeature";
menuBuilder << "RicImportStimPlanSummaryCaseFeature";
menuBuilder << "RicImportSummaryCasesFeature";
menuBuilder << "RicImportSummaryGroupFeature";
menuBuilder << "RicImportEnsembleFeature";
menuBuilder.subMenuEnd();
menuBuilder << "Separator";
menuBuilder << "RicNewDerivedEnsembleFeature";
menuBuilder << "RicNewDerivedSummaryFeature";
menuBuilder << "Separator";
menuBuilder << "RicShowSummaryCurveCalculatorFeature";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -81,6 +81,8 @@ public:
void updateEnsembleNames();
private:
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
void initAfterRead() override;
static void loadSummaryCaseData( const std::vector<RimSummaryCase*>& summaryCases, bool extractStateFromFirstCase );