#5609 Explicit selection of ensemble members for Analysis Plots

This commit is contained in:
Jacob Støren
2020-03-03 09:49:54 +01:00
parent 10885fa7f4
commit bb58507559
5 changed files with 61 additions and 6 deletions

View File

@@ -147,6 +147,14 @@ void RiuSummaryVectorSelectionDialog::enableMultiSelect( bool enable )
summaryAddressSelection()->setMultiSelectionMode( enable );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuSummaryVectorSelectionDialog::enableIndividualEnsembleCaseSelection( bool enable )
{
summaryAddressSelection()->enableIndividualEnsembleCaseSelection( enable );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -47,6 +47,7 @@ public:
void hideEnsembles();
void hideSummaryCases();
void enableMultiSelect( bool enable );
void enableIndividualEnsembleCaseSelection( bool enable );
private:
RiuSummaryVectorSelectionUi* summaryAddressSelection() const;

View File

@@ -133,6 +133,7 @@ RiuSummaryVectorSelectionUi::RiuSummaryVectorSelectionUi()
{RifEclipseSummaryAddress::SUMMARY_IMPORTED,
{{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
} )
, m_showIndividualEnsembleCases( false )
{
CAF_PDM_InitFieldNoDefault( &m_selectedSources, "SummaryCases", "Cases", "", "", "" );
m_selectedSources.uiCapability()->setAutoAddingOptionFromValue( false );
@@ -488,7 +489,10 @@ std::vector<RiaCurveSetDefinition> RiuSummaryVectorSelectionUi::allCurveSetDefin
}
//--------------------------------------------------------------------------------------------------
/// One CurveDefinition pr ensemble curve set
/// One CurveDefinition pr ensemble curve set,
/// but if enableIndividualEnsembleCaseSelection has been enabled,
/// the ensembles are never available for direct selection, and this method will always return the
/// "expanded" set of curvedefinitions
//--------------------------------------------------------------------------------------------------
std::vector<RiaSummaryCurveDefinition> RiuSummaryVectorSelectionUi::selection() const
{
@@ -552,6 +556,14 @@ void RiuSummaryVectorSelectionUi::hideSummaryCases( bool hide )
m_hideSummaryCases = hide;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RiuSummaryVectorSelectionUi::enableIndividualEnsembleCaseSelection( bool enable )
{
m_showIndividualEnsembleCases = enable;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -1339,9 +1351,26 @@ void RiuSummaryVectorSelectionUi::appendOptionItemsForSources( QList<caf::PdmOpt
ensembleHeaderCreated = true;
}
auto optionItem = caf::PdmOptionItemInfo( sumCaseColl->name(), sumCaseColl );
optionItem.setLevel( 1 );
options.push_back( optionItem );
if ( !m_showIndividualEnsembleCases )
{
auto optionItem = caf::PdmOptionItemInfo( sumCaseColl->name(), sumCaseColl );
optionItem.setLevel( 1 );
options.push_back( optionItem );
}
else
{
caf::PdmOptionItemInfo ensembleOpt =
caf::PdmOptionItemInfo::createHeader( sumCaseColl->name(), true );
ensembleOpt.setLevel( 1 );
options.push_back( ensembleOpt );
for ( const auto& sumCase : sumCaseColl->allSummaryCases() )
{
auto optionItem = caf::PdmOptionItemInfo( sumCase->displayCaseName(), sumCase );
optionItem.setLevel( 2 );
options.push_back( optionItem );
}
}
}
}

View File

@@ -61,6 +61,8 @@ public:
void setMultiSelectionMode( bool multiSelectionMode );
void hideEnsembles( bool hide );
void hideSummaryCases( bool hide );
void enableIndividualEnsembleCaseSelection( bool enable );
void setFieldChangedHandler( const std::function<void()>& handlerFunc );
void setDefaultSelection( const std::vector<SummarySource*>& defaultCases );
@@ -121,6 +123,7 @@ private:
bool m_hideEnsembles;
bool m_hideSummaryCases;
bool m_showIndividualEnsembleCases;
std::function<void()> m_toggleChangedHandler;