diff --git a/ApplicationCode/CommandFileInterface/RicfExportProperty.cpp b/ApplicationCode/CommandFileInterface/RicfExportProperty.cpp index e1abbd8faa..1784a46e22 100644 --- a/ApplicationCode/CommandFileInterface/RicfExportProperty.cpp +++ b/ApplicationCode/CommandFileInterface/RicfExportProperty.cpp @@ -50,7 +50,6 @@ RicfExportProperty::RicfExportProperty() RICF_InitField(&m_caseId, "caseId", -1, "Case ID", "", "", ""); RICF_InitField(&m_timeStepIndex, "timeStep", -1, "Time Step Index", "", "", ""); RICF_InitField(&m_propertyName, "property", QString(), "Property Name", "", "", ""); - RICF_InitField(&m_type, "type", caf::AppEnum(RiaDefines::DYNAMIC_NATIVE), "Property type", "", "", ""); RICF_InitField(&m_eclipseKeyword, "eclipseKeyword", QString(), "Eclipse Keyword", "", "", ""); RICF_InitField(&m_undefinedValue, "undefinedValue", 0.0, "Undefined Value", "", "", ""); RICF_InitField(&m_exportFileName, "exportFile", QString(), "Export FileName", "", "", ""); diff --git a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp index 1d0fae091a..ef83dfb2ab 100644 --- a/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp +++ b/ApplicationCode/Commands/SummaryPlotCommands/RicSummaryCurveCreator.cpp @@ -20,8 +20,8 @@ #include "RiaApplication.h" #include "RiaColorTables.h" -#include "RiaSummaryCurveDefinition.h" #include "RiaCurveSetDefinition.h" +#include "RiaSummaryCurveDefinition.h" #include "RicSelectSummaryPlotUI.h" #include "RiuSummaryCurveDefinitionKeywords.h" @@ -47,6 +47,7 @@ #include "RimSummaryPlot.h" #include "RimSummaryPlotCollection.h" +#include "RiuPlotMainWindow.h" #include "RiuPlotMainWindowTools.h" #include "RiuSummaryCurveDefSelection.h" #include "RiuSummaryQwtPlot.h" @@ -76,8 +77,9 @@ const QString RicSummaryCurveCreator::CONFIGURATION_NAME = "CurveCreatorCfg"; //-------------------------------------------------------------------------------------------------- /// Internal functions //-------------------------------------------------------------------------------------------------- -int ensembleCurveCount(const std::set& allCurveDefs); -template std::vector toVector(const std::set& set); +int ensembleCurveCount(const std::set& allCurveDefs); +template +std::vector toVector(const std::set& set); //-------------------------------------------------------------------------------------------------- /// @@ -346,7 +348,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection() for (const auto& curve : currentCurvesInPreviewPlot) { RimSummaryCase* sumCase = curve->summaryCaseY(); - currentCurveDefs.insert(RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr)); + currentCurveDefs.insert( + RiaSummaryCurveDefinition(sumCase, curve->summaryAddressY(), sumCase ? sumCase->ensemble() : nullptr)); } { @@ -380,10 +383,12 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection() // Curve sets to delete std::set curveSetsToDelete; { - std::vector allCurveSetDefinitionsVector = m_summaryCurveSelectionEditor->summaryAddressSelection()->allCurveSetDefinitionsFromSelections(); - std::set allCurveSetDefinitions = std::set(allCurveSetDefinitionsVector.begin(), allCurveSetDefinitionsVector.end()); + std::vector allCurveSetDefinitionsVector = + m_summaryCurveSelectionEditor->summaryAddressSelection()->allCurveSetDefinitionsFromSelections(); + std::set allCurveSetDefinitions = + std::set(allCurveSetDefinitionsVector.begin(), allCurveSetDefinitionsVector.end()); std::vector currentCurveSetsInPreviewPlot = m_previewPlot->curveSets(); - std::set currentCurveSetDefs; + std::set currentCurveSetDefs; for (const auto& curveSet : currentCurveSetsInPreviewPlot) { @@ -403,8 +408,8 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection() for (const auto& curveSet : currentCurveSetsInPreviewPlot) { - RimSummaryCaseCollection* ensemble = curveSet->summaryCaseCollection(); - RiaCurveSetDefinition curveSetDef = RiaCurveSetDefinition(ensemble, curveSet->summaryAddress()); + RimSummaryCaseCollection* ensemble = curveSet->summaryCaseCollection(); + RiaCurveSetDefinition curveSetDef = RiaCurveSetDefinition(ensemble, curveSet->summaryAddress()); if (deleteCurveSetDefs.count(curveSetDef) > 0) curveSetsToDelete.insert(curveSet); } } @@ -421,9 +426,9 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions( const std::set& allCurveDefsToDisplay, const std::set& curveDefsToAdd, const std::set& curvesToDelete, - const std::set& curveSetsToDelete) + const std::set& curveSetsToDelete) { - static bool warningDisplayed = false; + static bool warningDisplayed = false; std::set summaryCurveDefsToDisplay; @@ -438,11 +443,11 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions( initCurveAppearanceCalculator(curveLookCalc); // Delete curves - if(!curveSetsToDelete.empty()) + if (!curveSetsToDelete.empty()) { m_previewPlot->ensembleCurveSetCollection()->deleteCurveSets(toVector(curveSetsToDelete)); } - if(!curvesToDelete.empty()) + if (!curvesToDelete.empty()) { m_previewPlot->deleteCurves(toVector(curvesToDelete)); } @@ -457,7 +462,7 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions( curve->setSummaryCaseY(currentCase); curve->setSummaryAddressY(curveDef.summaryAddress()); curve->applyCurveAutoNameSettings(*m_curveNameConfig()); - if(currentCase->isObservedData()) curve->setSymbolSkipDistance(0); + if (currentCase->isObservedData()) curve->setSymbolSkipDistance(0); if (curveDef.isEnsembleCurve()) { @@ -479,9 +484,8 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions( curveSet->setSummaryAddress(curveDef.summaryAddress()); // Set single curve set color - auto allCurveSets = m_previewPlot->ensembleCurveSetCollection()->curveSets(); - size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet) - { + auto allCurveSets = m_previewPlot->ensembleCurveSetCollection()->curveSets(); + size_t colorIndex = std::count_if(allCurveSets.begin(), allCurveSets.end(), [](RimEnsembleCurveSet* curveSet) { return curveSet->colorMode() == RimEnsembleCurveSet::SINGLE_COLOR; }); curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex)); @@ -489,7 +493,8 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions( // Add curve to plot m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet); - if (m_previewPlot->ensembleCurveSetCollection()->curveSets().size() > 1 && ensembleCurveCnt > ENSEMBLE_CURVE_COUNT_THRESHOLD) + if (m_previewPlot->ensembleCurveSetCollection()->curveSets().size() > 1 && + ensembleCurveCnt > ENSEMBLE_CURVE_COUNT_THRESHOLD) { // Toggle off new curve set and display warning curveSet->showCurves(false); @@ -558,7 +563,7 @@ std::set RicSummaryCurveCreator::getAllSummaryWellNames() { const std::set allAddresses = reader->allResultAddresses(); - for(auto& address : allAddresses) + for (auto& address : allAddresses) { if (address.category() == RifEclipseSummaryAddress::SUMMARY_WELL) { @@ -903,6 +908,9 @@ void RicSummaryCurveCreator::createNewPlot() m_targetPlot = newSummaryPlot; updateTargetPlot(); + + RiuPlotMainWindow* mainPlotWindow = RiaApplication::instance()->mainPlotWindow(); + mainPlotWindow->updateSummaryPlotToolBar(); } } } @@ -1015,7 +1023,8 @@ int ensembleCurveCount(const std::set& allCurveDefs) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -template std::vector toVector(const std::set& set) +template +std::vector toVector(const std::set& set) { return std::vector(set.begin(), set.end()); } diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp index ab4867c79d..6fed115bd3 100644 --- a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp +++ b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.cpp @@ -520,6 +520,26 @@ RifEclipseSummaryAddress RifEclipseSummaryAddress::ensembleStatisticsAddress(con //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- +bool RifEclipseSummaryAddress::isDependentOnWellName(const RifEclipseSummaryAddress& address) +{ + // clang-format off + if (address.category() == SUMMARY_WELL || + address.category() == SUMMARY_WELL_COMPLETION || + address.category() == SUMMARY_WELL_COMPLETION_LGR || + address.category() == SUMMARY_WELL_LGR || + address.category() == SUMMARY_WELL_SEGMENT) + { + return true; + } + + // clang-format on + + return false; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- const std::string RifEclipseSummaryAddress::ensembleStatisticsQuantityName() const { QString qName = QString::fromStdString(m_quantityName); diff --git a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h index c673326781..e898220568 100644 --- a/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h +++ b/ApplicationCode/FileInterface/RifEclipseSummaryAddress.h @@ -144,6 +144,8 @@ public: static RifEclipseSummaryAddress importedAddress(const std::string& quantityName); static RifEclipseSummaryAddress ensembleStatisticsAddress(const std::string& quantityName, const std::string& dataQuantityName); + static bool isDependentOnWellName(const RifEclipseSummaryAddress& address); + // Access methods SummaryVarCategory category() const { return m_variableCategory; } diff --git a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h index 41e4db4dcb..1d7c7279d7 100644 --- a/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h +++ b/ApplicationCode/ProjectDataModel/RimEclipseResultDefinition.h @@ -33,6 +33,8 @@ #include "cafPdmPtrField.h" #include "cafPdmUiItem.h" +#include + class RigCaseCellResultsData; class RimEclipseCase; class RimEclipseView; diff --git a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp index ae7e07a5a2..8e83d82db3 100644 --- a/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp +++ b/ApplicationCode/ProjectDataModel/Summary/RimSummaryPlotSourceStepping.cpp @@ -44,7 +44,8 @@ CAF_PDM_SOURCE_INIT(RimSummaryPlotSourceStepping, "RimSummaryCurveCollectionModi //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -RimSummaryPlotSourceStepping::RimSummaryPlotSourceStepping() : m_sourceSteppingType(Y_AXIS) +RimSummaryPlotSourceStepping::RimSummaryPlotSourceStepping() + : m_sourceSteppingType(Y_AXIS) { // clang-format off CAF_PDM_InitObject("Summary Curves Modifier", "", "", ""); @@ -244,8 +245,9 @@ QList RimSummaryPlotSourceStepping::calculateValueOption //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, - const QVariant& newValue) +void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* changedField, + const QVariant& oldValue, + const QVariant& newValue) { RimSummaryCurveCollection* curveCollection = nullptr; this->firstAncestorOrThisOfTypeAsserted(curveCollection); @@ -286,7 +288,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c if (isYAxisStepping()) { RifEclipseSummaryAddress adr = curve->summaryAddressY(); - if (adr.category() == RifEclipseSummaryAddress::SUMMARY_WELL) + if (RifEclipseSummaryAddress::isDependentOnWellName(adr)) { adr.setWellName(m_wellName().toStdString()); @@ -297,7 +299,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c if (isXAxisStepping()) { RifEclipseSummaryAddress adr = curve->summaryAddressX(); - if (adr.category() == RifEclipseSummaryAddress::SUMMARY_WELL) + if (RifEclipseSummaryAddress::isDependentOnWellName(adr)) { adr.setWellName(m_wellName().toStdString()); @@ -417,7 +419,7 @@ void RimSummaryPlotSourceStepping::fieldChangedByUi(const caf::PdmFieldHandle* c std::vector RimSummaryPlotSourceStepping::summaryReadersForCurves() const { std::vector readers; - RimSummaryCurveCollection* curveCollection = nullptr; + RimSummaryCurveCollection* curveCollection = nullptr; this->firstAncestorOrThisOfTypeAsserted(curveCollection); for (auto curve : curveCollection->curves()) @@ -646,7 +648,7 @@ RiaSummaryCurveAnalyzer* RimSummaryPlotSourceStepping::analyzerForReader(RifSumm //-------------------------------------------------------------------------------------------------- void RimSummaryPlotSourceStepping::modifyCurrentIndex(caf::PdmValueField* valueField, int indexOffset) { - bool useOptionsOnly; + bool useOptionsOnly; QList options = calculateValueOptions(valueField, &useOptionsOnly); RimDataSourceSteppingTools::modifyCurrentIndex(valueField, options, indexOffset); } @@ -654,7 +656,8 @@ void RimSummaryPlotSourceStepping::modifyCurrentIndex(caf::PdmValueField* valueF //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RimSummaryPlotSourceStepping::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, +void RimSummaryPlotSourceStepping::defineEditorAttribute(const caf::PdmFieldHandle* field, + QString uiConfigName, caf::PdmUiEditorAttribute* attribute) { caf::PdmUiComboBoxEditorAttribute* myAttr = dynamic_cast(attribute);