From 22d3e59570a232b759a6998dfeb789ffa04247e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Jensen?= Date: Thu, 19 Apr 2018 08:29:58 +0200 Subject: [PATCH] #2610 Cleanup RimEnsambleCurveSet class --- .../Summary/RimEnsambleCurveSet.cpp | 321 ++---------------- .../Summary/RimEnsambleCurveSet.h | 41 +-- 2 files changed, 34 insertions(+), 328 deletions(-) diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.cpp b/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.cpp index 921442c676..36cd5d42a2 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.cpp @@ -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 -#include - 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 RimEnsambleCurveSet::visibleCurves() const return visible; } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RimEnsambleCurveSet::deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase) -{ - std::vector 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 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(attribute); - //if (myAttr && m_currentSummaryCurve.notNull()) - //{ - // myAttr->currentObject = m_currentSummaryCurve.p(); - //} - caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast (attribute); if (attrib) { @@ -655,8 +405,6 @@ QList RimEnsambleCurveSet::calculateValueOptions(const c { RimSummaryCaseCollection* group = m_yValuesSummaryGroup; - //options.push_back(caf::PdmOptionItemInfo("None", "")); - if (group) { std::set paramSet; @@ -679,32 +427,6 @@ QList RimEnsambleCurveSet::calculateValueOptions(const c { appendOptionItemsForSummaryAddresses(&options, m_yValuesSummaryGroup(), m_yValuesSummaryFilter()); } - else if (fieldNeedingOptions == &m_yValuesSelectedVariableDisplayField) - { - - //RimSummaryCaseCollection* group = m_yValuesSummaryGroup; - //std::map allOpts; - - //if (group) - //{ - // for (auto& sumCase : group->allSummaryCases()) - // { - // std::map 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,34 +458,31 @@ void RimEnsambleCurveSet::getOptionsForSummaryAddresses(std::map* options, RimSummaryCaseCollection* summaryCaseGroup, RimSummaryFilter* summaryFilter) { - // BEJ - RimSummaryCase* summaryCase = summaryCaseGroup->allSummaryCases().front(); - - if (summaryCase) + std::set allAddresses; + + for (RimSummaryCase* summaryCase : summaryCaseGroup->allSummaryCases()) { RifSummaryReaderInterface* reader = summaryCase->summaryReader(); - if (reader) - { - const std::vector allAddresses = reader->allResultAddresses(); - - for (auto& address : allAddresses) - { - if (summaryFilter && !summaryFilter->isIncludedByFilter(address)) continue; - - std::string name = address.uiText(); - QString s = QString::fromStdString(name); - options->push_back(caf::PdmOptionItemInfo(s, QVariant::fromValue(address))); - } - } - - options->push_front(caf::PdmOptionItemInfo(RiaDefines::undefinedResultName(), QVariant::fromValue(RifEclipseSummaryAddress()))); + const std::vector addrs = reader ? reader->allResultAddresses() : std::vector(); + allAddresses.insert(addrs.begin(), addrs.end()); } + + for (auto& address : allAddresses) + { + if (summaryFilter && !summaryFilter->isIncludedByFilter(address)) continue; + + std::string name = address.uiText(); + 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); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.h b/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.h index 74800d2488..430e31485c 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsambleCurveSet.h @@ -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 curves() const; std::vector visibleCurves() const; - void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase); void deleteAllCurves(); - void updateCaseNameHasChanged(); - void setCurrentSummaryCurve(RimSummaryCurve* curve); - - //std::vector fieldsToShowInToolbar(); - - void handleKeyPressEvent(QKeyEvent* keyEvent); RimRegularLegendConfig* legendConfig(); private: @@ -104,32 +95,28 @@ private: void updateCurveColors(); void updateQwtPlotAxis(); - void createNewCurves(); + void updateAllCurves(); private: - caf::PdmField m_showCurves; - caf::PdmChildArrayField m_curves; // Convert to PtrField ? + caf::PdmField m_showCurves; + caf::PdmChildArrayField m_curves; - //caf::PdmChildField m_ySourceStepping; - //caf::PdmChildField m_xSourceStepping; - //caf::PdmChildField m_unionSourceStepping; - - caf::PdmPointer m_currentSummaryCurve; + caf::PdmPointer m_currentSummaryCurve; // Y values - caf::PdmPtrField m_yValuesSummaryGroup; - caf::PdmChildField m_yValuesCurveVariable; - caf::PdmField m_yValuesSelectedVariableDisplayField; - caf::PdmChildField m_yValuesSummaryFilter; - caf::PdmField m_yValuesUiFilterResultSelection; - caf::PdmField m_yPushButtonSelectSummaryAddress; + caf::PdmPtrField m_yValuesSummaryGroup; + caf::PdmChildField m_yValuesCurveVariable; + caf::PdmField m_yValuesSelectedVariableDisplayField; + caf::PdmChildField m_yValuesSummaryFilter; + caf::PdmField m_yValuesUiFilterResultSelection; + caf::PdmField m_yPushButtonSelectSummaryAddress; - caf::PdmField> m_colorMode; - caf::PdmField m_color; - caf::PdmField m_ensambleParameter; + caf::PdmField> m_colorMode; + caf::PdmField m_color; + caf::PdmField m_ensambleParameter; caf::PdmField> m_plotAxis; - caf::PdmChildField m_legendConfig; + caf::PdmChildField m_legendConfig; };