#2917 Vector Selection Dialog: Fixed problem with dialog initialization when single selecting ensemble curve sets.

This commit is contained in:
Jacob Støren committed 2018-05-15 14:26:28 +02:00
1 parent 9b591f622c
commit 6c6e7df3c9
5 files changed
+21 -21

No files matched your search

@@ -368,8 +368,9 @@ void RiuSummaryCurveDefSelection::setSelectedCurveDefinitions(const std::vector<
for (const auto& curveDef : curveDefinitions)
{
if (!(curveDef.summaryCase() || curveDef.isEnsembleCurve()) ) continue;
RimSummaryCase* summaryCase = curveDef.summaryCase();
if (!summaryCase) continue;
RifEclipseSummaryAddress summaryAddress = curveDef.summaryAddress();
if (summaryAddress.category() == RifEclipseSummaryAddress::SUMMARY_INVALID)
@@ -393,13 +394,12 @@ void RiuSummaryCurveDefSelection::setSelectedCurveDefinitions(const std::vector<
}
// Select case if not already selected
if (std::find(m_selectedSources.begin(), m_selectedSources.end(),
curveDef.isEnsembleCurve() ? (SummarySource*)curveDef.ensemble() : summaryCase) == m_selectedSources.end())
SummarySource* summSource = curveDef.isEnsembleCurve() ? static_cast<SummarySource*>(curveDef.ensemble()) : summaryCase;
if (std::find(m_selectedSources.begin(), m_selectedSources.end(), summSource) == m_selectedSources.end())
{
if (summaryCase != calculatedSummaryCase())
{
m_selectedSources.push_back(curveDef.isEnsembleCurve() ? (SummarySource*)curveDef.ensemble() : summaryCase);
m_selectedSources.push_back(summSource);
}
}
@@ -96,10 +96,7 @@ void RiuSummaryCurveDefSelectionDialog::setEnsembleAndAddress(RimSummaryCaseColl
if (ensemble)
{
std::vector<RiaSummaryCurveDefinition> curveDefs;
for (const auto& summaryCase : ensemble->allSummaryCases())
{
curveDefs.push_back(RiaSummaryCurveDefinition(summaryCase, address, ensemble));
}
curveDefs.push_back(RiaSummaryCurveDefinition(nullptr, address, ensemble));
summaryAddressSelection()->setSelectedCurveDefinitions(curveDefs);
}