mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
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:
@@ -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 <>
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -86,10 +86,5 @@ QString RimSummaryNameHelper::aggregatedPlotTitle( const RimSummaryNameHelper& o
|
||||
RiuSummaryQuantityNameInfoProvider::instance()->longNameFromQuantityName( quantity, true ) );
|
||||
}
|
||||
|
||||
if ( title.isEmpty() )
|
||||
{
|
||||
title = "Plot Title";
|
||||
}
|
||||
|
||||
return title;
|
||||
}
|
||||
|
||||
@@ -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( "," );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user