mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fix source list in Summary Editor for ensemble plots
This commit is contained in:
@@ -70,7 +70,6 @@ RimSummaryCurve::RimSummaryCurve()
|
||||
CAF_PDM_InitObject( "Summary Curve", ":/SummaryCurve16x16.png", "", "" );
|
||||
|
||||
// Y Values
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_yValuesSummaryCase, "SummaryCase", "Case", "", "", "" );
|
||||
m_yValuesSummaryCase.uiCapability()->setUiTreeChildrenHidden( true );
|
||||
m_yValuesSummaryCase.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||
@@ -91,7 +90,6 @@ RimSummaryCurve::RimSummaryCurve()
|
||||
m_yValuesSummaryAddress = new RimSummaryAddress;
|
||||
|
||||
// X Values
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_xValuesSummaryCase, "SummaryCaseX", "Case", "", "", "" );
|
||||
m_xValuesSummaryCase.uiCapability()->setUiTreeChildrenHidden( true );
|
||||
m_xValuesSummaryCase.uiCapability()->setAutoAddingOptionFromValue( false );
|
||||
@@ -113,6 +111,8 @@ RimSummaryCurve::RimSummaryCurve()
|
||||
m_xValuesSummaryAddress = new RimSummaryAddress;
|
||||
|
||||
// Other members
|
||||
CAF_PDM_InitFieldNoDefault( &m_isEnsembleCurve, "IsEnsembleCurve", "Ensemble Curve", "", "", "" );
|
||||
m_isEnsembleCurve.v() = caf::Tristate::State::PartiallyTrue;
|
||||
|
||||
CAF_PDM_InitFieldNoDefault( &m_plotAxis, "PlotAxis", "Axis", "", "", "" );
|
||||
|
||||
@@ -150,6 +150,14 @@ RimSummaryCurve::~RimSummaryCurve()
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RiaSummaryCurveDefinition RimSummaryCurve::curveDefinitionY() const
|
||||
{
|
||||
return RiaSummaryCurveDefinition( summaryCaseY(), summaryAddressY(), isEnsembleCurve() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -160,6 +168,11 @@ void RimSummaryCurve::setSummaryCaseY( RimSummaryCase* sumCase )
|
||||
m_qwtCurveErrorBars->setSamples( nullptr );
|
||||
}
|
||||
|
||||
if ( m_isEnsembleCurve().isPartiallyTrue() )
|
||||
{
|
||||
setIsEnsembleCurve( sumCase->ensemble() );
|
||||
}
|
||||
|
||||
m_yValuesSummaryCase = sumCase;
|
||||
}
|
||||
|
||||
@@ -275,6 +288,16 @@ std::vector<double> RimSummaryCurve::valuesY() const
|
||||
return values;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurve::applyCurveDefinitionY( const RiaSummaryCurveDefinition& curveDefinition )
|
||||
{
|
||||
setSummaryCaseY( curveDefinition.summaryCase() );
|
||||
setSummaryAddressY( curveDefinition.summaryAddress() );
|
||||
setIsEnsembleCurve( curveDefinition.isEnsembleCurve() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -392,6 +415,11 @@ void RimSummaryCurve::setOverrideCurveDataY( const std::vector<time_t>& dateTime
|
||||
void RimSummaryCurve::setSummaryCaseX( RimSummaryCase* sumCase )
|
||||
{
|
||||
m_xValuesSummaryCase = sumCase;
|
||||
|
||||
if ( m_isEnsembleCurve().isPartiallyTrue() )
|
||||
{
|
||||
setIsEnsembleCurve( sumCase->ensemble() );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -418,6 +446,22 @@ RiaDefines::PlotAxis RimSummaryCurve::axisY() const
|
||||
return m_plotAxis();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryCurve::isEnsembleCurve() const
|
||||
{
|
||||
return m_isEnsembleCurve().isTrue();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurve::setIsEnsembleCurve( bool isEnsembleCurve )
|
||||
{
|
||||
m_isEnsembleCurve.v() = isEnsembleCurve ? caf::Tristate::State::True : caf::Tristate::State::False;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -664,6 +708,18 @@ void RimSummaryCurve::defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrderi
|
||||
setUiIcon( iconProvider );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurve::initAfterRead()
|
||||
{
|
||||
if ( m_isEnsembleCurve().isPartiallyTrue() )
|
||||
{
|
||||
m_isEnsembleCurve.v() = ( summaryCaseY() && summaryCaseY()->ensemble() ) ? caf::Tristate::State::True
|
||||
: caf::Tristate::State::False;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -25,10 +25,12 @@
|
||||
#include "cafPdmPtrField.h"
|
||||
|
||||
#include "RiaDefines.h"
|
||||
#include "RiaSummaryCurveDefinition.h"
|
||||
#include "RifEclipseSummaryAddressQMetaType.h"
|
||||
#include "RimStackablePlotCurve.h"
|
||||
|
||||
#include "cafAppEnum.h"
|
||||
#include "cafTristate.h"
|
||||
|
||||
class RifSummaryReaderInterface;
|
||||
class RimSummaryCase;
|
||||
@@ -50,14 +52,17 @@ public:
|
||||
~RimSummaryCurve() override;
|
||||
|
||||
// Y Axis functions
|
||||
void setSummaryCaseY( RimSummaryCase* sumCase );
|
||||
RimSummaryCase* summaryCaseY() const;
|
||||
void setSummaryAddressYAndApplyInterpolation( const RifEclipseSummaryAddress& address );
|
||||
void setSummaryAddressY( const RifEclipseSummaryAddress& address );
|
||||
RiaSummaryCurveDefinition curveDefinitionY() const;
|
||||
RimSummaryCase* summaryCaseY() const;
|
||||
RifEclipseSummaryAddress summaryAddressY() const;
|
||||
std::string unitNameY() const;
|
||||
std::vector<double> valuesY() const;
|
||||
|
||||
void applyCurveDefinitionY( const RiaSummaryCurveDefinition& curveDefinition );
|
||||
void setSummaryCaseY( RimSummaryCase* sumCase );
|
||||
void setSummaryAddressYAndApplyInterpolation( const RifEclipseSummaryAddress& address );
|
||||
void setSummaryAddressY( const RifEclipseSummaryAddress& address );
|
||||
|
||||
RifEclipseSummaryAddress summaryAddressY() const;
|
||||
std::string unitNameY() const;
|
||||
std::vector<double> valuesY() const;
|
||||
RifEclipseSummaryAddress errorSummaryAddressY() const;
|
||||
std::vector<double> errorValuesY() const;
|
||||
void setLeftOrRightAxisY( RiaDefines::PlotAxis plotAxis );
|
||||
@@ -67,14 +72,18 @@ public:
|
||||
void setOverrideCurveDataY( const std::vector<time_t>& xValues, const std::vector<double>& yValues );
|
||||
|
||||
// X Axis functions
|
||||
void setSummaryCaseX( RimSummaryCase* sumCase );
|
||||
RimSummaryCase* summaryCaseX() const;
|
||||
RifEclipseSummaryAddress summaryAddressX() const;
|
||||
void setSummaryAddressX( const RifEclipseSummaryAddress& address );
|
||||
std::string unitNameX() const;
|
||||
std::vector<double> valuesX() const;
|
||||
|
||||
void setSummaryCaseX( RimSummaryCase* sumCase );
|
||||
void setSummaryAddressX( const RifEclipseSummaryAddress& address );
|
||||
|
||||
// Other
|
||||
bool isEnsembleCurve() const;
|
||||
void setIsEnsembleCurve( bool isEnsembleCurve );
|
||||
|
||||
void updateQwtPlotAxis();
|
||||
void applyCurveAutoNameSettings( const RimSummaryCurveAutoName& autoNameSettings );
|
||||
|
||||
@@ -97,6 +106,7 @@ protected:
|
||||
void updateLegendsInPlot() override;
|
||||
|
||||
void defineUiTreeOrdering( caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "" ) override;
|
||||
void initAfterRead();
|
||||
|
||||
private:
|
||||
RifSummaryReaderInterface* valuesSummaryReaderX() const;
|
||||
@@ -129,6 +139,8 @@ private:
|
||||
caf::PdmField<RifEclipseSummaryAddress> m_xValuesSummaryAddressUiField;
|
||||
caf::PdmField<bool> m_xPushButtonSelectSummaryAddress;
|
||||
|
||||
caf::PdmField<caf::Tristate> m_isEnsembleCurve;
|
||||
|
||||
caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig;
|
||||
caf::PdmField<caf::AppEnum<RiaDefines::PlotAxis>> m_plotAxis;
|
||||
caf::PdmField<bool> m_isTopZWithinCategory;
|
||||
|
||||
@@ -535,7 +535,8 @@ std::set<RiaSummaryCurveDefinition> RimSummaryPlot::summaryAndEnsembleCurveDefin
|
||||
|
||||
for ( const auto& curve : this->summaryAndEnsembleCurves() )
|
||||
{
|
||||
allCurveDefs.insert( RiaSummaryCurveDefinition( curve->summaryCaseY(), curve->summaryAddressY() ) );
|
||||
allCurveDefs.insert(
|
||||
RiaSummaryCurveDefinition( curve->summaryCaseY(), curve->summaryAddressY(), curve->isEnsembleCurve() ) );
|
||||
}
|
||||
return allCurveDefs;
|
||||
}
|
||||
|
||||
@@ -263,7 +263,7 @@ void RimSummaryPlotFilterTextCurveSetEditor::fieldChangedByUi( const caf::PdmFie
|
||||
|
||||
for ( const auto& filteredAddress : filteredAddressesFromSource )
|
||||
{
|
||||
curveDefinitions.insert( RiaSummaryCurveDefinition( sumCase, filteredAddress, ensemble, true ) );
|
||||
curveDefinitions.insert( RiaSummaryCurveDefinition( sumCase, filteredAddress, ensemble != nullptr ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user