#775 Added user editable curve display name to summary cases

This commit is contained in:
Magne Sjaastad
2016-07-06 13:35:24 +02:00
parent adb6c74f3a
commit ab4829b2d9
13 changed files with 150 additions and 7 deletions

View File

@@ -128,9 +128,50 @@ RimGridSummaryCase* RimSummaryCaseCollection::createAndAddSummaryCaseFromEclipse
{
RimGridSummaryCase* newSumCase = new RimGridSummaryCase();
newSumCase->setAssociatedEclipseCase(eclResCase);
newSumCase->curveDisplayName = uniqueShortNameForCase(newSumCase);
newSumCase->updateOptionSensitivity();
this->m_cases.push_back(newSumCase);
return newSumCase;
}
return nullptr;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimSummaryCaseCollection::uniqueShortNameForCase(RimSummaryCase* summaryCase)
{
QStringList allAutoShortNames;
for (RimSummaryCase* sumCase : m_cases)
{
if (sumCase && sumCase != summaryCase)
{
allAutoShortNames.push_back(sumCase->curveDisplayName());
}
}
bool foundUnique = false;
QString caseName = summaryCase->caseName();
QString candidateBase = caseName.left(2);
QString candidate = candidateBase;
int autoNumber = 0;
while (!foundUnique)
{
bool foundExisting = false;
for (QString autoName : allAutoShortNames)
{
if (autoName.left(candidate.size()) == candidate)
{
candidate = candidateBase + QString::number(autoNumber++);
foundExisting = true;
}
}
foundUnique = !foundExisting;
}
return candidate;
}