#4828 Summary Plot Templates : Improve robustness

This commit is contained in:
Magne Sjaastad 2019-10-07 10:30:17 +02:00
parent 9365511f3d
commit 56a5a750f2
3 changed files with 53 additions and 6 deletions

View File

@ -19,6 +19,7 @@
#include "RicSavePlotTemplateFeature.h"
#include "RicReloadPlotTemplatesFeature.h"
#include "RicSummaryPlotTemplateTools.h"
#include "RiaGuiApplication.h"
#include "RiaLogging.h"
@ -145,9 +146,10 @@ QString RicSavePlotTemplateFeature::createTextFromObject( RimSummaryPlot* summar
{
std::set<QString> caseReferenceStrings;
const QString summaryFieldKeyword = RicSummaryPlotTemplateTools::summaryCaseFieldKeyword();
for ( const auto& curve : newSummaryPlot->summaryCurves() )
{
auto fieldHandle = curve->findField( "SummaryCase" );
auto fieldHandle = curve->findField( summaryFieldKeyword );
if ( fieldHandle )
{
auto reference = fieldHandle->xmlCapability()->referenceString();
@ -158,7 +160,8 @@ QString RicSavePlotTemplateFeature::createTextFromObject( RimSummaryPlot* summar
size_t index = 0;
for ( const auto& s : caseReferenceStrings )
{
QString caseName = QString( "CASE_NAME %1" ).arg( index++ );
QString placeholderText = RicSummaryPlotTemplateTools::placeholderTextForSummaryCase();
QString caseName = QString( "%1 %2" ).arg( placeholderText ).arg( index++ );
objectAsText.replace( s, caseName );
}
@ -167,9 +170,11 @@ QString RicSavePlotTemplateFeature::createTextFromObject( RimSummaryPlot* summar
{
std::set<QString> ensembleReferenceStrings;
const QString summaryGroupFieldKeyword = RicSummaryPlotTemplateTools::summaryGroupFieldName();
for ( const auto& curveSet : newSummaryPlot->ensembleCurveSetCollection()->curveSets() )
{
auto fieldHandle = curveSet->findField( "SummaryGroup" );
auto fieldHandle = curveSet->findField( summaryGroupFieldKeyword );
if ( fieldHandle )
{
auto reference = fieldHandle->xmlCapability()->referenceString();
@ -180,7 +185,8 @@ QString RicSavePlotTemplateFeature::createTextFromObject( RimSummaryPlot* summar
size_t index = 0;
for ( const auto& s : ensembleReferenceStrings )
{
QString ensembleName = QString( "ENSEMBLE_NAME %1" ).arg( index++ );
QString placeholderText = RicSummaryPlotTemplateTools::placeholderTextForSummaryGroup();
QString ensembleName = QString( "%1 %2" ).arg( placeholderText ).arg( index++ );
objectAsText.replace( s, ensembleName );
}

View File

@ -95,9 +95,11 @@ void RicSummaryPlotTemplateTools::appendSummaryPlotToPlotCollection(
{
auto summaryCurves = summaryPlot->summaryCurves();
const QString summaryFieldKeyword = RicSummaryPlotTemplateTools::summaryCaseFieldKeyword();
for ( const auto& curve : summaryCurves )
{
auto fieldHandle = curve->findField( "SummaryCase" );
auto fieldHandle = curve->findField( summaryFieldKeyword );
if ( fieldHandle )
{
auto referenceString = fieldHandle->xmlCapability()->referenceString();
@ -136,9 +138,11 @@ void RicSummaryPlotTemplateTools::appendSummaryPlotToPlotCollection(
{
auto summaryCurves = summaryPlot->ensembleCurveSetCollection()->curveSets();
const QString summaryGroupFieldKeyword = RicSummaryPlotTemplateTools::summaryGroupFieldName();
for ( const auto& curveSet : summaryCurves )
{
auto fieldHandle = curveSet->findField( "SummaryGroup" );
auto fieldHandle = curveSet->findField( summaryGroupFieldKeyword );
if ( fieldHandle )
{
auto referenceString = fieldHandle->xmlCapability()->referenceString();
@ -311,6 +315,38 @@ std::vector<RimSummaryCaseCollection*> RicSummaryPlotTemplateTools::selectedSumm
return objects;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicSummaryPlotTemplateTools::summaryCaseFieldKeyword()
{
return "SummaryCase";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicSummaryPlotTemplateTools::summaryGroupFieldName()
{
return "SummaryGroup";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicSummaryPlotTemplateTools::placeholderTextForSummaryCase()
{
return "SUMMARY_CASE";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RicSummaryPlotTemplateTools::placeholderTextForSummaryGroup()
{
return "ENSEMBLE";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@ -55,6 +55,11 @@ public:
static std::vector<RimSummaryCase*> selectedSummaryCases();
static std::vector<RimSummaryCaseCollection*> selectedSummaryCaseCollections();
static QString summaryCaseFieldKeyword();
static QString summaryGroupFieldName();
static QString placeholderTextForSummaryCase();
static QString placeholderTextForSummaryGroup();
private:
static RifEclipseSummaryAddress firstAddressByQuantity( const RifEclipseSummaryAddress& sourceAddress,
const std::set<RifEclipseSummaryAddress>& allAddresses );