mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Hide summary multiplot tree node if only one summary plot
This commit is contained in:
parent
ebba37a623
commit
28dcd47d73
@ -52,6 +52,7 @@ CAF_PDM_SOURCE_INIT( RimSummaryMultiPlot, "MultiSummaryPlot" );
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimSummaryMultiPlot::RimSummaryMultiPlot()
|
RimSummaryMultiPlot::RimSummaryMultiPlot()
|
||||||
: duplicatePlot( this )
|
: duplicatePlot( this )
|
||||||
|
, refreshTree( this )
|
||||||
{
|
{
|
||||||
CAF_PDM_InitObject( "Multi Summary Plot" );
|
CAF_PDM_InitObject( "Multi Summary Plot" );
|
||||||
this->setDeletable( true );
|
this->setDeletable( true );
|
||||||
@ -101,9 +102,6 @@ void RimSummaryMultiPlot::addPlot( RimPlot* plot )
|
|||||||
CVF_ASSERT( sumPlot != nullptr );
|
CVF_ASSERT( sumPlot != nullptr );
|
||||||
if ( sumPlot )
|
if ( sumPlot )
|
||||||
{
|
{
|
||||||
// Not required to connect signal here, as RimSummaryMultiPlot::insertPlot() will always be called from
|
|
||||||
// RimMultiPlot::addPlot()
|
|
||||||
|
|
||||||
RimMultiPlot::addPlot( plot );
|
RimMultiPlot::addPlot( plot );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,6 +117,7 @@ void RimSummaryMultiPlot::insertPlot( RimPlot* plot, size_t index )
|
|||||||
{
|
{
|
||||||
sumPlot->curvesChanged.connect( this, &RimSummaryMultiPlot::onSubPlotChanged );
|
sumPlot->curvesChanged.connect( this, &RimSummaryMultiPlot::onSubPlotChanged );
|
||||||
RimMultiPlot::insertPlot( plot, index );
|
RimMultiPlot::insertPlot( plot, index );
|
||||||
|
signalRefresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,6 +150,7 @@ void RimSummaryMultiPlot::removePlot( RimPlot* plot )
|
|||||||
if ( sumPlot )
|
if ( sumPlot )
|
||||||
{
|
{
|
||||||
RimMultiPlot::removePlot( plot );
|
RimMultiPlot::removePlot( plot );
|
||||||
|
signalRefresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -535,6 +535,14 @@ void RimSummaryMultiPlot::duplicate()
|
|||||||
duplicatePlot.send( this );
|
duplicatePlot.send( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryMultiPlot::signalRefresh()
|
||||||
|
{
|
||||||
|
refreshTree.send( this );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -46,6 +46,7 @@ class RimSummaryMultiPlot : public RimMultiPlot, public RimSummaryDataSourceStep
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
caf::Signal<RimSummaryMultiPlot*> duplicatePlot;
|
caf::Signal<RimSummaryMultiPlot*> duplicatePlot;
|
||||||
|
caf::Signal<RimSummaryMultiPlot*> refreshTree;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
RimSummaryMultiPlot();
|
RimSummaryMultiPlot();
|
||||||
@ -73,11 +74,12 @@ public:
|
|||||||
|
|
||||||
void summaryPlotItemInfos( QList<caf::PdmOptionItemInfo>* optionInfos ) const;
|
void summaryPlotItemInfos( QList<caf::PdmOptionItemInfo>* optionInfos ) const;
|
||||||
|
|
||||||
|
std::vector<RimSummaryPlot*> summaryPlots() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool handleGlobalKeyEvent( QKeyEvent* keyEvent ) override;
|
bool handleGlobalKeyEvent( QKeyEvent* keyEvent ) override;
|
||||||
bool handleGlobalWheelEvent( QWheelEvent* wheelEvent ) override;
|
bool handleGlobalWheelEvent( QWheelEvent* wheelEvent ) override;
|
||||||
|
|
||||||
|
|
||||||
void initAfterRead() override;
|
void initAfterRead() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -88,11 +90,11 @@ private:
|
|||||||
QString uiConfigName,
|
QString uiConfigName,
|
||||||
caf::PdmUiEditorAttribute* attribute ) override;
|
caf::PdmUiEditorAttribute* attribute ) override;
|
||||||
|
|
||||||
std::vector<RimSummaryPlot*> summaryPlots() const;
|
|
||||||
|
|
||||||
void updatePlotWindowTitle() override;
|
void updatePlotWindowTitle() override;
|
||||||
|
|
||||||
void duplicate();
|
void duplicate();
|
||||||
|
void signalRefresh();
|
||||||
|
|
||||||
void onSubPlotChanged( const caf::SignalEmitter* emitter );
|
void onSubPlotChanged( const caf::SignalEmitter* emitter );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -19,10 +19,12 @@
|
|||||||
|
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimSummaryMultiPlot.h"
|
#include "RimSummaryMultiPlot.h"
|
||||||
|
#include "RimSummaryPlot.h"
|
||||||
|
|
||||||
#include "RiuPlotMainWindowTools.h"
|
#include "RiuPlotMainWindowTools.h"
|
||||||
|
|
||||||
#include "cafPdmFieldReorderCapability.h"
|
#include "cafPdmFieldReorderCapability.h"
|
||||||
|
#include "cafPdmUiTreeOrdering.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT( RimSummaryMultiPlotCollection, "RimSummaryMultiPlotCollection" );
|
CAF_PDM_SOURCE_INIT( RimSummaryMultiPlotCollection, "RimSummaryMultiPlotCollection" );
|
||||||
|
|
||||||
@ -53,6 +55,7 @@ void RimSummaryMultiPlotCollection::initAfterRead()
|
|||||||
for ( auto& plot : m_summaryMultiPlots )
|
for ( auto& plot : m_summaryMultiPlots )
|
||||||
{
|
{
|
||||||
plot->duplicatePlot.connect( this, &RimSummaryMultiPlotCollection::onDuplicatePlot );
|
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 );
|
m_summaryMultiPlots().push_back( plot );
|
||||||
plot->duplicatePlot.connect( this, &RimSummaryMultiPlotCollection::onDuplicatePlot );
|
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 );
|
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 );
|
||||||
|
}
|
||||||
|
@ -45,7 +45,10 @@ public:
|
|||||||
void addSummaryMultiPlot( RimSummaryMultiPlot* plot );
|
void addSummaryMultiPlot( RimSummaryMultiPlot* plot );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
||||||
|
|
||||||
void onDuplicatePlot( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotToDuplicate );
|
void onDuplicatePlot( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotToDuplicate );
|
||||||
|
void onRefreshTree( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotRequesting );
|
||||||
|
|
||||||
void initAfterRead() override;
|
void initAfterRead() override;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user