#7107 Ensemble curves : Fix update issues

This commit is contained in:
Magne Sjaastad
2020-12-11 12:51:34 +01:00
parent fdc5b484e6
commit 3af48f4109
3 changed files with 24 additions and 15 deletions

View File

@@ -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 );
}
}
//--------------------------------------------------------------------------------------------------

View File

@@ -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();
}
}

View File

@@ -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();
}
//--------------------------------------------------------------------------------------------------