mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7107 Ensemble curves : Fix update issues
This commit is contained in:
@@ -44,15 +44,25 @@ bool RicNewEnsembleCurveFilterFeature::isCommandEnabled()
|
||||
void RicNewEnsembleCurveFilterFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
caf::PdmObject* selObj = dynamic_cast<caf::PdmObject*>( caf::SelectionManager::instance()->selectedItem() );
|
||||
std::vector<RimEnsembleCurveFilterCollection*> filterColls;
|
||||
selObj->descendantsIncludingThisOfType( filterColls );
|
||||
if ( !selObj ) return;
|
||||
|
||||
if ( filterColls.size() == 1 )
|
||||
RimEnsembleCurveFilterCollection* filterCollection = nullptr;
|
||||
{
|
||||
RimEnsembleCurveFilter* newFilter = filterColls[0]->addFilter();
|
||||
if ( filterColls[0]->filters().size() > 1 )
|
||||
std::vector<RimEnsembleCurveFilterCollection*> filterColls;
|
||||
selObj->descendantsIncludingThisOfType( filterColls );
|
||||
if ( filterColls.size() == 1 )
|
||||
{
|
||||
newFilter->setSummaryAddresses( filterColls[0]->filters()[0]->summaryAddresses() );
|
||||
filterCollection = filterColls.front();
|
||||
}
|
||||
}
|
||||
|
||||
if ( filterCollection )
|
||||
{
|
||||
RimEnsembleCurveFilter* newFilter = filterCollection->addFilter();
|
||||
if ( !filterCollection->filters().empty() )
|
||||
{
|
||||
auto existingFilter = filterCollection->filters().front();
|
||||
newFilter->setSummaryAddresses( existingFilter->summaryAddresses() );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -60,11 +70,13 @@ void RicNewEnsembleCurveFilterFeature::onActionTriggered( bool isChecked )
|
||||
addresses.push_back( newFilter->parentCurveSet()->summaryAddress() );
|
||||
newFilter->setSummaryAddresses( addresses );
|
||||
}
|
||||
filterColls[0]->updateConnectedEditors();
|
||||
RiuPlotMainWindowTools::selectAsCurrentItem( filterColls.front() );
|
||||
}
|
||||
newFilter->loadDataAndUpdate();
|
||||
filterCollection->updateConnectedEditors();
|
||||
|
||||
selObj->updateConnectedEditors();
|
||||
selObj->updateConnectedEditors();
|
||||
|
||||
RiuPlotMainWindowTools::selectAsCurrentItem( newFilter );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -431,8 +431,6 @@ void RimEnsembleCurveFilter::updateIcon()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleCurveFilter::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering& uiOrdering )
|
||||
{
|
||||
updateMaxMinAndDefaultValues( false );
|
||||
|
||||
auto eParam = selectedEnsembleParameter();
|
||||
|
||||
uiOrdering.add( &m_active );
|
||||
@@ -625,7 +623,6 @@ void RimEnsembleCurveFilter::updateMaxMinAndDefaultValues( bool forceDefault )
|
||||
if ( !ensParams.empty() )
|
||||
{
|
||||
m_ensembleParameterName = ensParams.front().first.name;
|
||||
updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -301,6 +301,8 @@ void RimEnsembleCurveSet::loadDataAndUpdate( bool updateParentPlot )
|
||||
{
|
||||
m_yValuesSummaryAddressUiField = m_yValuesSummaryAddress->address();
|
||||
|
||||
m_curveFilters->loadDataAndUpdate();
|
||||
|
||||
updateAddressesUiField();
|
||||
|
||||
updateAllCurves();
|
||||
@@ -313,8 +315,6 @@ void RimEnsembleCurveSet::loadDataAndUpdate( bool updateParentPlot )
|
||||
firstAncestorOrThisOfTypeAsserted( parentPlot );
|
||||
parentPlot->updateAll();
|
||||
}
|
||||
|
||||
m_curveFilters->loadDataAndUpdate();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user