diff --git a/poincare/include/poincare/expression_layout.h b/poincare/include/poincare/expression_layout.h index 485b34a92..6c6bdc114 100644 --- a/poincare/include/poincare/expression_layout.h +++ b/poincare/include/poincare/expression_layout.h @@ -107,7 +107,7 @@ public: * inserted in the numerator (or denominator)? For instance, 1+2|3-4 should * become 1+ 2/3 - 4 when pressing "Divide": a CharLayout is collapsable if * its char is not +, -, or *. */ - bool canBeOmittedMultiplicationLeftFactor() const; + virtual bool canBeOmittedMultiplicationLeftFactor() const; virtual bool canBeOmittedMultiplicationRightFactor() const; /* canBeOmittedMultiplicationLeftFactor and RightFactor return true if the * layout, next to another layout, might be the factor of a multiplication diff --git a/poincare/src/layout/char_layout.cpp b/poincare/src/layout/char_layout.cpp index 0a4cd9018..15a4afed0 100644 --- a/poincare/src/layout/char_layout.cpp +++ b/poincare/src/layout/char_layout.cpp @@ -51,6 +51,7 @@ bool CharLayout::isCollapsable(int * numberOfOpenParenthesis, bool goingLeft) co || m_char == '*' || m_char == Ion::Charset::MultiplicationSign || m_char == Ion::Charset::MiddleDot + || m_char == Ion::Charset::Sto || m_char == ',')) { return false; @@ -58,6 +59,13 @@ bool CharLayout::isCollapsable(int * numberOfOpenParenthesis, bool goingLeft) co return true; } +bool CharLayout::canBeOmittedMultiplicationLeftFactor() const { + return m_char != Ion::Charset::Sto; +} +bool CharLayout::canBeOmittedMultiplicationRightFactor() const { + return m_char != Ion::Charset::Sto; +} + void CharLayout::render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) { char string[2] = {m_char, 0}; ctx->drawString(string, p, m_fontSize, expressionColor, backgroundColor); diff --git a/poincare/src/layout/char_layout.h b/poincare/src/layout/char_layout.h index 79da87bd2..93ccaf00b 100644 --- a/poincare/src/layout/char_layout.h +++ b/poincare/src/layout/char_layout.h @@ -28,6 +28,8 @@ public: // Other bool isCollapsable(int * numberOfOpenParenthesis, bool goingLeft) const override; + bool canBeOmittedMultiplicationLeftFactor() const override; + bool canBeOmittedMultiplicationRightFactor() const override; protected: void render(KDContext * ctx, KDPoint p, KDColor expressionColor, KDColor backgroundColor) override; KDPoint positionOfChild(ExpressionLayout * child) override {