#5775 Add case id to summary case.

This commit is contained in:
Kristian Bendiksen
2020-04-08 14:30:38 +02:00
committed by Gaute Lindkvist
parent 0a33cc269a
commit bc08aa1905
5 changed files with 57 additions and 3 deletions

View File

@@ -113,6 +113,7 @@ RimProject::RimProject( void )
, m_nextValidViewId( 1 )
, m_nextValidPlotId( 1 )
, m_nextValidCalculationId( 1 )
, m_nextValidSummaryCaseId( 1 )
{
CAF_PDM_InitScriptableObjectWithNameAndComment( "Project", "", "", "", "Project", "The ResInsight Project" );
@@ -255,6 +256,7 @@ void RimProject::close()
m_nextValidViewId = 1;
m_nextValidPlotId = 1;
m_nextValidCalculationId = 1;
m_nextValidSummaryCaseId = 1;
}
//--------------------------------------------------------------------------------------------------
@@ -485,6 +487,23 @@ void RimProject::setProjectFileNameAndUpdateDependencies( const QString& project
wellPathImport->updateFilePaths();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimProject::assignCaseIdToSummaryCase( RimSummaryCase* summaryCase )
{
if ( summaryCase )
{
std::vector<RimSummaryCase*> summaryCases = allSummaryCases();
for ( RimSummaryCase* s : summaryCases )
{
m_nextValidSummaryCaseId = std::max( m_nextValidSummaryCaseId, s->caseId() + 1 );
}
summaryCase->setCaseId( m_nextValidSummaryCaseId++ );
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -123,6 +123,7 @@ public:
void assignViewIdToView( Rim3dView* view );
void assignPlotIdToPlotWindow( RimPlotWindow* plotWindow );
void assignCalculationIdToCalculation( RimSummaryCalculation* calculation );
void assignCaseIdToSummaryCase( RimSummaryCase* summaryCase );
void allCases( std::vector<RimCase*>& cases ) const;
@@ -216,6 +217,7 @@ private:
int m_nextValidViewId;
int m_nextValidPlotId;
int m_nextValidCalculationId;
int m_nextValidSummaryCaseId;
caf::PdmChildArrayField<RimEclipseCase*> casesObsolete; // obsolete
caf::PdmChildArrayField<RimIdenticalGridCaseGroup*> caseGroupsObsolete; // obsolete

View File

@@ -18,20 +18,21 @@
#include "RimSummaryCase.h"
#include "RiaApplication.h"
#include "RiaSummaryTools.h"
#include "RicfCommandObject.h"
#include "RifSummaryReaderInterface.h"
#include "RimMainPlotCollection.h"
#include "RimObservedDataCollection.h"
#include "RimObservedSummaryData.h"
#include "RimOilField.h"
#include "RimProject.h"
#include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryPlotCollection.h"
#include "RimObservedSummaryData.h"
#include "cafPdmFieldIOScriptability.h"
#include "cvfAssert.h"
@@ -60,6 +61,11 @@ RimSummaryCase::RimSummaryCase()
"" );
m_summaryHeaderFilename.uiCapability()->setUiReadOnly( true );
CAF_PDM_InitScriptableFieldWithIO( &m_caseId, "Id", -1, "Case ID", "", "", "" );
m_caseId.registerKeywordAlias( "CaseId" );
m_caseId.uiCapability()->setUiReadOnly( true );
m_caseId.capability<caf::PdmFieldScriptability>()->setIOWriteable( false );
m_isObservedData = false;
}
@@ -252,6 +258,11 @@ RiaEclipseUnitTools::UnitSystemType RimSummaryCase::unitsSystem()
//--------------------------------------------------------------------------------------------------
void RimSummaryCase::initAfterRead()
{
if ( m_caseId() == -1 )
{
RiaApplication::instance()->project()->assignCaseIdToSummaryCase( this );
}
updateOptionSensitivity();
}
@@ -351,3 +362,19 @@ void RimSummaryCase::resetAutoShortName()
m_shortName = DEFAULT_DISPLAY_NAME;
updateAutoShortName();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCase::setCaseId( int caseId )
{
m_caseId = caseId;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int RimSummaryCase::caseId() const
{
return m_caseId();
}

View File

@@ -47,6 +47,8 @@ public:
virtual QString summaryHeaderFilename() const;
QString displayCaseName() const;
QString nativeCaseName() const;
void setCaseId( int caseId );
int caseId() const;
RiaEclipseUnitTools::UnitSystemType unitsSystem();
@@ -80,8 +82,9 @@ protected:
virtual QString caseName() const = 0;
void initAfterRead() override;
private:
void initAfterRead() override;
static QString uniqueShortNameForCase( RimSummaryCase* summaryCase );
protected:
@@ -89,6 +92,7 @@ protected:
caf::PdmField<bool> m_useAutoShortName;
caf::PdmField<caf::FilePath> m_summaryHeaderFilename;
bool m_isObservedData;
caf::PdmField<int> m_caseId;
std::shared_ptr<RigCaseRealizationParameters> m_crlParameters;

View File

@@ -523,6 +523,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() );
newSumCase->setAssociatedEclipseCase( eclCase );
newSumCase->updateOptionSensitivity();
project->assignCaseIdToSummaryCase( newSumCase );
sumCases.push_back( newSumCase );
}
else
@@ -532,6 +533,7 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() );
newSumCase->setSummaryHeaderFileName( fileInfo.summaryFileName() );
newSumCase->updateOptionSensitivity();
project->assignCaseIdToSummaryCase( newSumCase );
sumCases.push_back( newSumCase );
}