Commit Graph

3804 Commits

Author SHA1 Message Date
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
Léa Saviot
0f5019442f [poincare] Fixed parenthesis collapsing bug.
Pressing "(", "1", "/" collapsed the parenthesis.

Change-Id: Iebd8925c1e8518013f0e0aa9a45bb42881583640
2018-01-15 11:58:05 +01:00
Léa Saviot
e8560f7b97 [poincare] Fixed coding style.
Change-Id: Ic57dfd53a3ae70cf71be08b73935c9f7649c2b76
2018-01-15 11:58:05 +01:00
Léa Saviot
65d7fd7a01 [poincare] Added comment to explain baselines.
Change-Id: I769c55c48c80bdce6deb8a7fc23ccc36bdc398a9
2018-01-15 11:58:05 +01:00
Léa Saviot
98faf01b53 [poincare] Better Fraction collapsing.
Change-Id: Ic898f522ae26cfcd5917f4da85715f85a5861b9f
2018-01-15 11:58:05 +01:00
Léa Saviot
9753228a3d [poincare] Use the VerticalOffsetLayouts.
Change-Id: I6dfc61f95016fd9863b7a4b1f41dc1784560807b
2018-01-15 11:58:04 +01:00
Léa Saviot
4009a0d879 [poincare] VerticalOffsetLayout and mustHaveLeftBrother() for Layouts.
Change-Id: Ibd4666806bb0af2a2babe892c8a9906747c18e9a
2018-01-15 11:58:04 +01:00
Léa Saviot
8a7e4e598c [expression_editor] Collapse brothers when adding a fraction.
Change-Id: I4d75fae152fca4a6671abd1e444f6aaa27c168b5
2018-01-15 11:58:04 +01:00
Léa Saviot
25c036a078 [expression_editor] Set cursor position according to the layout inserted.
Change-Id: Iac33efdeb4b725ae6007282d323f446992873832
2018-01-15 11:58:04 +01:00