#2658 Ensemble curves. Fix curve set coloring. Minor fixes.Some ClangFormat auto-changes

This commit is contained in:
Bjørn Erik Jensen 2018-05-14 09:51:06 +02:00
parent 090a79cf90
commit dc319646b2
2 changed files with 131 additions and 105 deletions

View File

@ -19,6 +19,7 @@
#include "RicSummaryCurveCreator.h" #include "RicSummaryCurveCreator.h"
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RiaColorTables.h"
#include "RiaSummaryCurveDefinition.h" #include "RiaSummaryCurveDefinition.h"
#include "RicSelectSummaryPlotUI.h" #include "RicSelectSummaryPlotUI.h"
@ -26,11 +27,15 @@
#include "RifReaderEclipseSummary.h" #include "RifReaderEclipseSummary.h"
#include "RimEnsembleCurveSet.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimEnsembleCurveSetColorManager.h"
#include "RimMainPlotCollection.h" #include "RimMainPlotCollection.h"
#include "RimObservedData.h" #include "RimObservedData.h"
#include "RimObservedDataCollection.h" #include "RimObservedDataCollection.h"
#include "RimOilField.h" #include "RimOilField.h"
#include "RimProject.h" #include "RimProject.h"
#include "RimSummaryCalculationCollection.h"
#include "RimSummaryCase.h" #include "RimSummaryCase.h"
#include "RimSummaryCaseCollection.h" #include "RimSummaryCaseCollection.h"
#include "RimSummaryCaseMainCollection.h" #include "RimSummaryCaseMainCollection.h"
@ -39,9 +44,6 @@
#include "RimSummaryCurveCollection.h" #include "RimSummaryCurveCollection.h"
#include "RimSummaryPlot.h" #include "RimSummaryPlot.h"
#include "RimSummaryPlotCollection.h" #include "RimSummaryPlotCollection.h"
#include "RimSummaryCalculationCollection.h"
#include "RimEnsembleCurveSetCollection.h"
#include "RimEnsembleCurveSet.h"
#include "RiuPlotMainWindowTools.h" #include "RiuPlotMainWindowTools.h"
#include "RiuSummaryCurveDefSelection.h" #include "RiuSummaryCurveDefSelection.h"
@ -56,7 +58,6 @@
#include <algorithm> #include <algorithm>
#include <sstream> #include <sstream>
CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator"); CAF_PDM_SOURCE_INIT(RicSummaryCurveCreator, "RicSummaryCurveCreator");
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -111,17 +112,15 @@ RicSummaryCurveCreator::RicSummaryCurveCreator()
m_summaryCurveSelectionEditor.reset(new RiuSummaryCurveDefSelectionEditor()); m_summaryCurveSelectionEditor.reset(new RiuSummaryCurveDefSelectionEditor());
m_summaryCurveSelectionEditor->summaryAddressSelection()->setFieldChangedHandler([this]() { this->selectionEditorFieldChanged(); }); m_summaryCurveSelectionEditor->summaryAddressSelection()->setFieldChangedHandler(
[this]() { this->selectionEditorFieldChanged(); });
m_summaryCurveSelectionEditor->summaryAddressSelection()->setMultiSelectionMode(true); m_summaryCurveSelectionEditor->summaryAddressSelection()->setMultiSelectionMode(true);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RicSummaryCurveCreator::~RicSummaryCurveCreator() RicSummaryCurveCreator::~RicSummaryCurveCreator() {}
{
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
@ -141,7 +140,7 @@ void RicSummaryCurveCreator::updateFromSummaryPlot(RimSummaryPlot* targetPlot, c
resetAllFields(); resetAllFields();
} }
m_targetPlot = targetPlot; m_targetPlot = targetPlot;
m_useAutoAppearanceAssignment = true; m_useAutoAppearanceAssignment = true;
if (m_targetPlot) if (m_targetPlot)
@ -188,7 +187,9 @@ void RicSummaryCurveCreator::clearCloseButton()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
const QVariant& oldValue,
const QVariant& newValue)
{ {
if (changedField == &m_applyButtonField || changedField == &m_okButtonField) if (changedField == &m_applyButtonField || changedField == &m_okButtonField)
{ {
@ -209,7 +210,7 @@ void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changed
} }
m_applyButtonField = false; m_applyButtonField = false;
m_okButtonField = false; m_okButtonField = false;
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>(m_targetPlot->uiCapability()->objectToggleField()); caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>(m_targetPlot->uiCapability()->objectToggleField());
field->setValueWithFieldChanged(true); field->setValueWithFieldChanged(true);
@ -235,7 +236,8 @@ void RicSummaryCurveCreator::fieldChangedByUi(const caf::PdmFieldHandle* changed
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo> RicSummaryCurveCreator::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) QList<caf::PdmOptionItemInfo> RicSummaryCurveCreator::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions,
bool* useOptionsOnly)
{ {
QList<caf::PdmOptionItemInfo> options; QList<caf::PdmOptionItemInfo> options;
@ -264,7 +266,8 @@ QList<caf::PdmOptionItemInfo> RicSummaryCurveCreator::calculateValueOptions(cons
void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
{ {
// Appearance settings // Appearance settings
caf::PdmUiGroup* appearanceGroup = uiOrdering.addNewGroupWithKeyword("Curve Appearance Assignment", RiuSummaryCurveDefinitionKeywords::appearance()); caf::PdmUiGroup* appearanceGroup =
uiOrdering.addNewGroupWithKeyword("Curve Appearance Assignment", RiuSummaryCurveDefinitionKeywords::appearance());
caf::PdmUiGroup* appearanceSubGroup = appearanceGroup->addNewGroup("Appearance Type Assignment"); caf::PdmUiGroup* appearanceSubGroup = appearanceGroup->addNewGroup("Appearance Type Assignment");
appearanceSubGroup->setCollapsedByDefault(true); appearanceSubGroup->setCollapsedByDefault(true);
@ -288,7 +291,8 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
} }
// Name config // Name config
caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroupWithKeyword("Plot and Curve Name Configuration", RiuSummaryCurveDefinitionKeywords::nameConfig()); caf::PdmUiGroup* autoNameGroup =
uiOrdering.addNewGroupWithKeyword("Plot and Curve Name Configuration", RiuSummaryCurveDefinitionKeywords::nameConfig());
autoNameGroup->setCollapsedByDefault(true); autoNameGroup->setCollapsedByDefault(true);
autoNameGroup->add(&m_useAutoPlotTitleProxy); autoNameGroup->add(&m_useAutoPlotTitleProxy);
@ -313,15 +317,17 @@ void RicSummaryCurveCreator::defineUiOrdering(QString uiConfigName, caf::PdmUiOr
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection() void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
{ {
std::vector<RiaSummaryCurveDefinition> allCurveDefinitionsVector = m_summaryCurveSelectionEditor->summaryAddressSelection()->selectedCurveDefinitions(); std::vector<RiaSummaryCurveDefinition> allCurveDefinitionsVector =
std::set<RiaSummaryCurveDefinition> allCurveDefinitions = std::set<RiaSummaryCurveDefinition>(allCurveDefinitionsVector.begin(), allCurveDefinitionsVector.end()); m_summaryCurveSelectionEditor->summaryAddressSelection()->selectedCurveDefinitions();
std::set<RiaSummaryCurveDefinition> allCurveDefinitions =
std::set<RiaSummaryCurveDefinition>(allCurveDefinitionsVector.begin(), allCurveDefinitionsVector.end());
std::vector<RimSummaryCurve*> currentCurvesInPreviewPlot = m_previewPlot->summaryAndEnsembleCurves(); std::vector<RimSummaryCurve*> currentCurvesInPreviewPlot = m_previewPlot->summaryAndEnsembleCurves();
if (allCurveDefinitions.size() != currentCurvesInPreviewPlot.size()) if (allCurveDefinitions.size() != currentCurvesInPreviewPlot.size())
{ {
std::set<RiaSummaryCurveDefinition> currentCurveDefs; std::set<RiaSummaryCurveDefinition> currentCurveDefs;
std::set<RiaSummaryCurveDefinition> newCurveDefs; std::set<RiaSummaryCurveDefinition> newCurveDefs;
std::set<RimSummaryCurve*> curvesToDelete; std::set<RimSummaryCurve*> curvesToDelete;
for (const auto& curve : currentCurvesInPreviewPlot) for (const auto& curve : currentCurvesInPreviewPlot)
{ {
@ -332,22 +338,25 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
{ {
// Determine which curves to delete from plot // Determine which curves to delete from plot
std::set<RiaSummaryCurveDefinition> deleteCurveDefs; std::set<RiaSummaryCurveDefinition> deleteCurveDefs;
std::set_difference(currentCurveDefs.begin(), currentCurveDefs.end(), std::set_difference(currentCurveDefs.begin(),
allCurveDefinitions.begin(), allCurveDefinitions.end(), currentCurveDefs.end(),
allCurveDefinitions.begin(),
allCurveDefinitions.end(),
std::inserter(deleteCurveDefs, deleteCurveDefs.end())); std::inserter(deleteCurveDefs, deleteCurveDefs.end()));
for (const auto& curve : currentCurvesInPreviewPlot) for (const auto& curve : currentCurvesInPreviewPlot)
{ {
RiaSummaryCurveDefinition curveDef = RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY()); RiaSummaryCurveDefinition curveDef = RiaSummaryCurveDefinition(curve->summaryCaseY(), curve->summaryAddressY());
if (deleteCurveDefs.count(curveDef) > 0) if (deleteCurveDefs.count(curveDef) > 0) curvesToDelete.insert(curve);
curvesToDelete.insert(curve);
} }
} }
else else
{ {
// Determine which curves are new since last time // Determine which curves are new since last time
std::set_difference(allCurveDefinitions.begin(), allCurveDefinitions.end(), std::set_difference(allCurveDefinitions.begin(),
currentCurveDefs.begin(), currentCurveDefs.end(), allCurveDefinitions.end(),
currentCurveDefs.begin(),
currentCurveDefs.end(),
std::inserter(newCurveDefs, newCurveDefs.end())); std::inserter(newCurveDefs, newCurveDefs.end()));
} }
@ -360,11 +369,18 @@ void RicSummaryCurveCreator::syncPreviewCurvesFromUiSelection()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::set<RiaSummaryCurveDefinition>& allCurveDefsToDisplay, void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::set<RiaSummaryCurveDefinition>& allCurveDefsToDisplay,
const std::set<RiaSummaryCurveDefinition>& curveDefsToAdd, const std::set<RiaSummaryCurveDefinition>& curveDefsToAdd,
const std::set<RimSummaryCurve*>& curvesToDelete) const std::set<RimSummaryCurve*>& curvesToDelete)
{ {
RimSummaryCase* prevCase = nullptr; RimSummaryCase* prevCase = nullptr;
RimSummaryCurveAppearanceCalculator curveLookCalc(allCurveDefsToDisplay, getAllSummaryCaseNames(), getAllSummaryWellNames()); std::set<RiaSummaryCurveDefinition> summaryCurveDefsToDisplay;
// Ignore curve sets when assigning colors to singe summary curves
for (const auto& def : allCurveDefsToDisplay)
{
if (!def.isEnsembleCurve()) summaryCurveDefsToDisplay.insert(def);
}
RimSummaryCurveAppearanceCalculator curveLookCalc(summaryCurveDefsToDisplay, getAllSummaryCaseNames(), getAllSummaryWellNames());
initCurveAppearanceCalculator(curveLookCalc); initCurveAppearanceCalculator(curveLookCalc);
// Delete curves // Delete curves
@ -376,8 +392,8 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::
// Add new curves // Add new curves
for (const auto& curveDef : curveDefsToAdd) for (const auto& curveDef : curveDefsToAdd)
{ {
RimSummaryCase* currentCase = curveDef.summaryCase(); RimSummaryCase* currentCase = curveDef.summaryCase();
RimSummaryCurve* curve = new RimSummaryCurve(); RimSummaryCurve* curve = new RimSummaryCurve();
curve->setSummaryCaseY(currentCase); curve->setSummaryCaseY(currentCase);
curve->setSummaryAddressY(curveDef.summaryAddress()); curve->setSummaryAddressY(curveDef.summaryAddress());
curve->applyCurveAutoNameSettings(*m_curveNameConfig()); curve->applyCurveAutoNameSettings(*m_curveNameConfig());
@ -400,6 +416,10 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::
curveSet->setSummaryCaseCollection(curveDef.ensemble()); curveSet->setSummaryCaseCollection(curveDef.ensemble());
curveSet->setSummaryAddress(curveDef.summaryAddress()); curveSet->setSummaryAddress(curveDef.summaryAddress());
m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet); m_previewPlot->ensembleCurveSetCollection()->addCurveSet(curveSet);
// Set single curve set color
size_t colorIndex = m_previewPlot->ensembleCurveSetCollection()->curveSetCount();
curveSet->setColor(RiaColorTables::summaryCurveDefaultPaletteColors().cycledColor3f(colorIndex));
} }
curveSet->addCurve(curve); curveSet->addCurve(curve);
} }
@ -422,7 +442,7 @@ void RicSummaryCurveCreator::updatePreviewCurvesFromCurveDefinitions(const std::
std::set<std::string> RicSummaryCurveCreator::getAllSummaryCaseNames() std::set<std::string> RicSummaryCurveCreator::getAllSummaryCaseNames()
{ {
std::set<std::string> summaryCaseHashes; std::set<std::string> summaryCaseHashes;
RimProject* proj = RiaApplication::instance()->project(); RimProject* proj = RiaApplication::instance()->project();
std::vector<RimSummaryCase*> cases = proj->allSummaryCases(); std::vector<RimSummaryCase*> cases = proj->allSummaryCases();
for (RimSummaryCase* rimCase : cases) for (RimSummaryCase* rimCase : cases)
@ -439,7 +459,7 @@ std::set<std::string> RicSummaryCurveCreator::getAllSummaryCaseNames()
std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames() std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames()
{ {
std::set<std::string> summaryWellNames; std::set<std::string> summaryWellNames;
RimProject* proj = RiaApplication::instance()->project(); RimProject* proj = RiaApplication::instance()->project();
std::vector<RimSummaryCase*> cases = proj->allSummaryCases(); std::vector<RimSummaryCase*> cases = proj->allSummaryCases();
for (RimSummaryCase* rimCase : cases) for (RimSummaryCase* rimCase : cases)
@ -469,11 +489,13 @@ std::set<std::string> RicSummaryCurveCreator::getAllSummaryWellNames()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* field,
QString uiConfigName,
caf::PdmUiEditorAttribute* attribute)
{ {
if (&m_applyButtonField == field) if (&m_applyButtonField == field)
{ {
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute); caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>(attribute);
if (attrib) if (attrib)
{ {
attrib->m_buttonText = "Apply"; attrib->m_buttonText = "Apply";
@ -481,7 +503,7 @@ void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* fi
} }
else if (&m_closeButtonField == field) else if (&m_closeButtonField == field)
{ {
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute); caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>(attribute);
if (attrib) if (attrib)
{ {
attrib->m_buttonText = "Cancel"; attrib->m_buttonText = "Cancel";
@ -489,7 +511,7 @@ void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* fi
} }
else if (&m_okButtonField == field) else if (&m_okButtonField == field)
{ {
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute); caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>(attribute);
if (attrib) if (attrib)
{ {
attrib->m_buttonText = "OK"; attrib->m_buttonText = "OK";
@ -497,7 +519,7 @@ void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* fi
} }
else if (&m_appearanceApplyButton == field) else if (&m_appearanceApplyButton == field)
{ {
caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*> (attribute); caf::PdmUiPushButtonEditorAttribute* attrib = dynamic_cast<caf::PdmUiPushButtonEditorAttribute*>(attribute);
if (attrib) if (attrib)
{ {
attrib->m_buttonText = "Apply"; attrib->m_buttonText = "Apply";
@ -505,7 +527,7 @@ void RicSummaryCurveCreator::defineEditorAttribute(const caf::PdmFieldHandle* fi
} }
else if (&m_targetPlot == field) else if (&m_targetPlot == field)
{ {
caf::PdmUiComboBoxEditorAttribute* attrib = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*> (attribute); caf::PdmUiComboBoxEditorAttribute* attrib = dynamic_cast<caf::PdmUiComboBoxEditorAttribute*>(attribute);
if (attrib) if (attrib)
{ {
attrib->adjustWidthToContents = true; attrib->adjustWidthToContents = true;
@ -562,7 +584,7 @@ void RicSummaryCurveCreator::populateCurveCreator(const RimSummaryPlot& sourceSu
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::updateTargetPlot() void RicSummaryCurveCreator::updateTargetPlot()
{ {
if (m_targetPlot == nullptr) m_targetPlot = new RimSummaryPlot(); if (m_targetPlot == nullptr) m_targetPlot = new RimSummaryPlot();
m_targetPlot->deleteAllSummaryCurves(); m_targetPlot->deleteAllSummaryCurves();
m_targetPlot->ensembleCurveSetCollection()->deleteAllCurveSets(); m_targetPlot->ensembleCurveSetCollection()->deleteAllCurveSets();
@ -605,9 +627,10 @@ void RicSummaryCurveCreator::updateTargetPlot()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::copyCurveAndAddToPlot(const RimSummaryCurve *curve, RimSummaryPlot *plot, bool forceVisible) void RicSummaryCurveCreator::copyCurveAndAddToPlot(const RimSummaryCurve* curve, RimSummaryPlot* plot, bool forceVisible)
{ {
RimSummaryCurve* curveCopy = dynamic_cast<RimSummaryCurve*>(curve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); RimSummaryCurve* curveCopy =
dynamic_cast<RimSummaryCurve*>(curve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
CVF_ASSERT(curveCopy); CVF_ASSERT(curveCopy);
if (forceVisible) if (forceVisible)
@ -626,9 +649,12 @@ void RicSummaryCurveCreator::copyCurveAndAddToPlot(const RimSummaryCurve *curve,
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicSummaryCurveCreator::copyEnsembleCurveAndAddToCurveSet(const RimSummaryCurve *curve, RimEnsembleCurveSet* curveSet, bool forceVisible) void RicSummaryCurveCreator::copyEnsembleCurveAndAddToCurveSet(const RimSummaryCurve* curve,
RimEnsembleCurveSet* curveSet,
bool forceVisible)
{ {
RimSummaryCurve* curveCopy = dynamic_cast<RimSummaryCurve*>(curve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance())); RimSummaryCurve* curveCopy =
dynamic_cast<RimSummaryCurve*>(curve->xmlCapability()->copyByXmlSerialization(caf::PdmDefaultObjectFactory::instance()));
CVF_ASSERT(curveCopy); CVF_ASSERT(curveCopy);
if (forceVisible) if (forceVisible)
@ -685,17 +711,13 @@ void RicSummaryCurveCreator::initCurveAppearanceCalculator(RimSummaryCurveAppear
RimSummaryCurveAppearanceCalculator::CurveAppearanceType gropAppearance; RimSummaryCurveAppearanceCalculator::CurveAppearanceType gropAppearance;
RimSummaryCurveAppearanceCalculator::CurveAppearanceType regiAppearance; RimSummaryCurveAppearanceCalculator::CurveAppearanceType regiAppearance;
curveAppearanceCalc.getDimensions(&caseAppearance, curveAppearanceCalc.getDimensions(&caseAppearance, &variAppearance, &wellAppearance, &gropAppearance, &regiAppearance);
&variAppearance,
&wellAppearance,
&gropAppearance,
&regiAppearance);
m_caseAppearanceType = caseAppearance; m_caseAppearanceType = caseAppearance;
m_variableAppearanceType = variAppearance; m_variableAppearanceType = variAppearance;
m_wellAppearanceType = wellAppearance; m_wellAppearanceType = wellAppearance;
m_groupAppearanceType = gropAppearance; m_groupAppearanceType = gropAppearance;
m_regionAppearanceType = regiAppearance; m_regionAppearanceType = regiAppearance;
} }
} }
@ -764,11 +786,11 @@ void RicSummaryCurveCreator::createNewPlot()
candidatePlotName = m_previewPlot->generatedPlotTitleFromVisibleCurves(); candidatePlotName = m_previewPlot->generatedPlotTitleFromVisibleCurves();
} }
{ {
bool ok = false; bool ok = false;
candidatePlotName = QInputDialog::getText(nullptr, candidatePlotName = QInputDialog::getText(nullptr,
"New Summary Plot Name", "New Summary Plot Name", "New Summary Plot Name",
"New Summary Plot Name",
QLineEdit::Normal, QLineEdit::Normal,
candidatePlotName, candidatePlotName,
&ok, &ok,
@ -805,13 +827,13 @@ void RicSummaryCurveCreator::updateCurveNames()
curve->updateCurveNameNoLegendUpdate(); curve->updateCurveNameNoLegendUpdate();
} }
if (m_previewPlot && m_previewPlot->qwtPlot()) m_previewPlot->qwtPlot()->updateLegend(); if (m_previewPlot && m_previewPlot->qwtPlot()) m_previewPlot->qwtPlot()->updateLegend();
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicSummaryCurveCreator::isObservedData(RimSummaryCase *sumCase) const bool RicSummaryCurveCreator::isObservedData(RimSummaryCase* sumCase) const
{ {
return dynamic_cast<RimObservedData*>(sumCase) != nullptr; return dynamic_cast<RimObservedData*>(sumCase) != nullptr;
} }
@ -859,7 +881,7 @@ bool RicSummaryCurveCreator::proxyPlotAutoTitle() const
void RicSummaryCurveCreator::setInitialCurveVisibility(const RimSummaryPlot* targetPlot) void RicSummaryCurveCreator::setInitialCurveVisibility(const RimSummaryPlot* targetPlot)
{ {
// Set visibility for imported curves which were not checked in source plot // Set visibility for imported curves which were not checked in source plot
std::set <std::pair<RimSummaryCase*, RifEclipseSummaryAddress>> sourceCurveDefs; std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress>> sourceCurveDefs;
for (const auto& curve : targetPlot->summaryCurves()) for (const auto& curve : targetPlot->summaryCurves())
{ {
sourceCurveDefs.insert(std::make_pair(curve->summaryCaseY(), curve->summaryAddressY())); sourceCurveDefs.insert(std::make_pair(curve->summaryCaseY(), curve->summaryAddressY()));
@ -874,7 +896,7 @@ void RicSummaryCurveCreator::setInitialCurveVisibility(const RimSummaryPlot* tar
} }
} }
std::set <std::pair<RimSummaryCaseCollection*, RifEclipseSummaryAddress>> sourceCurveSetDefs; std::set<std::pair<RimSummaryCaseCollection*, RifEclipseSummaryAddress>> sourceCurveSetDefs;
for (const auto& curveSet : targetPlot->ensembleCurveSetCollection()->curveSets()) for (const auto& curveSet : targetPlot->ensembleCurveSetCollection()->curveSets())
{ {
sourceCurveSetDefs.insert(std::make_pair(curveSet->summaryCaseCollection(), curveSet->summaryAddress())); sourceCurveSetDefs.insert(std::make_pair(curveSet->summaryCaseCollection(), curveSet->summaryAddress()));

View File

@ -1004,6 +1004,10 @@ void RimSummaryPlot::deleteCurve(RimSummaryCurve* curve)
curveSet->deleteCurve(curve); curveSet->deleteCurve(curve);
if (curveSet->curves().empty()) if (curveSet->curves().empty())
{ {
if (curveSet->colorMode() == RimEnsembleCurveSet::BY_ENSEMBLE_PARAM)
{
qwtPlot()->removeEnsembleCurveSetLegend(curveSet);
}
m_ensembleCurveSetCollection->deleteCurveSet(curveSet); m_ensembleCurveSetCollection->deleteCurveSet(curveSet);
} }
return; return;
@ -1189,7 +1193,7 @@ void RimSummaryPlot::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
if (uiConfigName == RicSummaryCurveCreator::CONFIGURATION_NAME) if (uiConfigName == RicSummaryCurveCreator::CONFIGURATION_NAME)
{ {
uiTreeOrdering.add(&m_summaryCurveCollection); uiTreeOrdering.add(&m_summaryCurveCollection);
if (!m_isCrossPlot && !m_ensembleCurveSetCollection->curveSets().empty()) if (!m_isCrossPlot)
{ {
uiTreeOrdering.add(&m_ensembleCurveSetCollection); uiTreeOrdering.add(&m_ensembleCurveSetCollection);
} }
@ -1210,7 +1214,7 @@ void RimSummaryPlot::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering
axisFolder->add(&m_rightYAxisProperties); axisFolder->add(&m_rightYAxisProperties);
uiTreeOrdering.add(&m_summaryCurveCollection); uiTreeOrdering.add(&m_summaryCurveCollection);
if (!m_isCrossPlot && !m_ensembleCurveSetCollection->curveSets().empty()) if (!m_isCrossPlot)
{ {
uiTreeOrdering.add(&m_ensembleCurveSetCollection); uiTreeOrdering.add(&m_ensembleCurveSetCollection);
} }