Further Summary Multiplot improvements (#8707)

* Create a specialized summary plot page for showing multi plots
* Make summary plots always show in grid of selected size.
* Allow dragging summary addresses into empty main window area
* Limit grid to 4x4 cells
This commit is contained in:
jonjenssen
2022-03-21 11:31:25 +01:00
committed by GitHub
parent 8d3f381b4f
commit e20adcdb69
16 changed files with 343 additions and 39 deletions

View File

@@ -46,7 +46,6 @@ void RimMultiPlot::ColumnCountEnum::setUp()
addItem( RimMultiPlot::ColumnCount::COLUMNS_2, "2", "2 Columns" );
addItem( RimMultiPlot::ColumnCount::COLUMNS_3, "3", "3 Columns" );
addItem( RimMultiPlot::ColumnCount::COLUMNS_4, "4", "4 Columns" );
addItem( RimMultiPlot::ColumnCount::COLUMNS_UNLIMITED, "UNLIMITED", "Unlimited" );
setDefault( RimMultiPlot::ColumnCount::COLUMNS_2 );
}
template <>

View File

@@ -75,7 +75,7 @@ std::vector<RimSummaryMultiPlot*> RimSummaryMultiPlotCollection::multiPlots() co
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryMultiPlotCollection::addMultiSummaryPlot( RimSummaryMultiPlot* plot )
void RimSummaryMultiPlotCollection::addSummaryMultiPlot( RimSummaryMultiPlot* plot )
{
m_summaryMultiPlots().push_back( plot );
plot->duplicatePlot.connect( this, &RimSummaryMultiPlotCollection::onDuplicatePlot );
@@ -108,7 +108,7 @@ void RimSummaryMultiPlotCollection::onDuplicatePlot( const caf::SignalEmitter* e
auto plotCopy = dynamic_cast<RimSummaryMultiPlot*>(
plotToDuplicate->copyByXmlSerialization( caf::PdmDefaultObjectFactory::instance() ) );
addMultiSummaryPlot( plotCopy );
addSummaryMultiPlot( plotCopy );
plotCopy->resolveReferencesRecursively();
plotCopy->initAfterReadRecursively();

View File

@@ -42,7 +42,7 @@ public:
std::vector<RimSummaryMultiPlot*> multiPlots() const;
void addMultiSummaryPlot( RimSummaryMultiPlot* plot );
void addSummaryMultiPlot( RimSummaryMultiPlot* plot );
protected:
void onDuplicatePlot( const caf::SignalEmitter* emitter, RimSummaryMultiPlot* plotToDuplicate );

View File

@@ -86,10 +86,5 @@ QString RimSummaryNameHelper::aggregatedPlotTitle( const RimSummaryNameHelper& o
RiuSummaryQuantityNameInfoProvider::instance()->longNameFromQuantityName( quantity, true ) );
}
if ( title.isEmpty() )
{
title = "Plot Title";
}
return title;
}

View File

@@ -154,6 +154,11 @@ RimSummaryPlot::RimSummaryPlot( bool isCrossPlot )
m_sourceStepping.uiCapability()->setUiTreeChildrenHidden( true );
m_sourceStepping.xmlCapability()->disableIO();
CAF_PDM_InitFieldNoDefault( &m_alternatePlotName, "AlternateName", "AlternateName" );
m_alternatePlotName.uiCapability()->setUiReadOnly( true );
m_alternatePlotName.uiCapability()->setUiHidden( true );
m_alternatePlotName.xmlCapability()->disableIO();
setPlotInfoLabel( "Filters Active" );
// Obsolete axis fields
@@ -1361,6 +1366,10 @@ void RimSummaryPlot::addAsciiDataCruve( RimAsciiDataCurve* curve )
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimSummaryPlot::userDescriptionField()
{
if ( m_description().isEmpty() )
{
return &m_alternatePlotName;
}
return &m_description;
}
@@ -2103,7 +2112,6 @@ void RimSummaryPlot::defineUiOrdering( QString uiConfigName, caf::PdmUiOrdering&
{
mainOptions->add( &m_useAutoPlotTitle );
mainOptions->add( &m_description );
mainOptions->add( &m_rowSpan );
mainOptions->add( &m_colSpan );
}
m_description.uiCapability()->setUiReadOnly( m_useAutoPlotTitle );
@@ -2349,11 +2357,19 @@ void RimSummaryPlot::deleteAllPlotCurves()
//--------------------------------------------------------------------------------------------------
void RimSummaryPlot::updateCurveNames()
{
m_alternatePlotName = "";
QStringList shortCurveNames;
if ( m_summaryCurveCollection->isCurvesVisible() )
{
for ( auto c : summaryCurves() )
{
if ( c->isCurveVisible() ) c->updateCurveNameNoLegendUpdate();
if ( c->isCurveVisible() )
{
c->updateCurveNameNoLegendUpdate();
shortCurveNames.append( QString::fromStdString( c->summaryAddressY().quantityName() ) );
}
}
}
@@ -2361,6 +2377,8 @@ void RimSummaryPlot::updateCurveNames()
{
curveSet->updateEnsembleLegendItem();
}
m_alternatePlotName = shortCurveNames.join( "," );
}
//--------------------------------------------------------------------------------------------------

View File

@@ -31,6 +31,7 @@
#include "cafPdmChildArrayField.h"
#include "cafPdmObjectHandle.h"
#include "cafPdmProxyValueField.h"
#include "cafPdmPtrArrayField.h"
#include "cafPdmPtrField.h"
@@ -294,6 +295,7 @@ private:
caf::PdmField<bool> m_useAutoPlotTitle;
caf::PdmField<QString> m_description;
caf::PdmField<QString> m_alternatePlotName;
caf::PdmChildArrayField<RimGridTimeHistoryCurve*> m_gridTimeHistoryCurves;
caf::PdmChildField<RimSummaryCurveCollection*> m_summaryCurveCollection;