mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Assign calculation ID to existing addresses (#5304)
#5278 Assign calculation ID to existing addresses
This commit is contained in:
@@ -71,7 +71,6 @@
|
|||||||
#include "RimSummaryCaseMainCollection.h"
|
#include "RimSummaryCaseMainCollection.h"
|
||||||
#include "RimSummaryCrossPlotCollection.h"
|
#include "RimSummaryCrossPlotCollection.h"
|
||||||
#include "RimSummaryPlot.h"
|
#include "RimSummaryPlot.h"
|
||||||
#include "RimSummaryPlotCollection.h"
|
|
||||||
#include "RimTextAnnotation.h"
|
#include "RimTextAnnotation.h"
|
||||||
#include "RimTextAnnotationInView.h"
|
#include "RimTextAnnotationInView.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
@@ -499,6 +498,12 @@ bool RiaApplication::loadProject( const QString& projectFileName,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
RimMainPlotCollection* mainPlotColl = m_project->mainPlotCollection();
|
||||||
|
|
||||||
|
mainPlotColl->ensureCalculationIdsAreAssigned();
|
||||||
|
}
|
||||||
|
|
||||||
for ( RimOilField* oilField : m_project->oilFields )
|
for ( RimOilField* oilField : m_project->oilFields )
|
||||||
{
|
{
|
||||||
if ( oilField == nullptr ) continue;
|
if ( oilField == nullptr ) continue;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimRftPlotCollection.h"
|
#include "RimRftPlotCollection.h"
|
||||||
#include "RimSaturationPressurePlotCollection.h"
|
#include "RimSaturationPressurePlotCollection.h"
|
||||||
|
#include "RimSummaryAddress.h"
|
||||||
#include "RimSummaryCrossPlotCollection.h"
|
#include "RimSummaryCrossPlotCollection.h"
|
||||||
#include "RimSummaryPlotCollection.h"
|
#include "RimSummaryPlotCollection.h"
|
||||||
#include "RimViewWindow.h"
|
#include "RimViewWindow.h"
|
||||||
@@ -307,3 +308,17 @@ void RimMainPlotCollection::ensureDefaultFlowPlotsAreCreated()
|
|||||||
{
|
{
|
||||||
m_flowPlotCollection()->ensureDefaultFlowPlotsAreCreated();
|
m_flowPlotCollection()->ensureDefaultFlowPlotsAreCreated();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimMainPlotCollection::ensureCalculationIdsAreAssigned()
|
||||||
|
{
|
||||||
|
std::vector<RimSummaryAddress*> allAddresses;
|
||||||
|
this->descendantsIncludingThisOfType( allAddresses );
|
||||||
|
|
||||||
|
for ( RimSummaryAddress* adr : allAddresses )
|
||||||
|
{
|
||||||
|
adr->ensureIdIsAssigned();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ public:
|
|||||||
void updatePlotsWithCompletions();
|
void updatePlotsWithCompletions();
|
||||||
void deleteAllCachedData();
|
void deleteAllCachedData();
|
||||||
void ensureDefaultFlowPlotsAreCreated();
|
void ensureDefaultFlowPlotsAreCreated();
|
||||||
|
void ensureCalculationIdsAreAssigned();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Overridden PDM methods
|
// Overridden PDM methods
|
||||||
|
|||||||
@@ -18,6 +18,12 @@
|
|||||||
|
|
||||||
#include "RimSummaryAddress.h"
|
#include "RimSummaryAddress.h"
|
||||||
|
|
||||||
|
#include "RiaApplication.h"
|
||||||
|
|
||||||
|
#include "RimProject.h"
|
||||||
|
#include "RimSummaryCalculation.h"
|
||||||
|
#include "RimSummaryCalculationCollection.h"
|
||||||
|
|
||||||
namespace caf
|
namespace caf
|
||||||
{
|
{
|
||||||
template <>
|
template <>
|
||||||
@@ -126,3 +132,24 @@ RifEclipseSummaryAddress RimSummaryAddress::address()
|
|||||||
m_isErrorResult,
|
m_isErrorResult,
|
||||||
m_calculationId );
|
m_calculationId );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimSummaryAddress::ensureIdIsAssigned()
|
||||||
|
{
|
||||||
|
if ( m_category == RifEclipseSummaryAddress::SUMMARY_CALCULATED && m_calculationId == -1 )
|
||||||
|
{
|
||||||
|
RimSummaryCalculationCollection* calcColl = RiaApplication::instance()->project()->calculationCollection();
|
||||||
|
|
||||||
|
for ( const RimSummaryCalculation* c : calcColl->calculations() )
|
||||||
|
{
|
||||||
|
QString description = c->description();
|
||||||
|
|
||||||
|
if ( description == m_quantityName )
|
||||||
|
{
|
||||||
|
m_calculationId = c->id();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ class RimSummaryAddress : public caf::PdmObject
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
RimSummaryAddress();
|
RimSummaryAddress();
|
||||||
;
|
|
||||||
~RimSummaryAddress() override;
|
~RimSummaryAddress() override;
|
||||||
|
|
||||||
void setAddress( const RifEclipseSummaryAddress& addr );
|
void setAddress( const RifEclipseSummaryAddress& addr );
|
||||||
RifEclipseSummaryAddress address();
|
RifEclipseSummaryAddress address();
|
||||||
|
|
||||||
|
void ensureIdIsAssigned();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory>> m_category;
|
caf::PdmField<caf::AppEnum<RifEclipseSummaryAddress::SummaryVarCategory>> m_category;
|
||||||
caf::PdmField<QString> m_quantityName;
|
caf::PdmField<QString> m_quantityName;
|
||||||
|
|||||||
Reference in New Issue
Block a user