mirror of
https://github.com/OPM/ResInsight.git
synced 2026-09-03 20:53:13 -05:00
Merge pull request #5301 from OPM/bugfix-summary-selection-5278
#5278 Fix selection of calculated curves in summary selction dialog
This commit is contained in:
@@ -138,8 +138,7 @@ RiuSummaryCurveDefSelection::RiuSummaryCurveDefSelection()
|
|||||||
{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_CELL_IJK )},
|
{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_CELL_IJK )},
|
||||||
{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
||||||
{RifEclipseSummaryAddress::SUMMARY_CALCULATED,
|
{RifEclipseSummaryAddress::SUMMARY_CALCULATED,
|
||||||
{{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_ID )},
|
{{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
||||||
{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
|
||||||
{RifEclipseSummaryAddress::SUMMARY_IMPORTED,
|
{RifEclipseSummaryAddress::SUMMARY_IMPORTED,
|
||||||
{{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
{{new SummaryIdentifierAndField( RifEclipseSummaryAddress::INPUT_VECTOR_NAME )}}},
|
||||||
} )
|
} )
|
||||||
@@ -351,13 +350,6 @@ RiuSummaryCurveDefSelection::RiuSummaryCurveDefSelection()
|
|||||||
"" );
|
"" );
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_CALCULATED][0]->pdmField(),
|
CAF_PDM_InitFieldNoDefault( m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_CALCULATED][0]->pdmField(),
|
||||||
"CalculatedVectorsId",
|
|
||||||
"Calculated Vectors Id",
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"" );
|
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault( m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_CALCULATED][1]->pdmField(),
|
|
||||||
"CalculatedVectors",
|
"CalculatedVectors",
|
||||||
"Calculated Vectors",
|
"Calculated Vectors",
|
||||||
"",
|
"",
|
||||||
@@ -665,6 +657,13 @@ void RiuSummaryCurveDefSelection::setSelectedCurveDefinitions( const std::vector
|
|||||||
{
|
{
|
||||||
avalue = avalue + QString( OBSERVED_DATA_AVALUE_POSTFIX );
|
avalue = avalue + QString( OBSERVED_DATA_AVALUE_POSTFIX );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( isVectorField && summaryAddress.category() == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
|
||||||
|
{
|
||||||
|
// Append calculation id to input vector name calculated data.
|
||||||
|
avalue = avalue + QString( ":%1" ).arg( summaryAddress.id() );
|
||||||
|
}
|
||||||
|
|
||||||
const auto& currentSelectionVector = identifierAndField->pdmField()->v();
|
const auto& currentSelectionVector = identifierAndField->pdmField()->v();
|
||||||
if ( std::find( currentSelectionVector.begin(), currentSelectionVector.end(), avalue ) ==
|
if ( std::find( currentSelectionVector.begin(), currentSelectionVector.end(), avalue ) ==
|
||||||
currentSelectionVector.end() )
|
currentSelectionVector.end() )
|
||||||
@@ -948,7 +947,7 @@ void RiuSummaryCurveDefSelection::defineUiOrdering( QString uiConfigName, caf::P
|
|||||||
}
|
}
|
||||||
else if ( sumCategory == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
|
else if ( sumCategory == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
|
||||||
{
|
{
|
||||||
summaryiesField = m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_CALCULATED][1]->pdmField();
|
summaryiesField = m_identifierFieldsMap[RifEclipseSummaryAddress::SUMMARY_CALCULATED][0]->pdmField();
|
||||||
}
|
}
|
||||||
else if ( sumCategory == RifEclipseSummaryAddress::SUMMARY_IMPORTED )
|
else if ( sumCategory == RifEclipseSummaryAddress::SUMMARY_IMPORTED )
|
||||||
{
|
{
|
||||||
@@ -1192,8 +1191,24 @@ void RiuSummaryCurveDefSelection::buildAddressListForCategoryRecursively(
|
|||||||
for ( const auto& identifierText : ( *identifierAndFieldItr )->pdmField()->v() )
|
for ( const auto& identifierText : ( *identifierAndFieldItr )->pdmField()->v() )
|
||||||
{
|
{
|
||||||
auto idText = identifierText;
|
auto idText = identifierText;
|
||||||
|
|
||||||
|
// Calculated results have a id appended. E.g. "Calculation_3 ( NORNE_ATW2013, WOPR:B-4H ):3"
|
||||||
|
if ( category == RifEclipseSummaryAddress::SUMMARY_CALCULATED )
|
||||||
|
{
|
||||||
|
// Extract the calculation id
|
||||||
|
QStringList tokens = idText.split( ":" );
|
||||||
|
QString calculationId = tokens.last();
|
||||||
|
|
||||||
|
// Put the input vector name back together
|
||||||
|
tokens.pop_back();
|
||||||
|
idText = tokens.join( ":" );
|
||||||
|
|
||||||
|
identifierPath.push_back( std::make_pair( RifEclipseSummaryAddress::INPUT_ID, calculationId ) );
|
||||||
|
}
|
||||||
|
|
||||||
idText.remove( OBSERVED_DATA_AVALUE_POSTFIX );
|
idText.remove( OBSERVED_DATA_AVALUE_POSTFIX );
|
||||||
identifierPath.push_back( std::make_pair( ( *identifierAndFieldItr )->summaryIdentifier(), idText ) );
|
identifierPath.push_back( std::make_pair( ( *identifierAndFieldItr )->summaryIdentifier(), idText ) );
|
||||||
|
|
||||||
if ( ( *identifierAndFieldItr )->summaryIdentifier() != RifEclipseSummaryAddress::INPUT_VECTOR_NAME )
|
if ( ( *identifierAndFieldItr )->summaryIdentifier() != RifEclipseSummaryAddress::INPUT_VECTOR_NAME )
|
||||||
{
|
{
|
||||||
buildAddressListForCategoryRecursively( category,
|
buildAddressListForCategoryRecursively( category,
|
||||||
@@ -1443,6 +1458,11 @@ void RiuSummaryCurveDefSelection::appendOptionItemsForSubCategoriesAndVectors(
|
|||||||
auto name = address.uiText( identifierAndField->summaryIdentifier() );
|
auto name = address.uiText( identifierAndField->summaryIdentifier() );
|
||||||
if ( name.size() > 0 )
|
if ( name.size() > 0 )
|
||||||
{
|
{
|
||||||
|
if ( i == CALCULATED_CURVES )
|
||||||
|
{
|
||||||
|
name += QString( ":%1" ).arg( address.id() ).toStdString();
|
||||||
|
}
|
||||||
|
|
||||||
itemNames[i].insert( name );
|
itemNames[i].insert( name );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user