#2092 Cross Plot : Detect if curve is a cross plot curve based on anchestor

This commit is contained in:
Magne Sjaastad 2017-11-14 12:58:24 +01:00
parent 1376727386
commit d198ae44ba
3 changed files with 19 additions and 22 deletions

View File

@ -61,7 +61,6 @@ void RicNewSummaryCrossPlotCurveFeature::onActionTriggered(bool isChecked)
RimSummaryCurve* newCurve = new RimSummaryCurve(); RimSummaryCurve* newCurve = new RimSummaryCurve();
cvf::Color3f curveColor = RicWellLogPlotCurveFeatureImpl::curveColorFromTable(plot->curveCount()); cvf::Color3f curveColor = RicWellLogPlotCurveFeatureImpl::curveColorFromTable(plot->curveCount());
newCurve->setColor(curveColor); newCurve->setColor(curveColor);
newCurve->setAsCrossPlotCurve();
plot->addCurveAndUpdate(newCurve); plot->addCurveAndUpdate(newCurve);

View File

@ -28,6 +28,7 @@
#include "RimSummaryAddress.h" #include "RimSummaryAddress.h"
#include "RimSummaryCalculationCollection.h" #include "RimSummaryCalculationCollection.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
#include "RimSummaryCrossPlot.h"
#include "RimSummaryCurveAutoName.h" #include "RimSummaryCurveAutoName.h"
#include "RimSummaryFilter.h" #include "RimSummaryFilter.h"
#include "RimSummaryPlot.h" #include "RimSummaryPlot.h"
@ -132,9 +133,6 @@ RimSummaryCurve::RimSummaryCurve()
// Other members // Other members
CAF_PDM_InitField(&m_isCrossPlot, "IsCrossPlot", false, "Cross Plot Curve", "", "", "");
//m_isCrossPlot.uiCapability()->setUiHidden(true);
CAF_PDM_InitFieldNoDefault(&m_plotAxis, "PlotAxis", "Axis", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_plotAxis, "PlotAxis", "Axis", "", "", "");
CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", "");
@ -154,14 +152,6 @@ RimSummaryCurve::~RimSummaryCurve()
{ {
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurve::setAsCrossPlotCurve()
{
m_isCrossPlot = true;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -357,7 +347,7 @@ void RimSummaryCurve::onLoadDataAndUpdate(bool updateParentPlot)
bool shouldPopulateViewWithEmptyData = false; bool shouldPopulateViewWithEmptyData = false;
if (m_isCrossPlot()) if (isCrossPlotCurve())
{ {
std::vector<double> xValues = this->xValues(); std::vector<double> xValues = this->xValues();
@ -424,24 +414,22 @@ void RimSummaryCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
{ {
RimPlotCurve::updateOptionSensitivity(); RimPlotCurve::updateOptionSensitivity();
uiOrdering.add(&m_isCrossPlot);
{ {
QString curveDataGroupName = "Summary Vector"; QString curveDataGroupName = "Summary Vector";
if (m_isCrossPlot()) curveDataGroupName += " Y"; if (isCrossPlotCurve()) curveDataGroupName += " Y";
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroupWithKeyword(curveDataGroupName, "Summary Vector Y"); caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroupWithKeyword(curveDataGroupName, "Summary Vector Y");
curveDataGroup->add(&m_yValuesSummaryCase); curveDataGroup->add(&m_yValuesSummaryCase);
curveDataGroup->add(&m_yValuesSelectedVariableDisplayField); curveDataGroup->add(&m_yValuesSelectedVariableDisplayField);
QString curveVarSelectionGroupName = "Vector Selection"; QString curveVarSelectionGroupName = "Vector Selection";
if (m_isCrossPlot()) curveVarSelectionGroupName += " Y"; if (isCrossPlotCurve()) curveVarSelectionGroupName += " Y";
caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroupWithKeyword(curveVarSelectionGroupName, "Vector Selection Y"); caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroupWithKeyword(curveVarSelectionGroupName, "Vector Selection Y");
curveVarSelectionGroup->setCollapsedByDefault(true); curveVarSelectionGroup->setCollapsedByDefault(true);
m_yValuesSummaryFilter->uiOrdering(uiConfigName, *curveVarSelectionGroup); m_yValuesSummaryFilter->uiOrdering(uiConfigName, *curveVarSelectionGroup);
curveVarSelectionGroup->add(&m_yValuesUiFilterResultSelection); curveVarSelectionGroup->add(&m_yValuesUiFilterResultSelection);
} }
if (m_isCrossPlot()) if (isCrossPlotCurve())
{ {
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vector X"); caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vector X");
curveDataGroup->add(&m_xValuesSummaryCase); curveDataGroup->add(&m_xValuesSummaryCase);
@ -499,6 +487,18 @@ void RimSummaryCurve::appendOptionItemsForSummaryAddresses(QList<caf::PdmOptionI
} }
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimSummaryCurve::isCrossPlotCurve() const
{
RimSummaryCrossPlot* crossPlot = nullptr;
this->firstAncestorOrThisOfType(crossPlot);
if (crossPlot) return true;
return false;
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -51,8 +51,6 @@ public:
RimSummaryCurve(); RimSummaryCurve();
virtual ~RimSummaryCurve(); virtual ~RimSummaryCurve();
void setAsCrossPlotCurve();
void setSummaryCase(RimSummaryCase* sumCase); void setSummaryCase(RimSummaryCase* sumCase);
RimSummaryCase* summaryCase() const; RimSummaryCase* summaryCase() const;
@ -91,6 +89,8 @@ private:
RimSummaryCase* summaryCase, RimSummaryCase* summaryCase,
RimSummaryFilter* summaryFilter); RimSummaryFilter* summaryFilter);
bool isCrossPlotCurve() const;
private: private:
// Y values // Y values
caf::PdmPtrField<RimSummaryCase*> m_yValuesSummaryCase; caf::PdmPtrField<RimSummaryCase*> m_yValuesSummaryCase;
@ -106,8 +106,6 @@ private:
caf::PdmChildField<RimSummaryFilter*> m_xValuesSummaryFilter; caf::PdmChildField<RimSummaryFilter*> m_xValuesSummaryFilter;
caf::PdmField<RifEclipseSummaryAddress> m_xValuesUiFilterResultSelection; caf::PdmField<RifEclipseSummaryAddress> m_xValuesUiFilterResultSelection;
caf::PdmField<bool> m_isCrossPlot;
caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig; caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig;
caf::PdmField<caf::AppEnum< RiaDefines::PlotAxis>> m_plotAxis; caf::PdmField<caf::AppEnum< RiaDefines::PlotAxis>> m_plotAxis;
}; };