mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1887 Curve Creator: Make the new SummaryCurveCollection operational
This commit is contained in:
@@ -20,16 +20,16 @@
|
||||
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RimAsciiDataCurve.h"
|
||||
#include "RimGridTimeHistoryCurve.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryCurveFilter.h"
|
||||
#include "RimSummaryCurveCollection.h"
|
||||
#include "RimSummaryCurveFilter.h"
|
||||
#include "RimSummaryCurvesCalculator.h"
|
||||
#include "RimSummaryPlotCollection.h"
|
||||
#include "RimSummaryTimeAxisProperties.h"
|
||||
#include "RimSummaryYAxisProperties.h"
|
||||
#include "RimAsciiDataCurve.h"
|
||||
|
||||
#include "RiuMainPlotWindow.h"
|
||||
#include "RiuSummaryQwtPlot.h"
|
||||
@@ -44,10 +44,10 @@
|
||||
#include <QString>
|
||||
#include <QRectF>
|
||||
|
||||
#include "qwt_plot_curve.h"
|
||||
#include "qwt_plot_renderer.h"
|
||||
#include "qwt_abstract_legend.h"
|
||||
#include "qwt_legend.h"
|
||||
#include "qwt_plot_curve.h"
|
||||
#include "qwt_plot_renderer.h"
|
||||
|
||||
#include "vector"
|
||||
|
||||
@@ -70,8 +70,9 @@ RimSummaryPlot::RimSummaryPlot()
|
||||
CAF_PDM_InitFieldNoDefault(&m_curveFilters, "SummaryCurveFilters", "", "", "", "");
|
||||
m_curveFilters.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_curveCollection, "SummaryCurveCollection", "", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_summaryCurveCollection, "SummaryCurveCollection", "", "", "", "");
|
||||
m_summaryCurveCollection.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_summaryCurves, "SummaryCurves", "", "", "", "");
|
||||
m_summaryCurves.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
@@ -84,23 +85,25 @@ RimSummaryPlot::RimSummaryPlot()
|
||||
CAF_PDM_InitFieldNoDefault(&m_leftYAxisProperties, "LeftYAxisProperties", "Left Y Axis", "", "", "");
|
||||
m_leftYAxisProperties.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
m_leftYAxisProperties = new RimSummaryYAxisProperties;
|
||||
m_leftYAxisProperties->setNameAndAxis("Left Y-Axis", QwtPlot::yLeft);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_rightYAxisProperties, "RightYAxisProperties", "Right Y Axis", "", "", "");
|
||||
m_rightYAxisProperties.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
m_rightYAxisProperties = new RimSummaryYAxisProperties;
|
||||
m_rightYAxisProperties->setNameAndAxis("Right Y-Axis", QwtPlot::yRight);
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_timeAxisProperties, "TimeAxisProperties", "Time Axis", "", "", "");
|
||||
m_timeAxisProperties.uiCapability()->setUiTreeHidden(true);
|
||||
|
||||
m_timeAxisProperties = new RimSummaryTimeAxisProperties;
|
||||
|
||||
CAF_PDM_InitField(&m_isAutoZoom, "AutoZoom", true, "Auto Zoom", "", "", "");
|
||||
m_isAutoZoom.uiCapability()->setUiHidden(true);
|
||||
|
||||
m_summaryCurveCollection = new RimSummaryCurveCollection;
|
||||
|
||||
m_leftYAxisProperties = new RimSummaryYAxisProperties;
|
||||
m_leftYAxisProperties->setNameAndAxis("Left Y-Axis", QwtPlot::yLeft);
|
||||
|
||||
m_rightYAxisProperties = new RimSummaryYAxisProperties;
|
||||
m_rightYAxisProperties->setNameAndAxis("Right Y-Axis", QwtPlot::yRight);
|
||||
|
||||
m_timeAxisProperties = new RimSummaryTimeAxisProperties;
|
||||
|
||||
setAsPlotMdiWindow();
|
||||
}
|
||||
|
||||
@@ -115,6 +118,7 @@ RimSummaryPlot::~RimSummaryPlot()
|
||||
|
||||
m_summaryCurves.deleteAllChildObjects();
|
||||
m_curveFilters.deleteAllChildObjects();
|
||||
delete m_summaryCurveCollection;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -189,6 +193,17 @@ time_t RimSummaryPlot::firstTimeStepOfFirstCurve()
|
||||
}
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
std::vector<RimSummaryCurve*> curves = m_summaryCurveCollection->curves();
|
||||
size_t i = 0;
|
||||
while (firstCurve == nullptr && i < curves.size())
|
||||
{
|
||||
firstCurve = curves[i];
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
size_t i = 0;
|
||||
while (firstCurve == nullptr && i < m_summaryCurves.size())
|
||||
{
|
||||
@@ -548,6 +563,17 @@ std::vector<RimSummaryCurve*> RimSummaryPlot::visibleSummaryCurvesForAxis(RiaDef
|
||||
}
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection && m_summaryCurveCollection->isCurvesVisible())
|
||||
{
|
||||
for (RimSummaryCurve* curve : m_summaryCurveCollection->curves())
|
||||
{
|
||||
if (curve->isCurveVisible() && curve->yAxis() == plotAxis)
|
||||
{
|
||||
curves.push_back(curve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return curves;
|
||||
}
|
||||
|
||||
@@ -706,6 +732,12 @@ void RimSummaryPlot::updateCaseNameHasChanged()
|
||||
{
|
||||
curveFilter->updateCaseNameHasChanged();
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->updateCaseNameHasChanged();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -755,7 +787,8 @@ void RimSummaryPlot::addCurve(RimSummaryCurve* curve)
|
||||
{
|
||||
if (curve)
|
||||
{
|
||||
m_summaryCurves.push_back(curve);
|
||||
m_summaryCurveCollection->addCurve(curve);
|
||||
|
||||
if (m_qwtPlot)
|
||||
{
|
||||
curve->setParentQwtPlot(m_qwtPlot);
|
||||
@@ -771,15 +804,22 @@ void RimSummaryPlot::deleteCurve(RimSummaryCurve* curve)
|
||||
{
|
||||
if (curve)
|
||||
{
|
||||
m_summaryCurves.removeChildObject(curve);
|
||||
delete curve;
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->deleteCurve(curve);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_summaryCurves.removeChildObject(curve);
|
||||
delete curve;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::removeCurvesAssosiatedWithCase(RimSummaryCase* summaryCase)
|
||||
void RimSummaryPlot::deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase)
|
||||
{
|
||||
for (RimSummaryCurveFilter* summaryCurveFilter : m_curveFilters)
|
||||
{
|
||||
@@ -787,6 +827,11 @@ void RimSummaryPlot::removeCurvesAssosiatedWithCase(RimSummaryCase* summaryCase)
|
||||
summaryCurveFilter->removeCurvesAssosiatedWithCase(summaryCase);
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->deleteCurvesAssosiatedWithCase(summaryCase);
|
||||
}
|
||||
|
||||
std::vector<RimSummaryCurve*> summaryCurvesToDelete;
|
||||
|
||||
for (RimSummaryCurve* summaryCurve : m_summaryCurves)
|
||||
@@ -829,6 +874,22 @@ void RimSummaryPlot::addCurveFilter(RimSummaryCurveFilter* curveFilter)
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryPlot::setCurveCollection(RimSummaryCurveCollection* curveCollection)
|
||||
{
|
||||
if (curveCollection)
|
||||
{
|
||||
m_summaryCurveCollection = curveCollection;
|
||||
if (m_qwtPlot)
|
||||
{
|
||||
m_summaryCurveCollection->setParentQwtPlot(m_qwtPlot);
|
||||
this->updateAxes();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -908,6 +969,7 @@ void RimSummaryPlot::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
|
||||
axisFolder->add(&m_rightYAxisProperties);
|
||||
|
||||
uiTreeOrdering.add(&m_curveFilters);
|
||||
uiTreeOrdering.add(&m_summaryCurveCollection);
|
||||
uiTreeOrdering.add(&m_summaryCurves);
|
||||
uiTreeOrdering.add(&m_gridTimeHistoryCurves);
|
||||
uiTreeOrdering.add(&m_asciiDataCurves);
|
||||
@@ -922,10 +984,15 @@ void RimSummaryPlot::loadDataAndUpdate()
|
||||
{
|
||||
updateMdiWindowVisibility();
|
||||
|
||||
for (RimSummaryCurveFilter* curveFilter: m_curveFilters)
|
||||
{
|
||||
for (RimSummaryCurveFilter* curveFilter: m_curveFilters)
|
||||
{
|
||||
curveFilter->loadDataAndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->loadDataAndUpdate();
|
||||
}
|
||||
|
||||
for (RimSummaryCurve* curve : m_summaryCurves)
|
||||
{
|
||||
@@ -1031,12 +1098,17 @@ QWidget* RimSummaryPlot::createViewWidget(QWidget* mainWindowParent)
|
||||
{
|
||||
curveFilter->setParentQwtPlot(m_qwtPlot);
|
||||
}
|
||||
|
||||
for(RimSummaryCurve* curve : m_summaryCurves)
|
||||
|
||||
for (RimSummaryCurve* curve : m_summaryCurves)
|
||||
{
|
||||
curve->setParentQwtPlot(m_qwtPlot);
|
||||
}
|
||||
|
||||
if(m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->setParentQwtPlot(m_qwtPlot);
|
||||
}
|
||||
|
||||
for (RimGridTimeHistoryCurve* curve : m_gridTimeHistoryCurves)
|
||||
{
|
||||
curve->setParentQwtPlot(m_qwtPlot);
|
||||
@@ -1107,6 +1179,11 @@ void RimSummaryPlot::detachAllCurves()
|
||||
curveFilter->detachQwtCurves();
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
m_summaryCurveCollection->detachQwtCurves();
|
||||
}
|
||||
|
||||
for(RimSummaryCurve* curve : m_summaryCurves)
|
||||
{
|
||||
curve->detachQwtCurve();
|
||||
@@ -1158,6 +1235,12 @@ caf::PdmObject* RimSummaryPlot::findRimCurveFromQwtCurve(const QwtPlotCurve* qwt
|
||||
if (foundCurve) return foundCurve;
|
||||
}
|
||||
|
||||
if (m_summaryCurveCollection)
|
||||
{
|
||||
RimSummaryCurve* foundCurve = m_summaryCurveCollection->findRimCurveFromQwtCurve(qwtCurve);
|
||||
if (foundCurve) return foundCurve;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user