Merge pull request #9232 from AdmiralCurtiss/show-result-value-in-expression-editor

Qt/IOWindow: Show result value in expression editor.
This commit is contained in:
Léo Lam
2020-11-26 01:30:12 +01:00
committed by GitHub
4 changed files with 148 additions and 64 deletions

View File

@ -50,12 +50,13 @@ std::string ControlReference::GetExpression() const
return m_expression;
}
void ControlReference::SetExpression(std::string expr)
std::optional<std::string> ControlReference::SetExpression(std::string expr)
{
m_expression = std::move(expr);
auto parse_result = ParseExpression(m_expression);
m_parse_status = parse_result.status;
m_parsed_expression = std::move(parse_result.expr);
return parse_result.description;
}
ControlReference::ControlReference() : range(1), m_parsed_expression(nullptr)

View File

@ -38,7 +38,9 @@ public:
ciface::ExpressionParser::ParseStatus GetParseStatus() const;
void UpdateReference(ciface::ExpressionParser::ControlEnvironment& env);
std::string GetExpression() const;
void SetExpression(std::string expr);
// Returns a human-readable error description when the given expression is invalid.
std::optional<std::string> SetExpression(std::string expr);
ControlState range;