mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1977 Curve Calculator : Create calculation description from addresses
This commit is contained in:
@@ -113,6 +113,10 @@ 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;
|
||||
|
||||
@@ -152,6 +156,8 @@ bool RimCalculation::parseExpression()
|
||||
}
|
||||
}
|
||||
|
||||
this->updateConnectedEditors();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -243,3 +249,42 @@ RimCalculationVariable* RimCalculation::findByName(const QString& name) const
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimCalculation::buildCalculationName() const
|
||||
{
|
||||
QString name = "Default Calculation Name";
|
||||
|
||||
QString lhs = RimCalculation::findLeftHandSide(m_expression);
|
||||
if (!lhs.isEmpty())
|
||||
{
|
||||
name = lhs;
|
||||
|
||||
name += " ( ";
|
||||
|
||||
for (RimCalculationVariable* v : m_variables)
|
||||
{
|
||||
name += v->summaryAddressDisplayString();
|
||||
|
||||
if (v != m_variables[m_variables.size() - 1])
|
||||
{
|
||||
name += ", ";
|
||||
}
|
||||
}
|
||||
|
||||
name += " )";
|
||||
}
|
||||
|
||||
return name;
|
||||
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimCalculation::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
m_description = buildCalculationName();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user