#1887 Curve Creator: Make the new SummaryCurveCollection operational

This commit is contained in:
Rebecca Cox 2017-09-14 13:56:50 +02:00
parent 1ec9e72ce2
commit 0044fb9e50
8 changed files with 345 additions and 113 deletions

View File

@ -37,6 +37,7 @@
#include "RimSummaryCase.h"
#include "RimSummaryCaseMainCollection.h"
#include "RimSummaryCurve.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryCurveFilter.h"
#include "RimSummaryPlotCollection.h"
@ -156,6 +157,8 @@ bool RiaImportEclipseCaseTools::openEclipseCaseShowTimeStepFilterImpl(const QStr
RimSummaryCurve* summaryCurve = dynamic_cast<RimSummaryCurve*>(objHandle);
if (summaryCurve)
{
//TODO: When removing curve filter functionality, move this to summaryCurveCollection
//loop and update "if (parentCollection)"-block
summaryCurve->setSummaryCase(newSumCase);
summaryCurve->updateConnectedEditors();
@ -178,6 +181,22 @@ bool RiaImportEclipseCaseTools::openEclipseCaseShowTimeStepFilterImpl(const QStr
curveFilter->updateConnectedEditors();
}
for (caf::PdmObjectHandle* objHandle : referringObjects)
{
RimSummaryCurve* summaryCurve = dynamic_cast<RimSummaryCurve*>(objHandle);
if (summaryCurve)
{
RimSummaryCurveCollection* parentCollection = nullptr;
summaryCurve->firstAncestorOrThisOfType(parentCollection);
if (parentCollection)
{
parentCollection->loadDataAndUpdate();
parentCollection->updateConnectedEditors();
break;
}
}
}
sumCaseColl->removeCase(existingFileSummaryCase);
delete existingFileSummaryCase;

View File

@ -56,7 +56,7 @@ void RicCloseSummaryCaseFeature::deleteSummaryCases(const std::vector<RimSummary
{
for (RimSummaryPlot* summaryPlot : summaryPlotColl->summaryPlots)
{
summaryPlot->removeCurvesAssosiatedWithCase(summaryCase);
summaryPlot->deleteCurvesAssosiatedWithCase(summaryCase);
}
summaryPlotColl->updateConnectedEditors();

View File

@ -49,7 +49,7 @@ void RicDeleteSummaryCaseCollectionFeature::deleteSummaryCaseCollection(RimSumma
{
for (RimSummaryPlot* summaryPlot : summaryPlotColl->summaryPlots)
{
summaryPlot->removeCurvesAssosiatedWithCase(summaryCase);
summaryPlot->deleteCurvesAssosiatedWithCase(summaryCase);
}
}

View File

@ -17,7 +17,9 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RimPlotCurve.h"
#include "RimSummaryCurveCollection.h"
#include "RimSummaryCurveFilter.h"
#include "RiuLineSegmentQwtPlotCurve.h"
#include "cafPdmUiComboBoxEditor.h"
@ -187,6 +189,12 @@ void RimPlotCurve::updateCurveVisibility()
if(cFilter) isVisibleInPossibleParent = cFilter->isCurvesVisible();
}
{
RimSummaryCurveCollection* summaryCurveCollection = nullptr;
this->firstAncestorOrThisOfType(summaryCurveCollection);
if (summaryCurveCollection) isVisibleInPossibleParent = summaryCurveCollection->isCurvesVisible();
}
if (m_showCurve() && m_parentQwtPlot && isVisibleInPossibleParent)
{
m_qwtPlotCurve->attach(m_parentQwtPlot);

View File

@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016 Statoil ASA
// Copyright (C) 2017- Statoil ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@ -18,45 +18,19 @@
#include "RimSummaryCurveCollection.h"
//#include "RiaApplication.h"
//
#include "RifReaderEclipseSummary.h"
//
//#include "RigSummaryCaseData.h"
//
//#include "RiaDefines.h"
//#include "RimEclipseResultCase.h"
//#include "RimProject.h"
#include "RigSummaryCaseData.h"
#include "RiaApplication.h"
#include "RimProject.h"
#include "RimSummaryCase.h"
//#include "RimSummaryCurve.h"
//#include "RimSummaryCurveAppearanceCalculator.h"
//#include "RimSummaryCurveAutoName.h"
//#include "RimSummaryFilter.h"
//#include "RimSummaryPlot.h"
//#include "RimSummaryPlotCollection.h"
//
//#include "RiuLineSegmentQwtPlotCurve.h"
//#include "RiuSummaryQwtPlot.h"
//
//#include "WellLogCommands/RicWellLogPlotCurveFeatureImpl.h"
//
//#include "cafPdmUiListEditor.h"
//#include "cafPdmUiPushButtonEditor.h"
//
//
//QTextStream& operator << (QTextStream& str, const std::vector<RifEclipseSummaryAddress>& sobj)
//{
// CVF_ASSERT(false);
// return str;
//}
//
//QTextStream& operator >> (QTextStream& str, std::vector<RifEclipseSummaryAddress>& sobj)
//{
// CVF_ASSERT(false);
// return str;
//}
//
//
#include "RimSummaryCurve.h"
#include "RimSummaryPlot.h"
#include "RiuLineSegmentQwtPlotCurve.h"
#include "RiuSummaryQwtPlot.h"
CAF_PDM_SOURCE_INIT(RimSummaryCurveCollection, "RimSummaryCurveCollection");
//--------------------------------------------------------------------------------------------------
@ -64,6 +38,14 @@ CAF_PDM_SOURCE_INIT(RimSummaryCurveCollection, "RimSummaryCurveCollection");
//--------------------------------------------------------------------------------------------------
RimSummaryCurveCollection::RimSummaryCurveCollection()
{
CAF_PDM_InitObject("Curve Collection", ":/SummaryCurveFilter16x16.png", "", "");
CAF_PDM_InitFieldNoDefault(&m_curves, "CollectionCurves", "Collection Curves", "", "", "");
m_curves.uiCapability()->setUiHidden(true);
m_curves.uiCapability()->setUiTreeChildrenHidden(false);
CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", "");
m_showCurves.uiCapability()->setUiHidden(true);
}
//--------------------------------------------------------------------------------------------------
@ -71,21 +53,145 @@ RimSummaryCurveCollection::RimSummaryCurveCollection()
//--------------------------------------------------------------------------------------------------
RimSummaryCurveCollection::~RimSummaryCurveCollection()
{
m_curves.deleteAllChildObjects();
}
void RimSummaryCurveCollection::createCurves(RimSummaryCase* summaryCase, const QString& stringFilter)
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimSummaryCurveCollection::isCurvesVisible()
{
if (summaryCase)
return m_showCurves();
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::loadDataAndUpdate()
{
for (RimSummaryCurve* curve : m_curves)
{
std::vector<RimSummaryCase*> selectedCases;
selectedCases.push_back(summaryCase);
//m_summaryFilter->setCompleteVarStringFilter(stringFilter);
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> > newCurveDefinitions;
//createSetOfCasesAndResultAdresses(selectedCases, *m_summaryFilter, &newCurveDefinitions);
//createCurvesFromCurveDefinitions(newCurveDefinitions);
curve->loadDataAndUpdate();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::setParentQwtPlot(QwtPlot* plot)
{
for (RimSummaryCurve* curve : m_curves)
{
curve->setParentQwtPlot(plot);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::detachQwtCurves()
{
for (RimSummaryCurve* curve : m_curves)
{
curve->detachQwtCurve();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RimSummaryCurve* RimSummaryCurveCollection::findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const
{
for (RimSummaryCurve* rimCurve : m_curves)
{
if (rimCurve->qwtPlotCurve() == qwtCurve)
{
return rimCurve;
}
}
return NULL;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::addCurve(RimSummaryCurve* curve)
{
if (curve)
{
m_curves.push_back(curve);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::deleteCurve(RimSummaryCurve* curve)
{
if (curve)
{
m_curves.removeChildObject(curve);
delete curve;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<RimSummaryCurve*> RimSummaryCurveCollection::curves()
{
std::vector<RimSummaryCurve*> myCurves;
for (RimSummaryCurve* curve : m_curves)
{
myCurves.push_back(curve);
}
return myCurves;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase)
{
std::vector<RimSummaryCurve*> summaryCurvesToDelete;
for (RimSummaryCurve* summaryCurve : m_curves)
{
if (!summaryCurve) continue;
if (!summaryCurve->summaryCase()) continue;
if (summaryCurve->summaryCase() == summaryCase)
{
summaryCurvesToDelete.push_back(summaryCurve);
}
}
for (RimSummaryCurve* summaryCurve : summaryCurvesToDelete)
{
m_curves.removeChildObject(summaryCurve);
delete summaryCurve;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimSummaryCurveCollection::updateCaseNameHasChanged()
{
for (RimSummaryCurve* curve : m_curves)
{
curve->updateCurveName();
curve->updateConnectedEditors();
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimSummaryCurveCollection::objectToggleField()
{
return &m_showCurves;
}

View File

@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016 Statoil ASA
// Copyright (C) 2017- Statoil ASA
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@ -19,35 +19,25 @@
#pragma once
//#include "cafPdmField.h"
#include "RiaDefines.h"
#include "cafPdmChildArrayField.h"
#include "cafPdmField.h"
#include "cafPdmObject.h"
//#include "cafPdmPointer.h"
//#include "cafPdmPtrField.h"
//#include "cafPdmChildField.h"
//#include "cafPdmChildArrayField.h"
//#include "cafAppEnum.h"
//#include "cafPdmPtrArrayField.h"
//
//#include "RifEclipseSummaryAddress.h"
//
//#include "RiaDefines.h"
//#include "RimSummaryCurveAppearanceCalculator.h"
//
//class QwtPlot;
//class QwtPlotCurve;
//class RifReaderEclipseSummary;
#include "cafPdmPtrArrayField.h"
#include "QPointer"
#include "QList"
class QwtPlot;
class QwtPlotCurve;
class RimSummaryCase;
//class RimSummaryCurve;
//class RimSummaryFilter;
//class RiuLineSegmentQwtPlotCurve;
//class RimSummaryCurveAutoName;
//
//
//Q_DECLARE_METATYPE(RifEclipseSummaryAddress);
class RimSummaryCurve;
class RiuLineSegmentQwtPlotCurve;
//==================================================================================================
///
///
//==================================================================================================
class RimSummaryCurveCollection : public caf::PdmObject
{
@ -57,6 +47,31 @@ public:
RimSummaryCurveCollection();
virtual ~RimSummaryCurveCollection();
void createCurves(RimSummaryCase* summaryCase, const QString& stringFilter);
bool isCurvesVisible();
void loadDataAndUpdate();
void setParentQwtPlot(QwtPlot* plot);
void detachQwtCurves();
RimSummaryCurve* findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const;
void addCurve(RimSummaryCurve* curve);
void deleteCurve(RimSummaryCurve* curve);
std::vector<RimSummaryCurve*> curves();
void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase);
void updateCaseNameHasChanged();
private:
caf::PdmFieldHandle* objectToggleField();
private:
caf::PdmPtrArrayField<RimSummaryCase*> m_selectedSummaryCases;
caf::PdmField<bool> m_showCurves;
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
};

View File

@ -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,7 +70,8 @@ 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)
{
@ -1032,11 +1099,16 @@ 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;
}

View File

@ -30,19 +30,19 @@
#include <QPointer>
class RiuSummaryQwtPlot;
class RimSummaryCurve;
class RimSummaryCase;
class RimSummaryCurveFilter;
class RimSummaryCurveCollection;
class RimSummaryYAxisProperties;
class RimSummaryTimeAxisProperties;
class RimGridTimeHistoryCurve;
class RimAsciiDataCurve;
class PdmUiTreeOrdering;
class RimAsciiDataCurve;
class RimGridTimeHistoryCurve;
class RimSummaryCase;
class RimSummaryCurve;
class RimSummaryCurveCollection;
class RimSummaryCurveFilter;
class RimSummaryTimeAxisProperties;
class RimSummaryYAxisProperties;
class RiuSummaryQwtPlot;
class QwtPlotCurve;
class QwtInterval;
class QwtPlotCurve;
//==================================================================================================
///
@ -62,7 +62,8 @@ public:
void addCurve(RimSummaryCurve* curve);
void deleteCurve(RimSummaryCurve* curve);
void addCurveFilter(RimSummaryCurveFilter* curveFilter);
void removeCurvesAssosiatedWithCase(RimSummaryCase* summaryCase);
void setCurveCollection(RimSummaryCurveCollection* curveCollection);
void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase);
void deleteAllTopLevelCurves();
void addGridTimeHistoryCurve(RimGridTimeHistoryCurve* curve);
@ -137,7 +138,7 @@ private:
caf::PdmChildArrayField<RimGridTimeHistoryCurve*> m_gridTimeHistoryCurves;
caf::PdmChildArrayField<RimSummaryCurve*> m_summaryCurves;
caf::PdmChildArrayField<RimSummaryCurveFilter*> m_curveFilters;
caf::PdmChildField<RimSummaryCurveCollection*> m_curveCollection;
caf::PdmChildField<RimSummaryCurveCollection*> m_summaryCurveCollection;
caf::PdmChildArrayField<RimAsciiDataCurve*> m_asciiDataCurves;
caf::PdmField<bool> m_isAutoZoom;