Léa Saviot
a435c548da
[apps/sequence] Use the new layouts in the Sequence app.
...
Change-Id: I8b079bfabccd54472e0ba0fac17b87dbaf3678ee
2018-01-15 11:58:07 +01:00
Léa Saviot
b7c0a15eb8
[apps/regression] Use the new layouts in the Regression app.
...
Change-Id: I3813ed42c35d92e98f6d162ac3788a238f2f836e
2018-01-15 11:58:07 +01:00
Léa Saviot
735d79a0fc
[apps/settings] Use the new layouts in the Settings app.
...
Change-Id: Ic90a78cf58cac28f24b65c5e0c1776c61675bb98
2018-01-15 11:58:07 +01:00
Léa Saviot
1e8935fc2e
[poincare] Use MatrixLayout in Expression::Matrix::privateCreateLayout.
...
Change-Id: I60a4212dd5206a8372f4355b9ff1287577428d1b
2018-01-15 11:58:07 +01:00
Léa Saviot
16fad9f9fb
[poincare] Cleaned backspaceAtCursor for layouts.
...
Change-Id: I232fa7af24a9983d3acfb3460042cb32bfcef81f
2018-01-15 11:58:07 +01:00
Léa Saviot
e2bd7ddbe0
[poincare] Fixed deletion bug in MatrixLayout.
...
Change-Id: I0dbc142468320fac4ed8969a3ef2684549315780
2018-01-15 11:58:07 +01:00
Léa Saviot
bf4ccd76ea
[poincare] Show grey squares in a matrix only if the cursor is in it.
...
Change-Id: I2e622de51a9c7af7b676ae9bd7bb3e9681f5d051
2018-01-15 11:58:07 +01:00
Léa Saviot
914b181e06
[poincare] Change the way to delete a matrix.
...
Delete the matrix if the cursor was right of it. If the cursor is left
of a child on the left, now just move Left.
Change-Id: I4bccaec9f7c23c4da3dd1d9ab59c8fd6641d5a3f
2018-01-15 11:58:07 +01:00
Léa Saviot
955c69f0b2
[poincare] Changed isEmpty() in DynamicLayoutHierarchy.
...
A DynamicLayoutHierarchy with only an empty children is not empty, but
an horizontal layout with only an empty children is empty.
Also, a DynamicLayoutHierarchy with no children is not empty (it should
always be an intermediary state before adding children).
Change-Id: I47b32379f42a95666d75df4d3ba79fabc34d2edc
2018-01-15 11:58:07 +01:00
Léa Saviot
f95bb46cc3
[poincare] Cleaned ExpressionLayout class.
...
Change-Id: I03a49e1a2b199a70608792f0358ddde5a86118d6
2018-01-15 11:58:07 +01:00
Léa Saviot
95327d0afc
[poincare] Remove empty row/column in MatrixLayout.
...
Change-Id: I58f7b7f5e1256afd769f773bef8caea43a40c7a1
2018-01-15 11:58:06 +01:00
Léa Saviot
1717b470c8
[poincare] When replacing a layout, ask the parent to move the cursor.
...
Change-Id: I0ddb0e791d328c2f141aefc604569ef4fcc6c0c5
2018-01-15 11:58:06 +01:00
Léa Saviot
a499363747
[poincare] Editing a grey empty layout adds a Matrix row/column.
...
Change-Id: I37b0c22fd2242d1361146833c3de2f24c296fd66
2018-01-15 11:58:06 +01:00
Léa Saviot
e821ed2ad9
[poincare] Add a row or a column to a GridLayout.
...
Change-Id: I3e58ce84c05c9d64481942e6e7896409a20ddb8a
2018-01-15 11:58:06 +01:00
Léa Saviot
03e33e05e7
[poincare] Layout invalidation when adding children to DynamicLayouts.
...
Change-Id: Ib4609a5e14cce0c5bae44c90629446caea75c164
2018-01-15 11:58:06 +01:00
Léa Saviot
d105dcc7f9
[expression_editor] Grey outer cells for MatrixLayout.
...
Change-Id: Iaf33ccd6c746843803b6a971a2b37eaf495fa766
2018-01-15 11:58:06 +01:00
Léa Saviot
592c12cf08
[poincare] EmptyVisibleLayouts can be Yellow or Grey.
...
Change-Id: Iac07105df5cbf5bcc70b84302a7bf39783716d50
2018-01-15 11:58:06 +01:00
Léa Saviot
2c562fdf7a
[expression_editor] Insert an empty matrix when adding a bracket.
...
Change-Id: I5bf6ab9e097637e0e49f0941fe02e4f5a8e373a2
2018-01-15 11:58:06 +01:00
Léa Saviot
663c90f764
[poincare] MatrixLayout.
...
Change-Id: I57c67a95fadcfd7ea320d4fef49e45b4e166a40d
2018-01-15 11:58:06 +01:00
Léa Saviot
dc9ab66f49
[poincare] Remove ParenthesisLayout.
...
Change-Id: I570e85eca45fb89fe0363a000dd7c12835996c15
2018-01-15 11:58:06 +01:00
Léa Saviot
cd9c0472c8
[poincare] BinomialCoefficientLayout.
...
Change-Id: I3ea9d9d7d9dbf2884c458eb17340700e14648044
2018-01-15 11:58:06 +01:00
Léa Saviot
6144e9ec1c
[poincare] Remove EmptyLayout, keep EmptyVisibleLayout only.
...
Change-Id: I99bfb397accc94551802a2726ab4b24483db9396
2018-01-15 11:58:06 +01:00
Léa Saviot
5d39f177ba
[poincare] Decide to delete EmptyLayouts when merging HorizontalLay.
...
A bool in HorizontalLayout::addOrMergeChildAtIndex decides whether to
delete the Emtpy new HorizontalLayout children.
Change-Id: Ie7acd7f5052891a929c2ae22cb74de389649cba2
2018-01-15 11:58:06 +01:00
Léa Saviot
1967fce13a
[apps] Toolbox layouts are created by parsing the command of the cell.
...
Change-Id: I511e8af2b2247d1df3ca968191566c2b3f01fe11
2018-01-15 11:58:06 +01:00
Léa Saviot
5ec88dff8e
[poincare] EmptyExpression now exist and can be parsed.
...
Change-Id: I226026fc866c556d9bf4f57c3622f71136dc841c
2018-01-15 11:58:06 +01:00
Léa Saviot
59c957b5fb
[expression_editor] DIRTY COMMIT to display a layout value computation.
...
Change-Id: I7a548afe4df9c863f5b5716a819f42141f7fb5c2
2018-01-15 11:58:06 +01:00
Léa Saviot
73e7f54c7c
[expression_editor] Fixed Makefile for the dummy tests.
...
Change-Id: I9f7a380a8271cb40258d8eada1fccf8ac60d04f8
2018-01-15 11:58:06 +01:00
Léa Saviot
5f8bda5075
[poincare] Clean LayoutEngine's writeInfixExpressionLayoutTextInBuffer.
...
Change-Id: Ic8e958ef6d3ff965f76c2426d45323ac0d651d76
2018-01-15 11:58:06 +01:00
Léa Saviot
bbd4cb6da9
[apps] Added NthRoot and Log layouts in MathToolbox.
...
Change-Id: I3efcf6d56acec542566d22e23b5e3b66fb0af5fc
2018-01-15 11:58:06 +01:00
Léa Saviot
0431326c50
[poincare] Use the helper LogLayout creation function.
...
Change-Id: Id43437d3bb2a9e608c08435c6c75f3aa21ac450c
2018-01-15 11:58:06 +01:00
Léa Saviot
aaca93e914
[poincare] Helper function to create log layouts.
...
Change-Id: I4f43d11a48e1b8bdddb6660da11e3127778a0bae
2018-01-15 11:58:06 +01:00
Léa Saviot
d6fbcbaa00
[poincare] Fixed serialization of square roots and Nth roots.
...
Change-Id: I68f9af1c6fc59d97b1dfb547062cf976012a1e4f
2018-01-15 11:58:06 +01:00
Léa Saviot
93f645c331
[poincare] Better comment for replacing HorizontalLayout with Empty.
...
Change-Id: I6210d63e40f079e5886e7c29cf8e0e305142eb4b
2018-01-15 11:58:06 +01:00
Léa Saviot
0575cd2d60
[poincare] addBrother should first assess if the layout is horizontal.
...
Before, if the cursor was Right of an HorizontalLayout, pressing "/" might put
the whole HorizontalLayout as the numerator of the new fraction, because the
fraction layout was added as a brother of the HorizontalLayout, not a child.
Change-Id: I3b58920e48db49ccd4204c405362d148260461d4
2018-01-15 11:58:06 +01:00
Léa Saviot
1fb2ab1829
[expression_editor] Multiplication button inserts multiplication dots.
...
Change-Id: I9e87487a7419faef161378fc269e1d366c8e1a40
2018-01-15 11:58:06 +01:00
Léa Saviot
29e877ec92
[poincare] NthRootLayout is now a BoundedStaticLayoutHierarchy.
...
It can now handle having an index or not (simple square root layout).
Change-Id: I7a3795c62873fa0a356719b8d572dd5a5be53c94
2018-01-15 11:58:05 +01:00
Léa Saviot
8d188279eb
[poincare] BoundedStaticLayoutHierarchy.
...
Change-Id: I33a1f41458401be5aebbc183e692681b4418c861
2018-01-15 11:58:05 +01:00
Léa Saviot
fda1840be4
[expression_editor] The button "log" inserts a logarithm without index.
...
Change-Id: Ib82cccb076c34c69c3112ade7a41139da15e96c0
2018-01-15 11:58:05 +01:00
Léa Saviot
630c6256e1
[poincare] Removed tedious HorizontalLayout creations.
...
There is a HorizontalLayout constructor that takes 3 layouts, so no need
to use ExpressionLayoutArray.
Change-Id: I51c6b9d44ead2b4d765aad6f5a2140641f4d076b
2018-01-15 11:58:05 +01:00
Léa Saviot
6334e2f435
[apps] Change MathToolbox's binomial coefficient layout.
...
It now uses a Parenthesis layout.
Change-Id: Ia83d7881a57bc91e41d125fef1e2a648d0278946
2018-01-15 11:58:05 +01:00
Léa Saviot
61e50e1858
[poincare] ParenthesisLayout renders parentheses instead of layouting.
...
ParenthesisLayout should be used for uneditable parenthesis, because its
parentheses are drawn instead of being part of the Layout tree.
Change-Id: Ibce7908fa271cd5e8cd7b2a2b5241d0ea42028f7
2018-01-15 11:58:05 +01:00
Léa Saviot
6526a82c17
[poincare] No "Inside" position for ExpressionLayoutCursor.
...
Change-Id: Id979c372bb2c4acf8f8708380c7d1f2aeeb5ff06
2018-01-15 11:58:05 +01:00
Léa Saviot
36064eff59
[poincare] Remove outdated layouts, such as StringLayout.
...
Change-Id: I351113cd9a14a1c48896ac9f56153a8513d36a16
2018-01-15 11:58:05 +01:00
Léa Saviot
dadcd83924
[poincare] Remove uses of outdated layouts, such as StringLayout.
...
Change-Id: I55bb846371c224f8f2e739b759725b0e02759ebd
2018-01-15 11:58:05 +01:00
Léa Saviot
55044d8e0b
[poincare] Update Expression's privateCreateLayout().
...
We use the new layouts and no longer the old ones such as StringLayout
or BaselineRelativeLayout.
Change-Id: Ic15167b694c3adab46f348c8f823ce19b3e5ef33
2018-01-15 11:58:05 +01:00
Léa Saviot
83bd562fb8
[poincare] Fixed IntegralLayout serialization.
...
The integrand was not properly written.
Change-Id: I063ed0ee58986174a374cc6b06b49bd5ec4a4d7d
2018-01-15 11:58:05 +01:00
Léa Saviot
41310a4ecf
[poincare] "Hard draw" the fixed parentheses in SequenceLayout.
...
Change-Id: Id626c85a7db540148bf9cb05ddb968c3f807454f
2018-01-15 11:58:05 +01:00
Léa Saviot
4cc107b15f
[poincare] "Hard draw" n= in SequenceLayout, instead of layouting it.
...
Change-Id: I79aa6ab0f46c0a05a3c2fe1dd88b287dc09dac17
2018-01-15 11:58:05 +01:00
Léa Saviot
4478885566
[poincare] "Hard draw" dx in IntegralLayout, instead of layouting it.
...
This simplifies the navigation, edition and serialization of
IntegralLayout.
Change-Id: I03360bf83eeb0cbd9524c992518dff125900e9a5
2018-01-15 11:58:05 +01:00
Léa Saviot
7c3b97fe36
[poincare] Fixed fraction deletion.
...
There was a problem with the new cursor position.
Change-Id: Iac163e236b45b776fc98bdef75e2abc5d13c2b18
2018-01-15 11:58:05 +01:00