mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2610 Cleanup RimEnsambleCurveSet class
This commit is contained in:
@@ -20,25 +20,19 @@
|
||||
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RiuSummaryCurveDefSelectionDialog.h"
|
||||
|
||||
#include "RifReaderEclipseSummary.h"
|
||||
|
||||
#include "RimProject.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
#include "RimSummaryCrossPlot.h"
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryPlot.h"
|
||||
#include "RimSummaryPlotSourceStepping.h"
|
||||
#include "RimSummaryFilter.h"
|
||||
#include "RimSummaryAddress.h"
|
||||
#include "RimEnsambleCurveSetCollection.h"
|
||||
|
||||
#include "RiuLineSegmentQwtPlotCurve.h"
|
||||
#include "RiuSummaryQwtPlot.h"
|
||||
|
||||
#include "cafPdmUiTreeViewEditor.h"
|
||||
#include "cafPdmUiTreeOrdering.h"
|
||||
#include "cafPdmUiListEditor.h"
|
||||
#include "cafPdmObject.h"
|
||||
@@ -46,9 +40,6 @@
|
||||
|
||||
#include "cvfScalarMapperContinuousLinear.h"
|
||||
|
||||
#include <QTextStream>
|
||||
#include <QKeyEvent>
|
||||
|
||||
|
||||
namespace caf
|
||||
{
|
||||
@@ -78,29 +69,7 @@ RimEnsambleCurveSet::RimEnsambleCurveSet()
|
||||
CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", "");
|
||||
m_showCurves.uiCapability()->setUiHidden(true);
|
||||
|
||||
//CAF_PDM_InitFieldNoDefault(&m_ySourceStepping, "YSourceStepping", "", "", "", "");
|
||||
//m_ySourceStepping = new RimSummaryPlotSourceStepping;
|
||||
//m_ySourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::Y_AXIS);
|
||||
//m_ySourceStepping.uiCapability()->setUiHidden(true);
|
||||
//m_ySourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
//m_ySourceStepping.xmlCapability()->disableIO();
|
||||
|
||||
//CAF_PDM_InitFieldNoDefault(&m_xSourceStepping, "XSourceStepping", "", "", "", "");
|
||||
//m_xSourceStepping = new RimSummaryPlotSourceStepping;
|
||||
//m_xSourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::X_AXIS);
|
||||
//m_xSourceStepping.uiCapability()->setUiHidden(true);
|
||||
//m_xSourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
//m_xSourceStepping.xmlCapability()->disableIO();
|
||||
|
||||
//CAF_PDM_InitFieldNoDefault(&m_unionSourceStepping, "UnionSourceStepping", "", "", "", "");
|
||||
//m_unionSourceStepping = new RimSummaryPlotSourceStepping;
|
||||
//m_unionSourceStepping->setSourceSteppingType(RimSummaryPlotSourceStepping::UNION_X_Y_AXIS);
|
||||
//m_unionSourceStepping.uiCapability()->setUiHidden(true);
|
||||
//m_unionSourceStepping.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
//m_unionSourceStepping.xmlCapability()->disableIO();
|
||||
|
||||
// Y Values
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_yValuesSummaryGroup, "SummaryGroup", "Group", "", "", "");
|
||||
m_yValuesSummaryGroup.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
m_yValuesSummaryGroup.uiCapability()->setAutoAddingOptionFromValue(false);
|
||||
@@ -236,22 +205,6 @@ void RimEnsambleCurveSet::detachQwtCurves()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCurve* RimEnsambleCurveSet::findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const
|
||||
{
|
||||
for (RimSummaryCurve* rimCurve : m_curves)
|
||||
{
|
||||
if (rimCurve->qwtPlotCurve() == qwtCurve)
|
||||
{
|
||||
return rimCurve;
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -306,31 +259,6 @@ std::vector<RimSummaryCurve*> RimEnsambleCurveSet::visibleCurves() const
|
||||
return visible;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase)
|
||||
{
|
||||
std::vector<RimSummaryCurve*> summaryCurvesToDelete;
|
||||
|
||||
for (RimSummaryCurve* summaryCurve : m_curves)
|
||||
{
|
||||
if (!summaryCurve) continue;
|
||||
if (!summaryCurve->summaryCaseY()) continue;
|
||||
|
||||
if (summaryCurve->summaryCaseY() == summaryCase)
|
||||
{
|
||||
summaryCurvesToDelete.push_back(summaryCurve);
|
||||
}
|
||||
}
|
||||
for (RimSummaryCurve* summaryCurve : summaryCurvesToDelete)
|
||||
{
|
||||
m_curves.removeChildObject(summaryCurve);
|
||||
delete summaryCurve;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -339,114 +267,6 @@ void RimEnsambleCurveSet::deleteAllCurves()
|
||||
m_curves.deleteAllChildObjects();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::updateCaseNameHasChanged()
|
||||
{
|
||||
for (RimSummaryCurve* curve : m_curves)
|
||||
{
|
||||
curve->updateCurveNameNoLegendUpdate();
|
||||
curve->updateConnectedEditors();
|
||||
}
|
||||
|
||||
RimSummaryPlot* parentPlot;
|
||||
firstAncestorOrThisOfTypeAsserted(parentPlot);
|
||||
if (parentPlot->qwtPlot()) parentPlot->qwtPlot()->updateLegend();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::setCurrentSummaryCurve(RimSummaryCurve* curve)
|
||||
{
|
||||
m_currentSummaryCurve = curve;
|
||||
|
||||
updateConnectedEditors();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
//std::vector<caf::PdmFieldHandle*> RimEnsambleCurveSet::fieldsToShowInToolbar()
|
||||
//{
|
||||
// RimSummaryCrossPlot* parentCrossPlot;
|
||||
// firstAncestorOrThisOfType(parentCrossPlot);
|
||||
//
|
||||
// if (parentCrossPlot)
|
||||
// {
|
||||
// return m_unionSourceStepping->fieldsToShowInToolbar();
|
||||
// }
|
||||
//
|
||||
// return m_ySourceStepping()->fieldsToShowInToolbar();
|
||||
//}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::handleKeyPressEvent(QKeyEvent* keyEvent)
|
||||
{
|
||||
//if (!keyEvent) return;
|
||||
|
||||
//RimSummaryPlotSourceStepping* sourceStepping = nullptr;
|
||||
//{
|
||||
// RimSummaryCrossPlot* summaryCrossPlot = nullptr;
|
||||
// this->firstAncestorOrThisOfType(summaryCrossPlot);
|
||||
|
||||
// if (summaryCrossPlot)
|
||||
// {
|
||||
// sourceStepping = m_unionSourceStepping();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// sourceStepping = m_ySourceStepping();
|
||||
// }
|
||||
//}
|
||||
|
||||
//if (keyEvent->key() == Qt::Key_PageUp)
|
||||
//{
|
||||
// if (keyEvent->modifiers() & Qt::ShiftModifier)
|
||||
// {
|
||||
// sourceStepping->applyPrevCase();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
// else if (keyEvent->modifiers() & Qt::ControlModifier)
|
||||
// {
|
||||
// sourceStepping->applyPrevOtherIdentifier();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// sourceStepping->applyPrevQuantity();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
//}
|
||||
//else if (keyEvent->key() == Qt::Key_PageDown)
|
||||
//{
|
||||
// if (keyEvent->modifiers() & Qt::ShiftModifier)
|
||||
// {
|
||||
// sourceStepping->applyNextCase();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
// else if (keyEvent->modifiers() & Qt::ControlModifier)
|
||||
// {
|
||||
// sourceStepping->applyNextOtherIdentifier();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// sourceStepping->applyNextQuantity();
|
||||
|
||||
// keyEvent->accept();
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -472,14 +292,11 @@ void RimEnsambleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
{
|
||||
m_yValuesCurveVariable->setAddress(m_yValuesUiFilterResultSelection());
|
||||
|
||||
createNewCurves();
|
||||
|
||||
//RiuMainPlotWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow();
|
||||
//mainPlotWindow->updateSummaryPlotToolBar();
|
||||
updateAllCurves();
|
||||
}
|
||||
else if (changedField == &m_yValuesSummaryGroup)
|
||||
{
|
||||
createNewCurves();
|
||||
updateAllCurves();
|
||||
}
|
||||
else if (changedField == &m_ensambleParameter ||
|
||||
changedField == &m_color ||
|
||||
@@ -498,38 +315,7 @@ void RimEnsambleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
}
|
||||
else if (changedField == &m_yPushButtonSelectSummaryAddress)
|
||||
{
|
||||
//RiuSummaryCurveDefSelectionDialog dlg(nullptr);
|
||||
//RimSummaryCase* candidateCase = m_yValuesSummaryCase();
|
||||
//RifEclipseSummaryAddress candicateAddress = m_yValuesCurveVariable->address();
|
||||
|
||||
//if (candidateCase == nullptr)
|
||||
//{
|
||||
// candidateCase = m_xValuesSummaryCase();
|
||||
//}
|
||||
|
||||
//if (!candicateAddress.isValid())
|
||||
//{
|
||||
// candicateAddress = m_xValuesCurveVariable->address();
|
||||
//}
|
||||
|
||||
//dlg.setCaseAndAddress(candidateCase, candicateAddress);
|
||||
|
||||
//if (dlg.exec() == QDialog::Accepted)
|
||||
//{
|
||||
// auto curveSelection = dlg.curveSelection();
|
||||
// if (curveSelection.size() > 0)
|
||||
// {
|
||||
// m_yValuesSummaryCase = curveSelection[0].summaryCase();
|
||||
// m_yValuesCurveVariable->setAddress(curveSelection[0].summaryAddress());
|
||||
|
||||
// crossPlotTestForMatchingTimeSteps = true;
|
||||
// loadAndUpdate = true;
|
||||
// }
|
||||
//}
|
||||
|
||||
//m_yPushButtonSelectSummaryAddress = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -565,36 +351,6 @@ void RimEnsambleCurveSet::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
colorsGroup->add(&m_ensambleParameter);
|
||||
}
|
||||
uiOrdering.skipRemainingFields(true);
|
||||
|
||||
//RimSummaryCrossPlot* parentCrossPlot;
|
||||
//firstAncestorOrThisOfType(parentCrossPlot);
|
||||
|
||||
//if (parentCrossPlot)
|
||||
//{
|
||||
// {
|
||||
// auto group = uiOrdering.addNewGroup("Y Source Stepping");
|
||||
|
||||
// m_ySourceStepping()->uiOrdering(uiConfigName, *group);
|
||||
// }
|
||||
|
||||
// {
|
||||
// auto group = uiOrdering.addNewGroup("X Source Stepping");
|
||||
|
||||
// m_xSourceStepping()->uiOrdering(uiConfigName, *group);
|
||||
// }
|
||||
|
||||
// {
|
||||
// auto group = uiOrdering.addNewGroup("XY Union Source Stepping");
|
||||
|
||||
// m_unionSourceStepping()->uiOrdering(uiConfigName, *group);
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// auto group = uiOrdering.addNewGroup("Plot Source Stepping");
|
||||
|
||||
// m_ySourceStepping()->uiOrdering(uiConfigName, *group);
|
||||
//}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -619,12 +375,6 @@ caf::PdmFieldHandle* RimEnsambleCurveSet::objectToggleField()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute)
|
||||
{
|
||||
//caf::PdmUiTreeViewEditorAttribute* myAttr = dynamic_cast<caf::PdmUiTreeViewEditorAttribute*>(attribute);
|
||||
//if (myAttr && m_currentSummaryCurve.notNull())
|
||||
//{
|
||||
// myAttr->currentObject = m_currentSummaryCurve.p();
|
||||
//}
|
||||
|
||||
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute);
|
||||
if (attrib)
|
||||
{
|
||||
@@ -655,8 +405,6 @@ QList<caf::PdmOptionItemInfo> RimEnsambleCurveSet::calculateValueOptions(const c
|
||||
{
|
||||
RimSummaryCaseCollection* group = m_yValuesSummaryGroup;
|
||||
|
||||
//options.push_back(caf::PdmOptionItemInfo("None", ""));
|
||||
|
||||
if (group)
|
||||
{
|
||||
std::set<QString> paramSet;
|
||||
@@ -679,32 +427,6 @@ QList<caf::PdmOptionItemInfo> RimEnsambleCurveSet::calculateValueOptions(const c
|
||||
{
|
||||
appendOptionItemsForSummaryAddresses(&options, m_yValuesSummaryGroup(), m_yValuesSummaryFilter());
|
||||
}
|
||||
else if (fieldNeedingOptions == &m_yValuesSelectedVariableDisplayField)
|
||||
{
|
||||
|
||||
//RimSummaryCaseCollection* group = m_yValuesSummaryGroup;
|
||||
//std::map<QString, RifEclipseSummaryAddress> allOpts;
|
||||
|
||||
//if (group)
|
||||
//{
|
||||
// for (auto& sumCase : group->allSummaryCases())
|
||||
// {
|
||||
// std::map<QString, RifEclipseSummaryAddress> opts;
|
||||
// RimSummaryFilter filter;
|
||||
// getOptionsForSummaryAddresses(&opts, sumCase, &filter);
|
||||
|
||||
// for (auto& opt : opts) allOpts.insert(opt);
|
||||
// }
|
||||
//}
|
||||
|
||||
//for (const auto& opt : allOpts) options.push_back(caf::PdmOptionItemInfo(opt.first, QVariant::fromValue(opt.second)));
|
||||
//options.push_front(caf::PdmOptionItemInfo(RiaDefines::undefinedResultName(), QVariant::fromValue(RifEclipseSummaryAddress())));
|
||||
}
|
||||
|
||||
//else if (fieldNeedingOptions == &m_yValuesUiFilterResultSelection)
|
||||
//{
|
||||
// appendOptionItemsForSummaryAddresses(&options, m_yValuesSummaryCase(), m_yValuesSummaryFilter());
|
||||
//}
|
||||
|
||||
return options;
|
||||
}
|
||||
@@ -736,21 +458,20 @@ void RimEnsambleCurveSet::getOptionsForSummaryAddresses(std::map<QString, RifEcl
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
/// Optimization candidate
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::appendOptionItemsForSummaryAddresses(QList<caf::PdmOptionItemInfo>* options,
|
||||
RimSummaryCaseCollection* summaryCaseGroup,
|
||||
RimSummaryFilter* summaryFilter)
|
||||
{
|
||||
// BEJ
|
||||
RimSummaryCase* summaryCase = summaryCaseGroup->allSummaryCases().front();
|
||||
std::set<RifEclipseSummaryAddress> allAddresses;
|
||||
|
||||
if (summaryCase)
|
||||
for (RimSummaryCase* summaryCase : summaryCaseGroup->allSummaryCases())
|
||||
{
|
||||
RifSummaryReaderInterface* reader = summaryCase->summaryReader();
|
||||
if (reader)
|
||||
{
|
||||
const std::vector<RifEclipseSummaryAddress> allAddresses = reader->allResultAddresses();
|
||||
const std::vector<RifEclipseSummaryAddress> addrs = reader ? reader->allResultAddresses() : std::vector<RifEclipseSummaryAddress>();
|
||||
allAddresses.insert(addrs.begin(), addrs.end());
|
||||
}
|
||||
|
||||
for (auto& address : allAddresses)
|
||||
{
|
||||
@@ -760,11 +481,9 @@ void RimEnsambleCurveSet::appendOptionItemsForSummaryAddresses(QList<caf::PdmOpt
|
||||
QString s = QString::fromStdString(name);
|
||||
options->push_back(caf::PdmOptionItemInfo(s, QVariant::fromValue(address)));
|
||||
}
|
||||
}
|
||||
|
||||
options->push_front(caf::PdmOptionItemInfo(RiaDefines::undefinedResultName(), QVariant::fromValue(RifEclipseSummaryAddress())));
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -833,7 +552,7 @@ void RimEnsambleCurveSet::updateQwtPlotAxis()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsambleCurveSet::createNewCurves()
|
||||
void RimEnsambleCurveSet::updateAllCurves()
|
||||
{
|
||||
RimSummaryPlot* plot = nullptr;
|
||||
firstAncestorOrThisOfType(plot);
|
||||
|
||||
@@ -64,23 +64,14 @@ public:
|
||||
void setParentQwtPlotNoReplot(QwtPlot* plot);
|
||||
void detachQwtCurves();
|
||||
|
||||
RimSummaryCurve* findRimCurveFromQwtCurve(const QwtPlotCurve* qwtCurve) const;
|
||||
|
||||
void addCurve(RimSummaryCurve* curve);
|
||||
void deleteCurve(RimSummaryCurve* curve);
|
||||
|
||||
std::vector<RimSummaryCurve*> curves() const;
|
||||
std::vector<RimSummaryCurve*> visibleCurves() const;
|
||||
|
||||
void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase);
|
||||
void deleteAllCurves();
|
||||
void updateCaseNameHasChanged();
|
||||
|
||||
void setCurrentSummaryCurve(RimSummaryCurve* curve);
|
||||
|
||||
//std::vector<caf::PdmFieldHandle*> fieldsToShowInToolbar();
|
||||
|
||||
void handleKeyPressEvent(QKeyEvent* keyEvent);
|
||||
RimRegularLegendConfig* legendConfig();
|
||||
|
||||
private:
|
||||
@@ -104,15 +95,11 @@ private:
|
||||
|
||||
void updateCurveColors();
|
||||
void updateQwtPlotAxis();
|
||||
void createNewCurves();
|
||||
void updateAllCurves();
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showCurves;
|
||||
caf::PdmChildArrayField<RimSummaryCurve*> m_curves; // Convert to PtrField ?
|
||||
|
||||
//caf::PdmChildField<RimSummaryPlotSourceStepping*> m_ySourceStepping;
|
||||
//caf::PdmChildField<RimSummaryPlotSourceStepping*> m_xSourceStepping;
|
||||
//caf::PdmChildField<RimSummaryPlotSourceStepping*> m_unionSourceStepping;
|
||||
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
|
||||
|
||||
caf::PdmPointer<RimSummaryCurve> m_currentSummaryCurve;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user