Curve Calculator : Do not report detected variables as lowercase

This commit is contained in:
Magne Sjaastad
2017-10-19 11:23:30 +02:00
parent ff0a8242d4
commit 7c0c45b7b9
2 changed files with 10 additions and 5 deletions

View File

@@ -127,10 +127,6 @@ caf::PdmFieldHandle* RimCalculation::userDescriptionField()
//--------------------------------------------------------------------------------------------------
bool RimCalculation::parseExpression()
{
// The expression parser handles only variables in lower case
QString lowerVariant = m_expression().toLower();
m_expression = lowerVariant;
QString leftHandSideVariableName = RimCalculation::findLeftHandSide(m_expression);
if (leftHandSideVariableName.isEmpty()) return false;

View File

@@ -38,7 +38,16 @@ std::vector<QString> ExpressionParserImpl::detectReferencedVariables(const QStri
for (const auto& s : variable_list)
{
referencedVariables.push_back(QString::fromStdString(s));
QString variableNameLowerCase = QString::fromStdString(s);
// ExprTk reports always in
int index = expression.indexOf(variableNameLowerCase, 0, Qt::CaseInsensitive);
if (index > -1)
{
referencedVariables.push_back(expression.mid(index, variableNameLowerCase.size()));
}
}
}