diff options
| author | Léo Lam <leo@leolam.fr> | 2020-11-26 01:30:12 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-26 01:30:12 +0100 |
| commit | 3891ac26826db06d0c8a2829d1ae7494225231db (patch) | |
| tree | 251fca7742cfa54f6414d3a213649290a78ff76d /Source/Core/InputCommon | |
| parent | e2a019ae9a793292220c654f29e1ddabb2806e65 (diff) | |
| parent | 11e226a91a1f38061b33deb247ca2e33e748305b (diff) | |
Merge pull request #9232 from AdmiralCurtiss/show-result-value-in-expression-editor
Qt/IOWindow: Show result value in expression editor.
Diffstat (limited to 'Source/Core/InputCommon')
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ControlReference.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControlReference/ControlReference.h | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.cpp b/Source/Core/InputCommon/ControlReference/ControlReference.cpp index b1dd5deee3..671f2f3379 100644 --- a/Source/Core/InputCommon/ControlReference/ControlReference.cpp +++ b/Source/Core/InputCommon/ControlReference/ControlReference.cpp @@ -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) diff --git a/Source/Core/InputCommon/ControlReference/ControlReference.h b/Source/Core/InputCommon/ControlReference/ControlReference.h index de289ba265..fb4b5cc1df 100644 --- a/Source/Core/InputCommon/ControlReference/ControlReference.h +++ b/Source/Core/InputCommon/ControlReference/ControlReference.h @@ -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; |
