diff --git a/ApplicationCode/Commands/RicDeleteItemExec.cpp b/ApplicationCode/Commands/RicDeleteItemExec.cpp index 7daa0f6285..356955e036 100644 --- a/ApplicationCode/Commands/RicDeleteItemExec.cpp +++ b/ApplicationCode/Commands/RicDeleteItemExec.cpp @@ -262,6 +262,7 @@ void RicDeleteItemExec::redo() parentObj->firstAncestorOrThisOfType(summaryPlotCollection); if (summaryPlotCollection) { + summaryPlotCollection->updateSummaryNameHasChanged(); RiuPlotMainWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); mainPlotWindow->updateSummaryPlotToolBar(); } diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp index 6c1e6a2abb..78089f0885 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp @@ -812,7 +812,7 @@ void RicSummaryCurveCreator::createNewPlot() QString candidatePlotName; if (m_previewPlot) { - candidatePlotName = m_previewPlot->generatedPlotTitleFromVisibleCurves(); + candidatePlotName = m_previewPlot->generatedPlotTitleFromAllCurves(); } { diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp index ad25822fe8..99042685db 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.cpp @@ -272,24 +272,6 @@ std::vector RimEnsembleCurveSet::curves() const return m_curves.childObjects(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -std::vector RimEnsembleCurveSet::visibleCurves() const -{ - std::vector visible; - - for (const auto& c : m_curves) - { - if (c->isCurveVisible()) - { - visible.push_back(c); - } - } - - return visible; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -988,7 +970,7 @@ QString RimEnsembleCurveSet::createAutoName() const RimSummaryPlot* plot = nullptr; firstAncestorOrThisOfTypeAsserted(plot); - QString curveSetName = m_summaryAddressNameTools->curveNameY(m_yValuesCurveVariable->address(), plot->activePlotTitleHelper()); + QString curveSetName = m_summaryAddressNameTools->curveNameY(m_yValuesCurveVariable->address(), plot->activePlotTitleHelperAllCurves()); if (curveSetName.isEmpty()) { curveSetName = m_summaryAddressNameTools->curveNameY(m_yValuesCurveVariable->address(), nullptr); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h index 5bbf20760b..a07f9b00c2 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimEnsembleCurveSet.h @@ -75,7 +75,6 @@ public: void setSummaryAddress(RifEclipseSummaryAddress address); RifEclipseSummaryAddress summaryAddress() const; std::vector curves() const; - std::vector visibleCurves() const; void deleteAllCurves(); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp index b96cf025b8..fd52dbec7b 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.cpp @@ -355,7 +355,8 @@ QString RimSummaryCurve::createCurveAutoName() RimSummaryPlot* plot = nullptr; firstAncestorOrThisOfTypeAsserted(plot); - QString curveName = m_curveNameConfig->curveNameY(m_yValuesCurveVariable->address(), plot->activePlotTitleHelper()); + const RimSummaryPlotNameHelper* nameHelper = plot->activePlotTitleHelperAllCurves(); + QString curveName = m_curveNameConfig->curveNameY(m_yValuesCurveVariable->address(), nameHelper); if (curveName.isEmpty()) { curveName = m_curveNameConfig->curveNameY(m_yValuesCurveVariable->address(), nullptr); @@ -363,7 +364,7 @@ QString RimSummaryCurve::createCurveAutoName() if (isCrossPlotCurve()) { - QString curveNameX = m_curveNameConfig->curveNameX(m_xValuesCurveVariable->address(), plot->activePlotTitleHelper()); + QString curveNameX = m_curveNameConfig->curveNameX(m_xValuesCurveVariable->address(), nameHelper); if (curveNameX.isEmpty()) { curveNameX = m_curveNameConfig->curveNameX(m_xValuesCurveVariable->address(), nullptr); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h index f356d0bdfa..43a745edd8 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurve.h @@ -76,7 +76,6 @@ public: protected: // RimPlotCurve overrides - virtual QString createCurveAutoName() override; virtual void updateZoomInParentPlot() override; virtual void onLoadDataAndUpdate(bool updateParentPlot) override; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.cpp index 4a8dd74cd6..42ec50d008 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.cpp @@ -175,6 +175,7 @@ void RimSummaryCurveCollection::deleteCurve(RimSummaryCurve* curve) { m_curves.removeChildObject(curve); delete curve; + updateCaseNameHasChanged(); } } @@ -186,24 +187,6 @@ std::vector RimSummaryCurveCollection::curves() const return m_curves.childObjects(); } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -std::vector RimSummaryCurveCollection::visibleCurves() const -{ - std::vector visible; - - for (auto c : m_curves) - { - if (c->isCurveVisible()) - { - visible.push_back(c); - } - } - - return visible; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- @@ -250,6 +233,8 @@ void RimSummaryCurveCollection::updateCaseNameHasChanged() RimSummaryPlot* parentPlot; firstAncestorOrThisOfTypeAsserted(parentPlot); + + parentPlot->updatePlotTitle(); if (parentPlot->qwtPlot()) parentPlot->qwtPlot()->updateLegend(); } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.h index d53c1c9682..a1c2fd89ec 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryCurveCollection.h @@ -55,7 +55,6 @@ public: void deleteCurve(RimSummaryCurve* curve); std::vector curves() const; - std::vector visibleCurves() const; void deleteCurvesAssosiatedWithCase(RimSummaryCase* summaryCase); void deleteAllCurves(); diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp index 595565a1f8..fc82d77913 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.cpp @@ -126,7 +126,7 @@ RimSummaryPlot::RimSummaryPlot() m_isCrossPlot = false; - m_nameHelper.reset(new RimSummaryPlotNameHelper); + m_nameHelperAllCurves.reset(new RimSummaryPlotNameHelper); } //-------------------------------------------------------------------------------------------------- @@ -521,24 +521,25 @@ RiuSummaryQwtPlot* RimSummaryPlot::qwtPlot() const //-------------------------------------------------------------------------------------------------- void RimSummaryPlot::updatePlotTitle() { + updateNameHelperWithCurveData(m_nameHelperAllCurves.get()); + if (m_useAutoPlotTitle) { - m_userDefinedPlotTitle = generatePlotTitle(m_nameHelper.get()); + m_userDefinedPlotTitle = m_nameHelperAllCurves->plotTitle(); } - + updateCurveNames(); - updateMdiWindowTitle(); } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const RimSummaryPlotNameHelper* RimSummaryPlot::activePlotTitleHelper() const +const RimSummaryPlotNameHelper* RimSummaryPlot::activePlotTitleHelperAllCurves() const { if (m_useAutoPlotTitle()) { - return m_nameHelper.get(); + return m_nameHelperAllCurves.get(); } return nullptr; @@ -547,11 +548,11 @@ const RimSummaryPlotNameHelper* RimSummaryPlot::activePlotTitleHelper() const //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimSummaryPlot::generatedPlotTitleFromVisibleCurves() const +QString RimSummaryPlot::generatedPlotTitleFromAllCurves() const { RimSummaryPlotNameHelper nameHelper; - - return generatePlotTitle(&nameHelper); + updateNameHelperWithCurveData(&nameHelper); + return nameHelper.plotTitle(); } //-------------------------------------------------------------------------------------------------- @@ -1527,10 +1528,11 @@ void RimSummaryPlot::updateMdiWindowTitle() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -QString RimSummaryPlot::generatePlotTitle(RimSummaryPlotNameHelper* nameHelper) const +void RimSummaryPlot::updateNameHelperWithCurveData(RimSummaryPlotNameHelper* nameHelper) const { - if (!nameHelper) return ""; + if (!nameHelper) return; + nameHelper->clear(); std::vector addresses; std::vector sumCases; std::vector ensembleCases; @@ -1539,19 +1541,16 @@ QString RimSummaryPlot::generatePlotTitle(RimSummaryPlotNameHelper* nameHelper) { for (RimSummaryCurve* curve : m_summaryCurveCollection->curves()) { - if (curve->isCurveVisible()) + addresses.push_back(curve->summaryAddressY()); + sumCases.push_back(curve->summaryCaseY()); + + if (curve->summaryCaseX()) { - addresses.push_back(curve->summaryAddressY()); - sumCases.push_back(curve->summaryCaseY()); + sumCases.push_back(curve->summaryCaseX()); - if (curve->summaryCaseX()) + if (curve->summaryAddressX().category() != RifEclipseSummaryAddress::SUMMARY_INVALID) { - sumCases.push_back(curve->summaryCaseX()); - - if (curve->summaryAddressX().category() != RifEclipseSummaryAddress::SUMMARY_INVALID) - { - addresses.push_back(curve->summaryAddressX()); - } + addresses.push_back(curve->summaryAddressX()); } } } @@ -1570,8 +1569,6 @@ QString RimSummaryPlot::generatePlotTitle(RimSummaryPlotNameHelper* nameHelper) nameHelper->appendAddresses(addresses); nameHelper->appendSummaryCases(sumCases); nameHelper->appendEnsembleCases(ensembleCases); - - return nameHelper->plotTitle(); } //-------------------------------------------------------------------------------------------------- @@ -1583,10 +1580,7 @@ void RimSummaryPlot::updateCurveNames() { for (auto c : summaryCurves()) { - if (c->isCurveVisible()) - { - c->updateCurveNameNoLegendUpdate(); - } + c->updateCurveNameNoLegendUpdate(); } } diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h index 13bc433faa..9049ed8373 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlot.h @@ -112,9 +112,9 @@ public: void updatePlotTitle(); - const RimSummaryPlotNameHelper* activePlotTitleHelper() const; + const RimSummaryPlotNameHelper* activePlotTitleHelperAllCurves() const; void updateCurveNames(); - QString generatedPlotTitleFromVisibleCurves() const; + QString generatedPlotTitleFromAllCurves() const; void copyAxisPropertiesFromOther(const RimSummaryPlot& sourceSummaryPlot); @@ -126,7 +126,7 @@ public: private: void updateMdiWindowTitle() override; - QString generatePlotTitle(RimSummaryPlotNameHelper* nameHelper) const; + void updateNameHelperWithCurveData(RimSummaryPlotNameHelper* nameHelper) const; protected: // Overridden PDM methods @@ -168,7 +168,7 @@ private: caf::PdmField m_userDefinedPlotTitle; caf::PdmChildArrayField m_gridTimeHistoryCurves; - caf::PdmChildField m_summaryCurveCollection; + caf::PdmChildField m_summaryCurveCollection; caf::PdmChildField m_ensembleCurveSetCollection; caf::PdmChildArrayField m_asciiDataCurves; @@ -184,7 +184,7 @@ private: bool m_isCrossPlot; - std::unique_ptr m_nameHelper; + std::unique_ptr m_nameHelperAllCurves; // Obsolete fields caf::PdmChildArrayField m_summaryCurves_OBSOLETE; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp index 1a91990a65..bf02610c2c 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp @@ -229,7 +229,7 @@ QList RimSummaryPlotSourceStepping::calculateValueOption std::vector identifierTexts; - RifSummaryReaderInterface* reader = firstSummaryReaderForVisibleCurves(); + RifSummaryReaderInterface* reader = firstSummaryReaderForCurves(); if (reader) { RiaSummaryCurveAnalyzer* analyzer = analyzerForReader(reader); @@ -253,9 +253,9 @@ QList RimSummaryPlotSourceStepping::calculateValueOption RifEclipseSummaryAddress::SummaryVarCategory category = RifEclipseSummaryAddress::SUMMARY_FIELD; - if (curveCollection->visibleCurves().size() > 0) + if (curveCollection->curves().size() > 0) { - category = curveCollection->visibleCurves()[0]->summaryAddressY().category(); + category = curveCollection->curves()[0]->summaryAddressY().category(); } RiaSummaryCurveAnalyzer quantityAnalyzer; @@ -301,7 +301,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c { if (m_summaryCase()) { - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping()) { @@ -324,7 +324,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c } else if (changedField == &m_wellName) { - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping()) { @@ -353,7 +353,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c } else if (changedField == &m_region) { - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping()) { @@ -382,7 +382,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c } else if (changedField == &m_quantity) { - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping()) { @@ -405,7 +405,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c } else if (changedField == &m_wellGroupName) { - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping()) { @@ -457,35 +457,21 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RifSummaryReaderInterface* RimSummaryPlotSourceStepping::firstSummaryReaderForVisibleCurves() const -{ - RimSummaryCase* sumCase = firstSummaryCaseForVisibleCurves(); - if (sumCase) - { - return sumCase->summaryReader(); - } - - return nullptr; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -RimSummaryCase* RimSummaryPlotSourceStepping::firstSummaryCaseForVisibleCurves() const +RifSummaryReaderInterface* RimSummaryPlotSourceStepping::firstSummaryReaderForCurves() const { RimSummaryCurveCollection* curveCollection = nullptr; this->firstAncestorOrThisOfTypeAsserted(curveCollection); - for (auto curve : curveCollection->visibleCurves()) + for (auto curve : curveCollection->curves()) { if (isYAxisStepping() && curve->summaryCaseY()) { - return curve->summaryCaseY(); + return curve->summaryCaseY()->summaryReader(); } if (isXAxisStepping() && curve->summaryCaseX()) { - return curve->summaryCaseX(); + return curve->summaryCaseX()->summaryReader(); } } @@ -498,7 +484,7 @@ RimSummaryCase* RimSummaryPlotSourceStepping::firstSummaryCaseForVisibleCurves() caf::PdmValueField* RimSummaryPlotSourceStepping::fieldToModify() { RiaSummaryCurveAnalyzer analyzer; - analyzer.appendAdresses(visibleAddressesCurveCollection()); + analyzer.appendAdresses(addressesCurveCollection()); if (analyzer.wellNames().size() == 1) { @@ -521,7 +507,7 @@ caf::PdmValueField* RimSummaryPlotSourceStepping::fieldToModify() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::set RimSummaryPlotSourceStepping::visibleAddressesCurveCollection() const +std::set RimSummaryPlotSourceStepping::addressesCurveCollection() const { std::set addresses; @@ -530,7 +516,7 @@ std::set RimSummaryPlotSourceStepping::visibleAddresse if (!curveCollection) return addresses; - auto curves = curveCollection->visibleCurves(); + auto curves = curveCollection->curves(); for (auto c : curves) { if (isYAxisStepping()) @@ -550,7 +536,7 @@ std::set RimSummaryPlotSourceStepping::visibleAddresse //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::set RimSummaryPlotSourceStepping::visibleSummaryCasesCurveCollection() const +std::set RimSummaryPlotSourceStepping::summaryCasesCurveCollection() const { std::set sumCases; @@ -559,7 +545,7 @@ std::set RimSummaryPlotSourceStepping::visibleSummaryCasesCurve if (!curveCollection) return sumCases; - auto curves = curveCollection->visibleCurves(); + auto curves = curveCollection->curves(); for (auto c : curves) { if (isYAxisStepping()) @@ -589,7 +575,7 @@ std::vector RimSummaryPlotSourceStepping::computeVisibleFi std::vector fields; - auto sumCases = visibleSummaryCasesCurveCollection(); + auto sumCases = summaryCasesCurveCollection(); if (sumCases.size() == 1) { RimProject* proj = RiaApplication::instance()->project(); @@ -604,7 +590,7 @@ std::vector RimSummaryPlotSourceStepping::computeVisibleFi } RiaSummaryCurveAnalyzer analyzer; - analyzer.appendAdresses(visibleAddressesCurveCollection()); + analyzer.appendAdresses(addressesCurveCollection()); RifEclipseSummaryAddress::SummaryVarCategory category = RifEclipseSummaryAddress::SUMMARY_INVALID; { diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.h b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.h index 866108e79d..65601060e1 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.h +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.h @@ -77,12 +77,11 @@ private: caf::PdmUiEditorAttribute* attribute) override; private: - RifSummaryReaderInterface* firstSummaryReaderForVisibleCurves() const; - RimSummaryCase* firstSummaryCaseForVisibleCurves() const; + RifSummaryReaderInterface* firstSummaryReaderForCurves() const; caf::PdmValueField* fieldToModify(); - std::set visibleAddressesCurveCollection() const; - std::set visibleSummaryCasesCurveCollection() const; + std::set addressesCurveCollection() const; + std::set summaryCasesCurveCollection() const; std::vector computeVisibleFieldsAndSetFieldVisibility(); bool isXAxisStepping() const;