Skip to content

Commit

Permalink
Add flag to optionally distribute a summary calculation to all cases
Browse files Browse the repository at this point in the history
  • Loading branch information
magnesj committed Nov 9, 2023
1 parent 319dc2a commit eea56e4
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
19 changes: 18 additions & 1 deletion ApplicationLibCode/ProjectDataModel/RimSummaryCalculation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,11 @@ RimSummaryCalculation::RimSummaryCalculation()
{
CAF_PDM_InitObject( "RimSummaryCalculation", ":/octave.png", "Calculation", "" );

CAF_PDM_InitField( &m_distributeToOtherItems, "DistributeToOtherItems", true, "Distribute to other items (wells, groups, ..)" );
CAF_PDM_InitField( &m_distributeToOtherItems, "DistributeToOtherItems", true, "Distribute to other items (wells, groups, ...)" );
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_distributeToOtherItems );

CAF_PDM_InitField( &m_distributeToAllCases, "DistributeToAllCases", true, "Distribute to All Cases" );
caf::PdmUiNativeCheckBoxEditor::configureFieldForEditor( &m_distributeToAllCases );
}

//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -465,6 +468,20 @@ void RimSummaryCalculation::removeDependentObjects()
//--------------------------------------------------------------------------------------------------
std::vector<RimSummaryCalculationAddress> RimSummaryCalculation::allAddressesForSummaryCase( RimSummaryCase* summaryCase ) const
{
if ( !m_distributeToAllCases )
{
for ( auto& v : m_variables )
{
if ( auto variable = dynamic_cast<RimSummaryCalculationVariable*>( v.p() ) )
{
if ( variable->summaryCase() != summaryCase )
{
return {};
}
}
}
}

auto variables = getVariables();
if ( variables && !variables.value().empty() )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,4 +91,5 @@ class RimSummaryCalculation : public RimUserDefinedCalculation

private:
caf::PdmField<bool> m_distributeToOtherItems;
caf::PdmField<bool> m_distributeToAllCases;
};

0 comments on commit eea56e4

Please sign in to comment.