#7609 Add simpler plot collection interface

This commit is contained in:
Kristian Bendiksen 2021-05-03 19:31:00 +02:00
parent d8b80bb988
commit 0fb69f7524
6 changed files with 48 additions and 15 deletions

View File

@ -21,15 +21,20 @@
#include "cafPdmObject.h"
class RimAbstractPlotCollection
class RimPlotCollection
{
public:
virtual ~RimAbstractPlotCollection() = default;
virtual ~RimPlotCollection() = default;
virtual void loadDataAndUpdateAllPlots() = 0;
virtual size_t plotCount() const = 0;
virtual void deleteAllPlots() = 0;
};
virtual void loadDataAndUpdateAllPlots() = 0;
virtual size_t plotCount() const = 0;
virtual void deleteAllPlots() = 0;
virtual void removeRimPlot( RimPlot* plot ) = 0;
class RimAbstractPlotCollection : public RimPlotCollection
{
public:
virtual ~RimAbstractPlotCollection() = default;
virtual void removeRimPlot( RimPlot* plot ) = 0;
};
//==================================================================================================

View File

@ -39,7 +39,7 @@ RimEnsembleFractureStatisticsPlotCollection::RimEnsembleFractureStatisticsPlotCo
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimEnsembleFractureStatisticsPlotCollection::reloadAllPlots()
void RimEnsembleFractureStatisticsPlotCollection::loadDataAndUpdateAllPlots()
{
for ( const auto& w : m_ensembleFractureStatisticsPlots() )
{
@ -47,6 +47,14 @@ void RimEnsembleFractureStatisticsPlotCollection::reloadAllPlots()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RimEnsembleFractureStatisticsPlotCollection::plotCount() const
{
return m_ensembleFractureStatisticsPlots.size();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -18,6 +18,8 @@
#pragma once
#include "RimAbstractPlotCollection.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
@ -28,7 +30,8 @@ class RimEnsembleFractureStatisticsPlot;
///
///
//==================================================================================================
class RimEnsembleFractureStatisticsPlotCollection : public caf::PdmObject
class RimEnsembleFractureStatisticsPlotCollection : public caf::PdmObject, public RimPlotCollection
{
CAF_PDM_HEADER_INIT;
@ -39,9 +42,10 @@ public:
std::vector<RimEnsembleFractureStatisticsPlot*> ensembleFractureStatisticsPlots() const;
void reloadAllPlots();
size_t plotCount() const override;
void loadDataAndUpdateAllPlots() override;
void deleteAllPlots();
void deleteAllPlots() override;
private:
caf::PdmChildArrayField<RimEnsembleFractureStatisticsPlot*> m_ensembleFractureStatisticsPlots;

View File

@ -39,7 +39,7 @@ RimGridStatisticsPlotCollection::RimGridStatisticsPlotCollection()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimGridStatisticsPlotCollection::reloadAllPlots()
void RimGridStatisticsPlotCollection::loadDataAndUpdateAllPlots()
{
for ( const auto& w : m_gridStatisticsPlots() )
{
@ -47,6 +47,14 @@ void RimGridStatisticsPlotCollection::reloadAllPlots()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RimGridStatisticsPlotCollection::plotCount() const
{
return m_gridStatisticsPlots.size();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -18,6 +18,8 @@
#pragma once
#include "RimAbstractPlotCollection.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
@ -28,7 +30,7 @@ class RimGridStatisticsPlot;
///
///
//==================================================================================================
class RimGridStatisticsPlotCollection : public caf::PdmObject
class RimGridStatisticsPlotCollection : public caf::PdmObject, public RimPlotCollection
{
CAF_PDM_HEADER_INIT;
@ -39,9 +41,11 @@ public:
std::vector<RimGridStatisticsPlot*> gridStatisticsPlots() const;
void reloadAllPlots();
void loadDataAndUpdateAllPlots() override;
void deleteAllPlots();
void deleteAllPlots() override;
size_t plotCount() const override;
private:
caf::PdmChildArrayField<RimGridStatisticsPlot*> m_gridStatisticsPlots;

View File

@ -470,11 +470,15 @@ void RimMainPlotCollection::loadDataAndUpdateAllPlots()
RimMultiPlotCollection* gpwColl = nullptr;
RimStimPlanModelPlotCollection* frmColl = nullptr;
std::vector<RimAbstractPlotCollection*> plotCollections;
std::vector<RimPlotCollection*> plotCollections;
plotCollections.push_back( summaryCrossPlotCollection() );
plotCollections.push_back( gridCrossPlotCollection() );
plotCollections.push_back( analysisPlotCollection() );
plotCollections.push_back( vfpPlotCollection() );
#ifdef USE_QTCHARTS
plotCollections.push_back( gridStatisticsPlotCollection() );
plotCollections.push_back( ensembleFractureStatisticsPlotCollection() );
#endif
if ( wellLogPlotCollection() )
{