#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,14 +21,19 @@
#include "cafPdmObject.h" #include "cafPdmObject.h"
class RimAbstractPlotCollection class RimPlotCollection
{ {
public: public:
virtual ~RimAbstractPlotCollection() = default; virtual ~RimPlotCollection() = default;
virtual void loadDataAndUpdateAllPlots() = 0; virtual void loadDataAndUpdateAllPlots() = 0;
virtual size_t plotCount() const = 0; virtual size_t plotCount() const = 0;
virtual void deleteAllPlots() = 0; virtual void deleteAllPlots() = 0;
};
class RimAbstractPlotCollection : public RimPlotCollection
{
public:
virtual ~RimAbstractPlotCollection() = default;
virtual void removeRimPlot( RimPlot* plot ) = 0; 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() ) 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 #pragma once
#include "RimAbstractPlotCollection.h"
#include "cafPdmChildArrayField.h" #include "cafPdmChildArrayField.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.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; CAF_PDM_HEADER_INIT;
@ -39,9 +42,10 @@ public:
std::vector<RimEnsembleFractureStatisticsPlot*> ensembleFractureStatisticsPlots() const; std::vector<RimEnsembleFractureStatisticsPlot*> ensembleFractureStatisticsPlots() const;
void reloadAllPlots(); size_t plotCount() const override;
void loadDataAndUpdateAllPlots() override;
void deleteAllPlots(); void deleteAllPlots() override;
private: private:
caf::PdmChildArrayField<RimEnsembleFractureStatisticsPlot*> m_ensembleFractureStatisticsPlots; 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() ) 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 #pragma once
#include "RimAbstractPlotCollection.h"
#include "cafPdmChildArrayField.h" #include "cafPdmChildArrayField.h"
#include "cafPdmField.h" #include "cafPdmField.h"
#include "cafPdmObject.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; CAF_PDM_HEADER_INIT;
@ -39,9 +41,11 @@ public:
std::vector<RimGridStatisticsPlot*> gridStatisticsPlots() const; std::vector<RimGridStatisticsPlot*> gridStatisticsPlots() const;
void reloadAllPlots(); void loadDataAndUpdateAllPlots() override;
void deleteAllPlots(); void deleteAllPlots() override;
size_t plotCount() const override;
private: private:
caf::PdmChildArrayField<RimGridStatisticsPlot*> m_gridStatisticsPlots; caf::PdmChildArrayField<RimGridStatisticsPlot*> m_gridStatisticsPlots;

View File

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