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
Léa Saviot
48dc38da56
[poincare] Fixed "dx" removal when deleting an IntegralLayout.
...
Change-Id: I65494adf8d5bc732e95270ed6397b49a5303e7b0
2018-01-15 11:58:05 +01:00
Léa Saviot
bfe4735199
[poincare] Fix bug when replacing child in Horizontal layout.
...
Change-Id: I99b6e32932db27376c83eafe1a4ff5044b1d3334
2018-01-15 11:58:05 +01:00
Léa Saviot
23eccd2c75
[poincare] Cleaned the dynamic methods for layouts.
...
Change-Id: I17db05b01c75a638a56fe2c197a175fd1b04840d
2018-01-15 11:58:05 +01:00
Léa Saviot
211227e682
[poincare] Changed NthRootLayout deleting.
...
Before, nested roots did not get deleted properly.
Change-Id: I1d3dce28912a4843a372db8c3a0b479bd11b27f9
2018-01-15 11:58:05 +01:00
Léa Saviot
a998ae4541
[poincare] Fixed parenthesis baseline computing.
...
Change-Id: I38ecb8bab67280f6e452bc9ef404a00641060879
2018-01-15 11:58:05 +01:00
Léa Saviot
21ed3471b1
[poincare] Fixed parenthesis height computing.
...
Before, it did not take the baseline into account.
Change-Id: Ib1b220d7c07eab7002497671e9c6ffba8548acfb
2018-01-15 11:58:05 +01:00