Hide summary multiplot tree node if only one summary plot

This commit is contained in:
jonjenssen
2022-03-27 20:25:03 +02:00
committed by jonjenssen
parent ebba37a623
commit 28dcd47d73
4 changed files with 52 additions and 6 deletions

View File

@@ -19,10 +19,12 @@
#include "RimProject.h"
#include "RimSummaryMultiPlot.h"
#include "RimSummaryPlot.h"
#include "RiuPlotMainWindowTools.h"
#include "cafPdmFieldReorderCapability.h"
#include "cafPdmUiTreeOrdering.h"
CAF_PDM_SOURCE_INIT( RimSummaryMultiPlotCollection, "RimSummaryMultiPlotCollection" );
@@ -53,6 +55,7 @@ void RimSummaryMultiPlotCollection::initAfterRead()
for ( auto& plot : m_summaryMultiPlots )
{
plot->duplicatePlot.connect( this, &RimSummaryMultiPlotCollection::onDuplicatePlot );
plot->refreshTree.connect( this, &RimSummaryMultiPlotCollection::onRefreshTree );
}
}
@@ -79,6 +82,7 @@ void RimSummaryMultiPlotCollection::addSummaryMultiPlot( RimSummaryMultiPlot* pl
{
m_summaryMultiPlots().push_back( plot );
plot->duplicatePlot.connect( this, &RimSummaryMultiPlotCollection::onDuplicatePlot );
plot->refreshTree.connect( this, &RimSummaryMultiPlotCollection::onRefreshTree );
}
//--------------------------------------------------------------------------------------------------
@@ -119,3 +123,32 @@ void RimSummaryMultiPlotCollection::onDuplicatePlot( const caf::SignalEmitter* e
RiuPlotMainWindowTools::selectAsCurrentItem( plotCopy, true );
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryMultiPlotCollection::onRefreshTree( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotRequesting )
{
if ( !plotRequesting ) return;
updateConnectedEditors();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryMultiPlotCollection::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering,
QString uiConfigName /*= ""*/ )
{
for ( auto& plot : m_summaryMultiPlots() )
{
if ( plot->summaryPlots().size() == 1 )
{
uiTreeOrdering.add( plot->summaryPlots()[0] );
}
else
{
uiTreeOrdering.add( plot );
}
}
uiTreeOrdering.skipRemainingChildren( true );
}