This makes the code in the various toolbox more generic. The arguments
of the text to insert are each replaced by a Ion::Charset::Empty.
These Empty chars are used to create layouts in ExpressionLayoutFields,
and to compute the position of the cursor in other fields, before being
removed.
Change-Id: Ie81c1e394b06fef2ab801ccff919d6550f70ec30
EditableExpressionView is renamed ScrollableViewWithCursor.
EditableExpressionView is now a View that displays either a TextField or
a ScrollableViewWithCursor, depending on Poincare::Preferences.
Change-Id: Id44ddcd9a83f5fd17d65753ca4c94c5c7cda9b8a
For instance, the serialization of the V_n layout is "v_{n}", which is
what we want to insert in an EditableExpressionView, but not in a Text
Field for which we want "v(n)".
Change-Id: Iab38058d982322891b530b3afd2d303a266643f9
Else, there would be a problem with sequence_toolbox, where not all
toolbox leaves are message trees.
Change-Id: Ib4968aad37f6a835b1ea4d77efac2ae1bd19c7ce
When returning a MathToolbox, the textfield delegate did not set the
toolbox action for textfields.
Change-Id: I51f78ff5601f784be8e283cf3fb6d3462b776d9a
MathToolbox methods moved to its parent, Toolbox (in escher).
Node and ToolboxNode classes renamed MessageTree and ToolboxMessageTree.
They are now in escher/, not in apps/.
Change-Id: Ibb26b0e9016094cef79506a1e9fc6dfb492d7103