#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();
cvf::Color3f curveColor = RicWellLogPlotCurveFeatureImpl::curveColorFromTable(plot->curveCount());
newCurve->setColor(curveColor);
newCurve->setAsCrossPlotCurve();
plot->addCurveAndUpdate(newCurve);

View File

@ -28,6 +28,7 @@
#include "RimSummaryAddress.h"
#include "RimSummaryCalculationCollection.h"
#include "RimSummaryCase.h"
#include "RimSummaryCrossPlot.h"
#include "RimSummaryCurveAutoName.h"
#include "RimSummaryFilter.h"
#include "RimSummaryPlot.h"
@ -132,9 +133,6 @@ RimSummaryCurve::RimSummaryCurve()
// 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_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;
if (m_isCrossPlot())
if (isCrossPlotCurve())
{
std::vector<double> xValues = this->xValues();
@ -424,24 +414,22 @@ void RimSummaryCurve::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering&
{
RimPlotCurve::updateOptionSensitivity();
uiOrdering.add(&m_isCrossPlot);
{
QString curveDataGroupName = "Summary Vector";
if (m_isCrossPlot()) curveDataGroupName += " Y";
if (isCrossPlotCurve()) curveDataGroupName += " Y";
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroupWithKeyword(curveDataGroupName, "Summary Vector Y");
curveDataGroup->add(&m_yValuesSummaryCase);
curveDataGroup->add(&m_yValuesSelectedVariableDisplayField);
QString curveVarSelectionGroupName = "Vector Selection";
if (m_isCrossPlot()) curveVarSelectionGroupName += " Y";
if (isCrossPlotCurve()) curveVarSelectionGroupName += " Y";
caf::PdmUiGroup* curveVarSelectionGroup = curveDataGroup->addNewGroupWithKeyword(curveVarSelectionGroupName, "Vector Selection Y");
curveVarSelectionGroup->setCollapsedByDefault(true);
m_yValuesSummaryFilter->uiOrdering(uiConfigName, *curveVarSelectionGroup);
curveVarSelectionGroup->add(&m_yValuesUiFilterResultSelection);
}
if (m_isCrossPlot())
if (isCrossPlotCurve())
{
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroup("Summary Vector X");
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();
virtual ~RimSummaryCurve();
void setAsCrossPlotCurve();
void setSummaryCase(RimSummaryCase* sumCase);
RimSummaryCase* summaryCase() const;
@ -91,6 +89,8 @@ private:
RimSummaryCase* summaryCase,
RimSummaryFilter* summaryFilter);
bool isCrossPlotCurve() const;
private:
// Y values
caf::PdmPtrField<RimSummaryCase*> m_yValuesSummaryCase;
@ -106,8 +106,6 @@ private:
caf::PdmChildField<RimSummaryFilter*> m_xValuesSummaryFilter;
caf::PdmField<RifEclipseSummaryAddress> m_xValuesUiFilterResultSelection;
caf::PdmField<bool> m_isCrossPlot;
caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig;
caf::PdmField<caf::AppEnum< RiaDefines::PlotAxis>> m_plotAxis;
};