#2170 Summary Cross Plot : Show three stepping groups for cross plots

This commit is contained in:
Magne Sjaastad 2017-12-01 11:46:29 +01:00
parent 3276e46e49
commit b8f8b2bc16
4 changed files with 70 additions and 17 deletions

View File

@ -25,9 +25,10 @@
#include "RimProject.h"
#include "RimSummaryCase.h"
#include "RimSummaryCrossPlot.h"
#include "RimSummaryCurve.h"
#include "RimSummaryPlotSourceStepping.h"
#include "RimSummaryPlot.h"
#include "RimSummaryPlotSourceStepping.h"
#include "RiuLineSegmentQwtPlotCurve.h"
#include "RiuSummaryQwtPlot.h"
@ -50,11 +51,26 @@ RimSummaryCurveCollection::RimSummaryCurveCollection()
CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", "");
m_showCurves.uiCapability()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_sourceStepping, "SourceStepping", "Plot Source Stepping", "", "", "");
m_sourceStepping = new RimSummaryPlotSourceStepping;
m_sourceStepping.uiCapability()->setUiHidden(true);
m_sourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
m_sourceStepping.xmlCapability()->disableIO();
CAF_PDM_InitFieldNoDefault(&m_ySourceStepping, "YSourceStepping", "", "", "", "");
m_ySourceStepping = new RimSummaryPlotSourceStepping;
m_ySourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::Y_AXIS);
m_ySourceStepping.uiCapability()->setUiHidden(true);
m_ySourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
m_ySourceStepping.xmlCapability()->disableIO();
CAF_PDM_InitFieldNoDefault(&m_xSourceStepping, "XSourceStepping", "", "", "", "");
m_xSourceStepping = new RimSummaryPlotSourceStepping;
m_xSourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::X_AXIS);
m_xSourceStepping.uiCapability()->setUiHidden(true);
m_xSourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
m_xSourceStepping.xmlCapability()->disableIO();
CAF_PDM_InitFieldNoDefault(&m_unionSourceStepping, "UnionSourceStepping", "", "", "", "");
m_unionSourceStepping = new RimSummaryPlotSourceStepping;
m_unionSourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::UNION_X_Y_AXIS);
m_unionSourceStepping.uiCapability()->setUiHidden(true);
m_unionSourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
m_unionSourceStepping.xmlCapability()->disableIO();
}
//--------------------------------------------------------------------------------------------------
@ -231,7 +247,7 @@ void RimSummaryCurveCollection::setCurrentSummaryCurve(RimSummaryCurve* curve)
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::applyNextIdentifier()
{
m_sourceStepping->applyNextIdentifier();
m_ySourceStepping->applyNextIdentifier();
}
//--------------------------------------------------------------------------------------------------
@ -239,7 +255,7 @@ void RimSummaryCurveCollection::applyNextIdentifier()
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::applyPreviousIdentifier()
{
m_sourceStepping->applyPreviousIdentifier();
m_ySourceStepping->applyPreviousIdentifier();
}
//--------------------------------------------------------------------------------------------------
@ -247,7 +263,15 @@ void RimSummaryCurveCollection::applyPreviousIdentifier()
//--------------------------------------------------------------------------------------------------
std::vector<caf::PdmFieldHandle*> RimSummaryCurveCollection::fieldsToShowInToolbar()
{
return m_sourceStepping()->fieldsToShowInToolbar();
RimSummaryCrossPlot* parentCrossPlot;
firstAncestorOrThisOfType(parentCrossPlot);
if (parentCrossPlot)
{
return m_unionSourceStepping->fieldsToShowInToolbar();
}
return m_ySourceStepping()->fieldsToShowInToolbar();
}
//--------------------------------------------------------------------------------------------------
@ -302,9 +326,35 @@ void RimSummaryCurveCollection::fieldChangedByUi(const caf::PdmFieldHandle* chan
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{
auto group = uiOrdering.addNewGroup("Plot Source Stepping");
RimSummaryCrossPlot* parentCrossPlot;
firstAncestorOrThisOfType(parentCrossPlot);
m_sourceStepping()->uiOrdering(uiConfigName, *group);
if (parentCrossPlot)
{
{
auto group = uiOrdering.addNewGroup("Y Source Stepping");
m_ySourceStepping()->uiOrdering(uiConfigName, *group);
}
{
auto group = uiOrdering.addNewGroup("X Source Stepping");
m_xSourceStepping()->uiOrdering(uiConfigName, *group);
}
{
auto group = uiOrdering.addNewGroup("Union Source Stepping");
m_unionSourceStepping()->uiOrdering(uiConfigName, *group);
}
}
else
{
auto group = uiOrdering.addNewGroup("Plot Source Stepping");
m_ySourceStepping()->uiOrdering(uiConfigName, *group);
}
}
//--------------------------------------------------------------------------------------------------

View File

@ -80,7 +80,10 @@ private:
caf::PdmField<bool> m_showCurves;
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_sourceStepping;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_ySourceStepping;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_xSourceStepping;
caf::PdmChildField<RimSummaryPlotSourceStepping*> m_unionSourceStepping;
caf::PdmPointer<RimSummaryCurve> m_currentSummaryCurve;
};

View File

@ -170,7 +170,7 @@ std::vector<caf::PdmFieldHandle*> RimSummaryPlotSourceStepping::fieldsToShowInTo
std::vector<caf::PdmFieldHandle*> fields;
RiaSummaryCurveAnalyzer analyzer;
analyzer.analyzeAdresses(allAddressesUsedInCurves());
analyzer.analyzeAdresses(allAddressesUsedInCurveCollection());
if (analyzer.summaryCases().size() == 1)
{
@ -506,7 +506,7 @@ void RimSummaryPlotSourceStepping::updateUiFromCurves()
this->firstAncestorOrThisOfTypeAsserted(curveCollection);
RiaSummaryCurveAnalyzer analyzer;
analyzer.analyzeCurves(curveCollection);
analyzer.analyzeAdresses(allAddressesUsedInCurveCollection());
if (analyzer.summaryCases().size() == 1)
{
@ -569,7 +569,7 @@ void RimSummaryPlotSourceStepping::updateUiFromCurves()
caf::PdmFieldHandle* RimSummaryPlotSourceStepping::fieldToModify()
{
RiaSummaryCurveAnalyzer analyzer;
analyzer.analyzeAdresses(allAddressesUsedInCurves());
analyzer.analyzeAdresses(allAddressesUsedInCurveCollection());
if (analyzer.wellNames().size() == 1)
{
@ -618,7 +618,7 @@ caf::PdmValueField* RimSummaryPlotSourceStepping::valueFieldToModify()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::set<RifEclipseSummaryAddress> RimSummaryPlotSourceStepping::allAddressesUsedInCurves() const
std::set<RifEclipseSummaryAddress> RimSummaryPlotSourceStepping::allAddressesUsedInCurveCollection() const
{
std::set<RifEclipseSummaryAddress> addresses;

View File

@ -76,7 +76,7 @@ private:
caf::PdmFieldHandle* fieldToModify();
caf::PdmValueField* valueFieldToModify();
std::set<RifEclipseSummaryAddress> allAddressesUsedInCurves() const;
std::set<RifEclipseSummaryAddress> allAddressesUsedInCurveCollection() const;
bool isXAxisStepping() const;
bool isYAxisStepping() const;