mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1782 Show Y-axes for ASCII data curves
This commit is contained in:
@@ -235,3 +235,24 @@ bool RimAsciiDataCurve::curveData(std::vector<QDateTime>* timeSteps, std::vector
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimAsciiDataCurve::fieldChangedByUi(const caf::PdmFieldHandle * changedField, const QVariant & oldValue, const QVariant & newValue)
|
||||||
|
{
|
||||||
|
RimPlotCurve::fieldChangedByUi(changedField, oldValue, newValue);
|
||||||
|
|
||||||
|
RimSummaryPlot* plot = nullptr;
|
||||||
|
firstAncestorOrThisOfTypeAsserted(plot);
|
||||||
|
|
||||||
|
if (changedField == &m_plotAxis)
|
||||||
|
{
|
||||||
|
updateQwtPlotAxis();
|
||||||
|
plot->updateAxes();
|
||||||
|
}
|
||||||
|
if (changedField == &m_showCurve)
|
||||||
|
{
|
||||||
|
plot->updateAxes();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,8 @@ protected:
|
|||||||
private:
|
private:
|
||||||
bool curveData(std::vector<QDateTime>* timeSteps, std::vector<double>* values) const;
|
bool curveData(std::vector<QDateTime>* timeSteps, std::vector<double>* values) const;
|
||||||
|
|
||||||
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Fields
|
// Fields
|
||||||
caf::PdmField< caf::AppEnum< RiaDefines::PlotAxis > > m_plotAxis;
|
caf::PdmField< caf::AppEnum< RiaDefines::PlotAxis > > m_plotAxis;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
#include "RimSummaryCurve.h"
|
#include "RimSummaryCurve.h"
|
||||||
#include "RimSummaryCurveFilter.h"
|
#include "RimSummaryCurveFilter.h"
|
||||||
#include "RimSummaryYAxisProperties.h"
|
#include "RimSummaryYAxisProperties.h"
|
||||||
|
#include "RimAsciiDataCurve.h"
|
||||||
|
|
||||||
#include "RiuSummaryQwtPlot.h"
|
#include "RiuSummaryQwtPlot.h"
|
||||||
|
|
||||||
@@ -98,10 +99,12 @@ public:
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimSummaryPlotYAxisFormatter::RimSummaryPlotYAxisFormatter(RimSummaryYAxisProperties* axisProperties,
|
RimSummaryPlotYAxisFormatter::RimSummaryPlotYAxisFormatter(RimSummaryYAxisProperties* axisProperties,
|
||||||
const std::vector<RimSummaryCurve*>& curves,
|
const std::vector<RimSummaryCurve*>& summaryCurves,
|
||||||
|
const std::vector<RimAsciiDataCurve*>& asciiCurves,
|
||||||
const std::set<QString>& timeHistoryCurveQuantities)
|
const std::set<QString>& timeHistoryCurveQuantities)
|
||||||
: m_axisProperties(axisProperties),
|
: m_axisProperties(axisProperties),
|
||||||
m_singleCurves(curves),
|
m_summaryCurves(summaryCurves),
|
||||||
|
m_asciiDataCurves(asciiCurves),
|
||||||
m_timeHistoryCurveQuantities(timeHistoryCurveQuantities)
|
m_timeHistoryCurveQuantities(timeHistoryCurveQuantities)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -193,7 +196,7 @@ QString RimSummaryPlotYAxisFormatter::autoAxisTitle() const
|
|||||||
{
|
{
|
||||||
std::map<std::string, std::set<std::string> > unitToQuantityNameMap;
|
std::map<std::string, std::set<std::string> > unitToQuantityNameMap;
|
||||||
|
|
||||||
for ( RimSummaryCurve* rimCurve : m_singleCurves )
|
for ( RimSummaryCurve* rimCurve : m_summaryCurves )
|
||||||
{
|
{
|
||||||
if ( rimCurve->yAxis() == this->m_axisProperties->plotAxisType() )
|
if ( rimCurve->yAxis() == this->m_axisProperties->plotAxisType() )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
|
class RimAsciiDataCurve;
|
||||||
class RimSummaryCurve;
|
class RimSummaryCurve;
|
||||||
class RimSummaryCurveFilter;
|
class RimSummaryCurveFilter;
|
||||||
class RimSummaryYAxisProperties;
|
class RimSummaryYAxisProperties;
|
||||||
@@ -34,7 +35,8 @@ class RimSummaryPlotYAxisFormatter
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RimSummaryPlotYAxisFormatter(RimSummaryYAxisProperties* axisProperties,
|
RimSummaryPlotYAxisFormatter(RimSummaryYAxisProperties* axisProperties,
|
||||||
const std::vector<RimSummaryCurve*>& curves,
|
const std::vector<RimSummaryCurve*>& summaryCurves,
|
||||||
|
const std::vector<RimAsciiDataCurve*>& asciiCurves,
|
||||||
const std::set<QString>& timeHistoryCurveQuantities);
|
const std::set<QString>& timeHistoryCurveQuantities);
|
||||||
|
|
||||||
void applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot);
|
void applyYAxisPropertiesToPlot(RiuSummaryQwtPlot* qwtPlot);
|
||||||
@@ -43,9 +45,10 @@ private:
|
|||||||
QString autoAxisTitle() const;
|
QString autoAxisTitle() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
RimSummaryYAxisProperties* m_axisProperties;
|
RimSummaryYAxisProperties* m_axisProperties;
|
||||||
const std::vector<RimSummaryCurve*> m_singleCurves;
|
const std::vector<RimSummaryCurve*> m_summaryCurves;
|
||||||
const std::set<QString> m_timeHistoryCurveQuantities;
|
const std::vector<RimAsciiDataCurve*> m_asciiDataCurves;
|
||||||
|
const std::set<QString> m_timeHistoryCurveQuantities;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -457,7 +457,10 @@ void RimSummaryPlot::updateAxis(RiaDefines::PlotAxis plotAxis)
|
|||||||
timeHistoryQuantities.insert(c->quantityName());
|
timeHistoryQuantities.insert(c->quantityName());
|
||||||
}
|
}
|
||||||
|
|
||||||
RimSummaryPlotYAxisFormatter calc(yAxisProperties, visibleSummaryCurvesForAxis(plotAxis), timeHistoryQuantities);
|
RimSummaryPlotYAxisFormatter calc(yAxisProperties,
|
||||||
|
visibleSummaryCurvesForAxis(plotAxis),
|
||||||
|
visibleAsciiDataCurvesForAxis(plotAxis),
|
||||||
|
timeHistoryQuantities);
|
||||||
calc.applyYAxisPropertiesToPlot(m_qwtPlot);
|
calc.applyYAxisPropertiesToPlot(m_qwtPlot);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -492,6 +495,13 @@ void RimSummaryPlot::updateZoomForAxis(RiaDefines::PlotAxis plotAxis)
|
|||||||
plotCurves.push_back(c->qwtPlotCurve());
|
plotCurves.push_back(c->qwtPlotCurve());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (RimAsciiDataCurve* c : visibleAsciiDataCurvesForAxis(plotAxis))
|
||||||
|
{
|
||||||
|
std::vector<double> curveValues = c->yValues();
|
||||||
|
yValues.insert(yValues.end(), curveValues.begin(), curveValues.end());
|
||||||
|
plotCurves.push_back(c->qwtPlotCurve());
|
||||||
|
}
|
||||||
|
|
||||||
double min, max;
|
double min, max;
|
||||||
RimSummaryPlotYAxisRangeCalculator calc(plotCurves, yValues);
|
RimSummaryPlotYAxisRangeCalculator calc(plotCurves, yValues);
|
||||||
calc.computeYRange(&min, &max);
|
calc.computeYRange(&min, &max);
|
||||||
@@ -551,6 +561,11 @@ bool RimSummaryPlot::hasVisibleCurvesForAxis(RiaDefines::PlotAxis plotAxis) cons
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (visibleAsciiDataCurvesForAxis(plotAxis).size() > 0)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -593,6 +608,24 @@ std::vector<RimGridTimeHistoryCurve*> RimSummaryPlot::visibleTimeHistoryCurvesFo
|
|||||||
return curves;
|
return curves;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
std::vector<RimAsciiDataCurve*> RimSummaryPlot::visibleAsciiDataCurvesForAxis(RiaDefines::PlotAxis plotAxis) const
|
||||||
|
{
|
||||||
|
std::vector<RimAsciiDataCurve*> curves;
|
||||||
|
|
||||||
|
for (auto c : m_asciiDataCurves)
|
||||||
|
{
|
||||||
|
if (c->isCurveVisible() && c->yAxis() == plotAxis)
|
||||||
|
{
|
||||||
|
curves.push_back(c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return curves;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
std::vector<RimSummaryCurve*> visibleSummaryCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
std::vector<RimSummaryCurve*> visibleSummaryCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||||
std::vector<RimGridTimeHistoryCurve*> visibleTimeHistoryCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
std::vector<RimGridTimeHistoryCurve*> visibleTimeHistoryCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||||
|
std::vector<RimAsciiDataCurve*> visibleAsciiDataCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||||
bool hasVisibleCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
bool hasVisibleCurvesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||||
|
|
||||||
RimSummaryYAxisProperties* yAxisPropertiesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
RimSummaryYAxisProperties* yAxisPropertiesForAxis(RiaDefines::PlotAxis plotAxis) const;
|
||||||
|
|||||||
Reference in New Issue
Block a user