mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2689 Ensemble curves. Set default ensemble parameter
This commit is contained in:
parent
ac10c4b9ac
commit
8bcec23390
@ -313,11 +313,19 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
updateAllCurves();
|
||||
}
|
||||
else if (changedField == &m_ensembleParameter ||
|
||||
changedField == &m_color ||
|
||||
changedField == &m_colorMode)
|
||||
changedField == &m_color)
|
||||
{
|
||||
updateCurveColors();
|
||||
}
|
||||
else if (changedField == &m_colorMode)
|
||||
{
|
||||
if (m_ensembleParameter().isEmpty())
|
||||
{
|
||||
auto params = ensembleParameters();
|
||||
m_ensembleParameter = !params.empty() ? params.front() : "";
|
||||
}
|
||||
updateCurveColors();
|
||||
}
|
||||
else if (changedField == &m_plotAxis)
|
||||
{
|
||||
for (RimSummaryCurve* curve : curves())
|
||||
@ -351,6 +359,7 @@ void RimEnsembleCurveSet::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
}
|
||||
|
||||
caf::PdmUiGroup* colorsGroup = uiOrdering.addNewGroup("Colors");
|
||||
m_colorMode.uiCapability()->setUiReadOnly(!m_yValuesSummaryGroup());
|
||||
colorsGroup->add(&m_colorMode);
|
||||
|
||||
if (m_colorMode == SINGLE_COLOR)
|
||||
@ -359,6 +368,7 @@ void RimEnsembleCurveSet::defineUiOrdering(QString uiConfigName, caf::PdmUiOrder
|
||||
}
|
||||
else if (m_colorMode == BY_ENSEMBLE_PARAM)
|
||||
{
|
||||
m_ensembleParameter.uiCapability()->setUiReadOnly(!m_yValuesSummaryGroup());
|
||||
colorsGroup->add(&m_ensembleParameter);
|
||||
}
|
||||
uiOrdering.skipRemainingFields(true);
|
||||
@ -417,24 +427,10 @@ QList<caf::PdmOptionItemInfo> RimEnsembleCurveSet::calculateValueOptions(const c
|
||||
}
|
||||
else if (fieldNeedingOptions == &m_ensembleParameter)
|
||||
{
|
||||
RimSummaryCaseCollection* group = m_yValuesSummaryGroup;
|
||||
|
||||
if (group)
|
||||
for (auto param : ensembleParameters())
|
||||
{
|
||||
std::set<QString> paramSet;
|
||||
for (RimSummaryCase* rimCase : group->allSummaryCases())
|
||||
{
|
||||
if (!rimCase->caseRealizationParameters().isNull())
|
||||
{
|
||||
auto ps = rimCase->caseRealizationParameters()->parameters();
|
||||
for (auto p : ps) paramSet.insert(p.first);
|
||||
}
|
||||
}
|
||||
|
||||
for (auto param : paramSet)
|
||||
{
|
||||
options.push_back(caf::PdmOptionItemInfo(param, param));
|
||||
}
|
||||
options.push_back(caf::PdmOptionItemInfo(param, param));
|
||||
}
|
||||
}
|
||||
else if (fieldNeedingOptions == &m_yValuesUiFilterResultSelection)
|
||||
@ -615,3 +611,25 @@ void RimEnsembleCurveSet::updateAllCurves()
|
||||
}
|
||||
updateCurveColors();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<QString> RimEnsembleCurveSet::ensembleParameters() const
|
||||
{
|
||||
RimSummaryCaseCollection* group = m_yValuesSummaryGroup;
|
||||
|
||||
std::set<QString> paramSet;
|
||||
if (group)
|
||||
{
|
||||
for (RimSummaryCase* rimCase : group->allSummaryCases())
|
||||
{
|
||||
if (!rimCase->caseRealizationParameters().isNull())
|
||||
{
|
||||
auto ps = rimCase->caseRealizationParameters()->parameters();
|
||||
for (auto p : ps) paramSet.insert(p.first);
|
||||
}
|
||||
}
|
||||
}
|
||||
return std::vector<QString>(paramSet.begin(), paramSet.end());
|
||||
}
|
@ -99,6 +99,7 @@ private:
|
||||
void updateCurveColors();
|
||||
void updateQwtPlotAxis();
|
||||
void updateAllCurves();
|
||||
std::vector<QString> ensembleParameters() const;
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showCurves;
|
||||
|
Loading…
Reference in New Issue
Block a user