mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Release adjustments
* Use appendMenuItems instead of ContextCommandBuilder * Specify RimEclipseCaseCollection menu features once * Add function to enable up/down arrows for combo box * Guard crash when closing project * Improve UI for grid case ensemble - Create a view for the first case in the ensemble - Show case name in view title - Enable up/down buttons to Eclipse case * Make sure 3D views in grid ensemble are created on project load
This commit is contained in:
@@ -52,7 +52,9 @@
|
||||
#include "RimCommandRouter.h"
|
||||
#include "RimCompletionTemplateCollection.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
#include "RimEclipseCaseEnsemble.h"
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEclipseViewCollection.h"
|
||||
#include "RimEnsembleWellLogsCollection.h"
|
||||
#include "RimFaultReactivationModelCollection.h"
|
||||
#include "RimFileWellPath.h"
|
||||
@@ -713,6 +715,20 @@ bool RiaApplication::loadProject( const QString& projectFileName, ProjectLoadAct
|
||||
}
|
||||
}
|
||||
|
||||
// Load all grid ensemble views
|
||||
{
|
||||
auto gridCaseEnsembles = m_project->activeOilField()->analysisModels()->caseEnsembles.childrenByType();
|
||||
|
||||
for ( auto gridCaseEnsemble : gridCaseEnsembles )
|
||||
{
|
||||
auto views = gridCaseEnsemble->viewCollection()->views();
|
||||
for ( auto view : views )
|
||||
{
|
||||
view->loadDataAndUpdate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_project->viewLinkerCollection() && m_project->viewLinkerCollection()->viewLinker() )
|
||||
{
|
||||
m_project->viewLinkerCollection()->viewLinker()->updateOverrides();
|
||||
|
||||
@@ -22,13 +22,16 @@
|
||||
#include "RiaImportEclipseCaseTools.h"
|
||||
|
||||
#include "RicCreateGridCaseGroupFromFilesFeature.h"
|
||||
#include "RicNewViewFeature.h"
|
||||
#include "RicRecursiveFileSearchDialog.h"
|
||||
|
||||
#include "Rim3dView.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
#include "RimEclipseCaseEnsemble.h"
|
||||
#include "RimEclipseResultCase.h"
|
||||
#include "RimOilField.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimViewNameConfig.h"
|
||||
|
||||
#include "cafProgressInfo.h"
|
||||
#include "cafSelectionManager.h"
|
||||
@@ -46,18 +49,35 @@ void RicCreateGridCaseEnsemblesFromFilesFeature::onActionTriggered( bool isCheck
|
||||
QString pathCacheName = "INPUT_FILES";
|
||||
auto [fileNames, groupByEnsemble] = runRecursiveFileSearchDialog( "Import Grid Ensembles", pathCacheName );
|
||||
|
||||
std::vector<RimEclipseCaseEnsemble*> gridEnsembles;
|
||||
|
||||
if ( groupByEnsemble == RiaEnsembleNameTools::EnsembleGroupingMode::NONE )
|
||||
{
|
||||
importSingleGridCaseEnsemble( fileNames );
|
||||
gridEnsembles.push_back( importSingleGridCaseEnsemble( fileNames ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
std::vector<QStringList> groupedByEnsemble = RiaEnsembleNameTools::groupFilesByEnsemble( fileNames, groupByEnsemble );
|
||||
for ( const QStringList& groupedFileNames : groupedByEnsemble )
|
||||
{
|
||||
importSingleGridCaseEnsemble( groupedFileNames );
|
||||
gridEnsembles.push_back( importSingleGridCaseEnsemble( groupedFileNames ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( gridEnsembles.empty() ) return;
|
||||
|
||||
auto firstEnsemble = gridEnsembles.front();
|
||||
if ( firstEnsemble->cases().empty() ) return;
|
||||
|
||||
auto firstCase = firstEnsemble->cases().front();
|
||||
if ( !firstCase ) return;
|
||||
|
||||
auto view = RicNewViewFeature::addReservoirView( firstCase, nullptr, firstEnsemble->viewCollection() );
|
||||
if ( view )
|
||||
{
|
||||
// Show the case name in the view title, as this is useful information for a grid case ensemble
|
||||
view->nameConfig()->setAddCaseName( true );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -66,14 +86,20 @@ void RicCreateGridCaseEnsemblesFromFilesFeature::onActionTriggered( bool isCheck
|
||||
void RicCreateGridCaseEnsemblesFromFilesFeature::setupActionLook( QAction* actionToSetup )
|
||||
{
|
||||
actionToSetup->setIcon( QIcon( ":/CreateGridCaseGroup16x16.png" ) );
|
||||
actionToSetup->setText( "&Create Grid Case Ensembles" );
|
||||
actionToSetup->setText( "&Create Grid Case Ensemble" );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicCreateGridCaseEnsemblesFromFilesFeature::importSingleGridCaseEnsemble( const QStringList& fileNames )
|
||||
RimEclipseCaseEnsemble* RicCreateGridCaseEnsemblesFromFilesFeature::importSingleGridCaseEnsemble( const QStringList& fileNames )
|
||||
{
|
||||
RimProject* project = RimProject::current();
|
||||
CVF_ASSERT( project );
|
||||
|
||||
RimOilField* oilfield = project->activeOilField();
|
||||
if ( !oilfield ) return nullptr;
|
||||
|
||||
auto eclipseCaseEnsemble = new RimEclipseCaseEnsemble;
|
||||
QString ensembleNameSuggestion =
|
||||
RiaEnsembleNameTools::findSuitableEnsembleName( fileNames, RiaEnsembleNameTools::EnsembleGroupingMode::FMU_FOLDER_STRUCTURE );
|
||||
@@ -81,12 +107,6 @@ void RicCreateGridCaseEnsemblesFromFilesFeature::importSingleGridCaseEnsemble( c
|
||||
|
||||
caf::ProgressInfo progInfo( fileNames.size() + 1, "Creating Grid Ensembles" );
|
||||
|
||||
RimProject* project = RimProject::current();
|
||||
CVF_ASSERT( project );
|
||||
|
||||
RimOilField* oilfield = project->activeOilField();
|
||||
if ( !oilfield ) return;
|
||||
|
||||
for ( auto caseFileName : fileNames )
|
||||
{
|
||||
auto task = progInfo.task( "Loading files", 1 );
|
||||
@@ -102,6 +122,8 @@ void RicCreateGridCaseEnsemblesFromFilesFeature::importSingleGridCaseEnsemble( c
|
||||
|
||||
oilfield->analysisModels()->caseEnsembles.push_back( eclipseCaseEnsemble );
|
||||
oilfield->analysisModels()->updateConnectedEditors();
|
||||
|
||||
return eclipseCaseEnsemble;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
class RimEclipseCaseEnsemble;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
@@ -32,7 +34,8 @@ class RicCreateGridCaseEnsemblesFromFilesFeature : public caf::CmdFeature
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
RicCreateGridCaseEnsemblesFromFilesFeature()
|
||||
: m_pathFilter( "*" )
|
||||
: caf::CmdFeature()
|
||||
, m_pathFilter( "*" )
|
||||
, m_fileNameFilter( "*" )
|
||||
{
|
||||
}
|
||||
@@ -41,7 +44,7 @@ protected:
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
void setupActionLook( QAction* actionToSetup ) override;
|
||||
|
||||
void importSingleGridCaseEnsemble( const QStringList& fileNames );
|
||||
RimEclipseCaseEnsemble* importSingleGridCaseEnsemble( const QStringList& fileNames );
|
||||
std::pair<QStringList, RiaEnsembleNameTools::EnsembleGroupingMode> runRecursiveFileSearchDialog( const QString& dialogTitle,
|
||||
const QString& pathCacheName );
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ CAF_CMD_SOURCE_INIT( RicNewViewFeature, "RicNewViewFeature" );
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RicNewViewFeature::addReservoirView( RimEclipseCase* eclipseCase, RimGeoMechCase* geomCase, RimEclipseViewCollection* viewColl )
|
||||
Rim3dView* RicNewViewFeature::addReservoirView( RimEclipseCase* eclipseCase, RimGeoMechCase* geomCase, RimEclipseViewCollection* viewColl )
|
||||
{
|
||||
Rim3dView* newView = createReservoirView( eclipseCase, geomCase, viewColl );
|
||||
|
||||
@@ -53,6 +53,8 @@ void RicNewViewFeature::addReservoirView( RimEclipseCase* eclipseCase, RimGeoMec
|
||||
// Select the new view to make sure RiaApplication::setActiveReservoirView() is called
|
||||
Riu3DMainWindowTools::selectAsCurrentItem( newView );
|
||||
}
|
||||
|
||||
return newView;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -37,7 +37,7 @@ class RicNewViewFeature : public caf::CmdFeature
|
||||
CAF_CMD_HEADER_INIT;
|
||||
|
||||
public:
|
||||
static void addReservoirView( RimEclipseCase* eclipseCase, RimGeoMechCase* geomCase, RimEclipseViewCollection* viewColl );
|
||||
static Rim3dView* addReservoirView( RimEclipseCase* eclipseCase, RimGeoMechCase* geomCase, RimEclipseViewCollection* viewColl );
|
||||
|
||||
protected:
|
||||
bool isCommandEnabled() const override;
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "RimWellPlotTools.h"
|
||||
|
||||
#include "RiuMatrixPlotWidget.h"
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiPushButtonEditor.h"
|
||||
@@ -530,13 +531,7 @@ void RimWellConnectivityTable::defineEditorAttribute( const caf::PdmFieldHandle*
|
||||
}
|
||||
if ( field == &m_selectedTimeStep || field == &m_selectedFromTimeStep || field == &m_selectedToTimeStep )
|
||||
{
|
||||
auto* attrib = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>( attribute );
|
||||
if ( attrib )
|
||||
{
|
||||
attrib->nextIcon = QIcon( ":/ComboBoxDown.svg" );
|
||||
attrib->previousIcon = QIcon( ":/ComboBoxUp.svg" );
|
||||
attrib->showPreviousAndNextButtons = true;
|
||||
}
|
||||
RiuTools::enableUpDownArrowsForComboBox( attribute );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -114,9 +114,10 @@ public:
|
||||
virtual RimCase* ownerCase() const = 0;
|
||||
RiuViewer* viewer() const;
|
||||
|
||||
void setName( const QString& name );
|
||||
QString name() const;
|
||||
QString autoName() const;
|
||||
void setName( const QString& name );
|
||||
QString name() const;
|
||||
QString autoName() const;
|
||||
RimViewNameConfig* nameConfig() const;
|
||||
|
||||
virtual RiaDefines::View3dContent viewContent() const = 0;
|
||||
|
||||
@@ -200,10 +201,9 @@ public:
|
||||
protected:
|
||||
static void removeModelByName( cvf::Scene* scene, const cvf::String& modelName );
|
||||
|
||||
virtual void setDefaultView();
|
||||
cvf::Mat4d cameraPosition() const;
|
||||
cvf::Vec3d cameraPointOfInterest() const;
|
||||
RimViewNameConfig* nameConfig() const;
|
||||
virtual void setDefaultView();
|
||||
cvf::Mat4d cameraPosition() const;
|
||||
cvf::Vec3d cameraPointOfInterest() const;
|
||||
|
||||
void disableGridBoxField();
|
||||
void disablePerspectiveProjectionField();
|
||||
|
||||
@@ -46,8 +46,6 @@
|
||||
#include "RimCustomObjectiveFunction.h"
|
||||
#include "RimCustomObjectiveFunctionCollection.h"
|
||||
#include "RimEclipseCase.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
#include "RimEclipseCaseEnsemble.h"
|
||||
#include "RimEclipseCellColors.h"
|
||||
#include "RimEclipseContourMapViewCollection.h"
|
||||
#include "RimEclipseFaultColors.h"
|
||||
@@ -211,18 +209,7 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
|
||||
if ( uiItems.size() == 1 )
|
||||
{
|
||||
if ( dynamic_cast<RimEclipseCaseCollection*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder.subMenuStart( "Import" );
|
||||
menuBuilder << "RicImportEclipseCaseFeature";
|
||||
menuBuilder << "RicImportEclipseCasesFeature";
|
||||
menuBuilder << "RicImportInputEclipseCaseFeature";
|
||||
menuBuilder << "RicCreateGridCaseGroupFromFilesFeature";
|
||||
menuBuilder << "RicCreateGridCaseEnsemblesFromFilesFeature";
|
||||
menuBuilder.subMenuEnd();
|
||||
menuBuilder << "RicEclipseCaseNewGroupFeature";
|
||||
}
|
||||
else if ( dynamic_cast<RimGeoMechView*>( firstUiItem ) )
|
||||
if ( dynamic_cast<RimGeoMechView*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicPasteGeoMechViewsFeature";
|
||||
menuBuilder << "Separator";
|
||||
@@ -264,10 +251,6 @@ caf::CmdFeatureMenuBuilder RimContextCommandBuilder::commandsFromSelection()
|
||||
menuBuilder << "Separator";
|
||||
menuBuilder << "RicNewStatisticsCaseFeature";
|
||||
}
|
||||
else if ( dynamic_cast<RimEclipseCaseEnsemble*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicNewViewForGridEnsembleFeature";
|
||||
}
|
||||
else if ( dynamic_cast<RimGeoMechModels*>( firstUiItem ) )
|
||||
{
|
||||
menuBuilder << "RicImportGeoMechCaseFeature";
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
#include "RimIdenticalGridCaseGroup.h"
|
||||
#include "RimProject.h"
|
||||
|
||||
#include "cafCmdFeatureMenuBuilder.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT( RimEclipseCaseCollection, "ResInsightAnalysisModels" );
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -110,6 +112,17 @@ void RimEclipseCaseCollection::removeCaseFromAllGroups( RimEclipseCase* reservoi
|
||||
cases().removeChild( reservoir );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseCaseCollection::appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const
|
||||
{
|
||||
menuBuilder.subMenuStart( "Import" );
|
||||
menuBuilder << importMenuFeatureNames();
|
||||
menuBuilder.subMenuEnd();
|
||||
menuBuilder << "RicEclipseCaseNewGroupFeature";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -174,3 +187,17 @@ void RimEclipseCaseCollection::recomputeStatisticsForAllCaseGroups()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QStringList RimEclipseCaseCollection::importMenuFeatureNames()
|
||||
{
|
||||
return { "RicImportEclipseCaseFeature",
|
||||
"RicImportEclipseCasesFeature",
|
||||
"RicImportEclipseCaseTimeStepFilterFeature",
|
||||
"RicImportInputEclipseCaseFeature",
|
||||
"Separator",
|
||||
"RicCreateGridCaseGroupFromFilesFeature",
|
||||
"RicCreateGridCaseEnsemblesFromFilesFeature" };
|
||||
}
|
||||
|
||||
@@ -59,6 +59,11 @@ public:
|
||||
|
||||
void recomputeStatisticsForAllCaseGroups();
|
||||
|
||||
static QStringList importMenuFeatureNames();
|
||||
|
||||
private:
|
||||
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
|
||||
|
||||
private:
|
||||
RigMainGrid* registerCaseInGridCollection( RimEclipseCase* rimEclipseCase );
|
||||
cvf::ref<RigGridManager> m_gridCollection;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "RimEclipseView.h"
|
||||
#include "RimEclipseViewCollection.h"
|
||||
|
||||
#include "cafCmdFeatureMenuBuilder.h"
|
||||
#include "cafPdmFieldScriptingCapability.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
|
||||
@@ -104,6 +105,8 @@ bool RimEclipseCaseEnsemble::contains( RimEclipseCase* reservoir ) const
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<RimEclipseCase*> RimEclipseCaseEnsemble::cases() const
|
||||
{
|
||||
if ( !m_caseCollection ) return {};
|
||||
|
||||
return m_caseCollection->reservoirs.childrenByType();
|
||||
}
|
||||
|
||||
@@ -160,6 +163,14 @@ void RimEclipseCaseEnsemble::fieldChangedByUi( const caf::PdmFieldHandle* change
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseCaseEnsemble::appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const
|
||||
{
|
||||
menuBuilder << "RicNewViewForGridEnsembleFeature";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
protected:
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue ) override;
|
||||
void appendMenuItems( caf::CmdFeatureMenuBuilder& menuBuilder ) const override;
|
||||
|
||||
private:
|
||||
caf::PdmField<int> m_groupId;
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
|
||||
#include "Riu3dSelectionManager.h"
|
||||
#include "RiuMainWindow.h"
|
||||
#include "RiuTools.h"
|
||||
#include "RiuViewer.h"
|
||||
|
||||
#include "RivReservoirSimWellsPartMgr.h"
|
||||
@@ -118,6 +119,7 @@
|
||||
#include "cafOverlayScalarMapperLegend.h"
|
||||
#include "cafPdmFieldScriptingCapability.h"
|
||||
#include "cafPdmObjectScriptingCapability.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
|
||||
#include "cvfDrawable.h"
|
||||
@@ -2084,6 +2086,17 @@ QList<caf::PdmOptionItemInfo> RimEclipseView::calculateValueOptions( const caf::
|
||||
return RimGridView::calculateValueOptions( fieldNeedingOptions );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEclipseView::defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute )
|
||||
{
|
||||
if ( field == &m_eclipseCase )
|
||||
{
|
||||
RiuTools::enableUpDownArrowsForComboBox( attribute );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -187,6 +187,7 @@ protected:
|
||||
virtual std::set<RivCellSetEnum> allVisibleFaultGeometryTypes() const;
|
||||
|
||||
QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions ) override;
|
||||
void defineEditorAttribute( const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute ) override;
|
||||
|
||||
private:
|
||||
QString createAutoName() const override;
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "RimSummaryPlotControls.h"
|
||||
|
||||
#include "RiuPlotMainWindow.h"
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
#include "cafPdmUiItem.h"
|
||||
@@ -955,15 +956,12 @@ void RimSummaryPlotSourceStepping::defineEditorAttribute( const caf::PdmFieldHan
|
||||
}
|
||||
else
|
||||
{
|
||||
RiuTools::enableUpDownArrowsForComboBox( attribute );
|
||||
|
||||
QString nextText = RimSummaryPlotControls::nextStepKeyText();
|
||||
QString prevText = RimSummaryPlotControls::prevStepKeyText();
|
||||
myAttr->nextButtonText = "Next (" + nextText + ")";
|
||||
myAttr->prevButtonText = "Previous (" + prevText + ")";
|
||||
|
||||
myAttr->nextIcon = QIcon( ":/ComboBoxDown.svg" );
|
||||
myAttr->previousIcon = QIcon( ":/ComboBoxUp.svg" );
|
||||
|
||||
myAttr->showPreviousAndNextButtons = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "RiuQwtPlotWheelZoomer.h"
|
||||
#include "RiuQwtPlotWidget.h"
|
||||
#include "RiuQwtPlotZoomer.h"
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "cafColorTable.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
@@ -1366,12 +1367,7 @@ void RimCustomVfpPlot::defineEditorAttribute( const caf::PdmFieldHandle* field,
|
||||
|
||||
if ( field == &m_mainDataSource )
|
||||
{
|
||||
if ( auto* myAttr = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>( attribute ) )
|
||||
{
|
||||
myAttr->showPreviousAndNextButtons = true;
|
||||
myAttr->nextIcon = QIcon( ":/ComboBoxDown.svg" );
|
||||
myAttr->previousIcon = QIcon( ":/ComboBoxUp.svg" );
|
||||
}
|
||||
RiuTools::enableUpDownArrowsForComboBox( attribute );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
#include "RimWellPath.h"
|
||||
#include "RimWellPathCollection.h"
|
||||
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "cafPdmUiCheckBoxEditor.h"
|
||||
#include "cafPdmUiCheckBoxTristateEditor.h"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
@@ -1083,9 +1085,7 @@ void RimWellLogCurveCommonDataSource::defineEditorAttribute( const caf::PdmField
|
||||
if ( field == &m_case || field == &m_summaryCase || field == &m_simWellName || field == &m_wellPath || field == &m_timeStep ||
|
||||
field == &m_rftTimeStep || field == &m_rftSegmentBranchIndex || field == &m_rftWellName )
|
||||
{
|
||||
myAttr->showPreviousAndNextButtons = true;
|
||||
myAttr->nextIcon = QIcon( ":/ComboBoxDown.svg" );
|
||||
myAttr->previousIcon = QIcon( ":/ComboBoxUp.svg" );
|
||||
RiuTools::enableUpDownArrowsForComboBox( attribute );
|
||||
}
|
||||
|
||||
QString modifierText;
|
||||
|
||||
@@ -18,13 +18,16 @@
|
||||
|
||||
#include "RiuMenuBarBuildTools.h"
|
||||
|
||||
#include "cafCmdFeatureManager.h"
|
||||
|
||||
#include "cvfAssert.h"
|
||||
#include "RimEclipseCaseCollection.h"
|
||||
|
||||
#include "RiuToolTipMenu.h"
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "cafCmdFeatureManager.h"
|
||||
#include "cafCmdFeatureMenuBuilder.h"
|
||||
|
||||
#include "cvfAssert.h"
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QMenu>
|
||||
#include <QMenuBar>
|
||||
@@ -113,11 +116,7 @@ void RiuMenuBarBuildTools::addImportMenuWithActions( QObject* parent, QMenu* men
|
||||
QMenu* importMenu = menu->addMenu( "&Import" );
|
||||
|
||||
QMenu* importEclipseMenu = importMenu->addMenu( QIcon( ":/Case48x48.png" ), "Eclipse Cases" );
|
||||
importEclipseMenu->addAction( cmdFeatureMgr->action( "RicImportEclipseCaseFeature" ) );
|
||||
importEclipseMenu->addAction( cmdFeatureMgr->action( "RicImportEclipseCasesFeature" ) );
|
||||
importEclipseMenu->addAction( cmdFeatureMgr->action( "RicImportEclipseCaseTimeStepFilterFeature" ) );
|
||||
importEclipseMenu->addAction( cmdFeatureMgr->action( "RicImportInputEclipseCaseFeature" ) );
|
||||
importEclipseMenu->addAction( cmdFeatureMgr->action( "RicCreateGridCaseGroupFromFilesFeature" ) );
|
||||
caf::CmdFeatureMenuBuilder::appendToMenu( importEclipseMenu, RimEclipseCaseCollection::importMenuFeatureNames() );
|
||||
|
||||
QMenu* importRoffMenu = importMenu->addMenu( QIcon( ":/Case48x48.png" ), "Roff Grid Models" );
|
||||
importRoffMenu->addAction( cmdFeatureMgr->action( "RicImportRoffCaseFeature" ) );
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
|
||||
#include "RiuTools.h"
|
||||
|
||||
#include "QMenu"
|
||||
#include "QObject"
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
|
||||
#include <QMenu>
|
||||
#include <QObject>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -48,3 +50,16 @@ void RiuTools::enableAllActionsOnShow( QObject* object, QMenu* menu )
|
||||
} );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RiuTools::enableUpDownArrowsForComboBox( caf::PdmUiEditorAttribute* attribute )
|
||||
{
|
||||
if ( auto attrib = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>( attribute ) )
|
||||
{
|
||||
attrib->nextIcon = QIcon( ":/ComboBoxDown.svg" );
|
||||
attrib->previousIcon = QIcon( ":/ComboBoxUp.svg" );
|
||||
attrib->showPreviousAndNextButtons = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,8 +23,14 @@
|
||||
class QMenu;
|
||||
class QObject;
|
||||
|
||||
namespace caf
|
||||
{
|
||||
class PdmUiEditorAttribute;
|
||||
}
|
||||
|
||||
namespace RiuTools
|
||||
{
|
||||
Qt::WindowFlags defaultDialogFlags();
|
||||
void enableAllActionsOnShow( QObject* object, QMenu* menu );
|
||||
void enableUpDownArrowsForComboBox( caf::PdmUiEditorAttribute* attribute );
|
||||
} // end namespace RiuTools
|
||||
|
||||
@@ -77,6 +77,19 @@ CmdFeatureMenuBuilder& CmdFeatureMenuBuilder::operator<<( const QString& command
|
||||
return *this;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
CmdFeatureMenuBuilder& CmdFeatureMenuBuilder::operator<<( const QStringList& commandIds )
|
||||
{
|
||||
for ( const QString& commandId : commandIds )
|
||||
{
|
||||
*this << commandId;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -228,6 +241,16 @@ void CmdFeatureMenuBuilder::appendToMenu( QMenu* menu )
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void CmdFeatureMenuBuilder::appendToMenu( QMenu* menu, const QStringList& commandIds )
|
||||
{
|
||||
CmdFeatureMenuBuilder builder;
|
||||
builder << commandIds;
|
||||
builder.appendToMenu( menu );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -58,6 +58,7 @@ public:
|
||||
virtual ~CmdFeatureMenuBuilder();
|
||||
|
||||
CmdFeatureMenuBuilder& operator<<( const QString& commandIdOrSeparator );
|
||||
CmdFeatureMenuBuilder& operator<<( const QStringList& commandIdOrSeparators );
|
||||
CmdFeatureMenuBuilder& addCmdFeature( const QString commandId, const QString& customUiText = "" );
|
||||
CmdFeatureMenuBuilder&
|
||||
addCmdFeatureWithUserData( const QString commandId, const QString& customUiText, const QVariant& userData );
|
||||
@@ -69,6 +70,8 @@ public:
|
||||
|
||||
void appendToMenu( QMenu* menu );
|
||||
|
||||
static void appendToMenu( QMenu* menu, const QStringList& commandIds );
|
||||
|
||||
bool isCmdFeatureAdded( const QString& commandId );
|
||||
size_t itemCount() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user