mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 23:46:00 -06:00
#2917 Vector Selection Dialog: Fixed problem with dialog initialization when single selecting ensemble curve sets.
This commit is contained in:
parent
9b591f622c
commit
6c6e7df3c9
@ -37,9 +37,9 @@ RiaSummaryCurveDefinition::RiaSummaryCurveDefinition()
|
||||
RiaSummaryCurveDefinition::RiaSummaryCurveDefinition(RimSummaryCase* summaryCase,
|
||||
const RifEclipseSummaryAddress& summaryAddress,
|
||||
RimSummaryCaseCollection* ensemble)
|
||||
: m_summaryCase(summaryCase)
|
||||
, m_ensemble(ensemble)
|
||||
, m_summaryAddress(summaryAddress)
|
||||
: m_summaryCase(summaryCase)
|
||||
, m_ensemble(ensemble)
|
||||
, m_summaryAddress(summaryAddress)
|
||||
{
|
||||
|
||||
}
|
||||
@ -114,21 +114,21 @@ const std::vector<time_t>& RiaSummaryCurveDefinition::timeSteps(const RiaSummary
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaSummaryCurveDefinition::curveDefinitionText() const
|
||||
{
|
||||
return RiaSummaryCurveDefinition::curveDefinitionText(summaryCase(), summaryAddress());
|
||||
QString caseName;
|
||||
if (summaryCase() ) caseName = summaryCase()->caseName();
|
||||
|
||||
return RiaSummaryCurveDefinition::curveDefinitionText(caseName, summaryAddress());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RiaSummaryCurveDefinition::curveDefinitionText(RimSummaryCase* summaryCase, const RifEclipseSummaryAddress& summaryAddress)
|
||||
QString RiaSummaryCurveDefinition::curveDefinitionText(const QString& caseName, const RifEclipseSummaryAddress& summaryAddress)
|
||||
{
|
||||
QString txt;
|
||||
|
||||
if (summaryCase)
|
||||
{
|
||||
txt += summaryCase->caseName();
|
||||
txt += ", ";
|
||||
}
|
||||
txt += caseName;
|
||||
txt += ", ";
|
||||
|
||||
txt += QString::fromStdString(summaryAddress.uiText());
|
||||
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
|
||||
QString curveDefinitionText() const;
|
||||
|
||||
static QString curveDefinitionText(RimSummaryCase* summaryCase, const RifEclipseSummaryAddress& summaryAddress);
|
||||
static QString curveDefinitionText(const QString& caseName, const RifEclipseSummaryAddress& summaryAddress);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -123,7 +123,10 @@ void RimSummaryCalculationVariable::fieldChangedByUi(const caf::PdmFieldHandle*
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimSummaryCalculationVariable::summaryAddressDisplayString() const
|
||||
{
|
||||
return RiaSummaryCurveDefinition::curveDefinitionText(m_case(), m_summaryAddress()->address());
|
||||
QString caseName;
|
||||
if (m_case() ) caseName = m_case()->caseName();
|
||||
|
||||
return RiaSummaryCurveDefinition::curveDefinitionText(caseName, m_summaryAddress()->address());
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user