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
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
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
5ec88dff8e
[poincare] EmptyExpression now exist and can be parsed.
...
Change-Id: I226026fc866c556d9bf4f57c3622f71136dc841c
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
aaca93e914
[poincare] Helper function to create log layouts.
...
Change-Id: I4f43d11a48e1b8bdddb6660da11e3127778a0bae
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
6526a82c17
[poincare] No "Inside" position for ExpressionLayoutCursor.
...
Change-Id: Id979c372bb2c4acf8f8708380c7d1f2aeeb5ff06
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
23eccd2c75
[poincare] Cleaned the dynamic methods for layouts.
...
Change-Id: I17db05b01c75a638a56fe2c197a175fd1b04840d
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
89760c0f42
[poincare] isCollapsable() for ExpressionLayouts.
...
Tells whether the layout should be collapsed into the numerator (or
denominator) of a new FractionLayout brother.
Change-Id: Id5c2a55667bec56340d73c2a63dc704fa56c9815
2018-01-15 11:58:04 +01:00
Léa Saviot
62ffb42472
[poincare] Fixed invalidation of layout baseline and position.
...
When adding, replacing or detaching a child.
Change-Id: I3ef212fbe270cee8d0e3a11402cc6df1228ee8d5
2018-01-15 11:58:04 +01:00
Léa Saviot
1ced6e2360
[poincare] Empty ListData constructor.
...
Change-Id: I882eb664d74399ab87ef9bd95bc1b255f5a5f87c
2018-01-15 11:58:04 +01:00
Léa Saviot
3fe7295f6c
[poincare] ExpressionLayoutArray was a method, it is now a class.
...
Change-Id: Iddde7ed9d8a8539193c6547a9e718865ff8e8cc7
2018-01-15 11:58:04 +01:00
Léa Saviot
ccd25a360d
[poincare] Serialize expression layout.
...
We can now convert layouts into text: we will be able to parse them
into an Expression.
Change-Id: I82f4834c08f5b2c5fb294bdcb9a49257b574e20b
2018-01-15 11:58:04 +01:00
Léa Saviot
fccd9b484b
[poincare] Added UneditableHorizontalTrioLayout.
...
Change-Id: Ifd9fd6a0a0714853c1a8cd428b65076b704a8211
2018-01-15 11:58:03 +01:00
Léa Saviot
f39b365902
[poincare] Delete for BaselineRelativeLayout.
...
Change-Id: I7b16c52d7eaa0c5a6398aca9a34a017447593737
2018-01-15 11:58:03 +01:00
Léa Saviot
f307e15bac
[poincare] Delete for HorizontalLayout.
...
Change-Id: Iff983beccc14195b09d54b5b5db668b8f7d4eca7
2018-01-15 11:58:03 +01:00
Léa Saviot
1a3c391237
[expression_editor/poincare] General "delete" rule.
...
Change-Id: I5c16f19aacdac312156f45c88c189adfb72f03e8
2018-01-15 11:58:03 +01:00
Léa Saviot
b0fd089d87
[poincare] Dynamic size of Bracket Left and Right layouts.
...
Change-Id: Icd0654dc7b63639d4513946b24c0855ffcb38c87
2018-01-15 11:58:03 +01:00
Léa Saviot
b47a5fa939
[poincare] Handle parentheses sizing.
...
Change-Id: I3f790c0eb73b566dd7de7089957ea0d4306821c2
2018-01-15 11:58:02 +01:00
Léa Saviot
0d8b6d5ace
[escher/poincare] Handle toolbox input (VERY DIRTY).
...
Change-Id: I01de0ddd6f6500df278e3b4104110f6335289be1
2018-01-15 11:58:02 +01:00
Léa Saviot
8289e24cfe
[expression_editor] Handle XNT event.
...
Change-Id: I0af832ec0f693c445e424d21795b14cfb4e54622
2018-01-15 11:58:02 +01:00
Léa Saviot
7b2c48465e
[expression_editor] Handle Exp, Log, Power, Sqrt and Square events.
...
Change-Id: I96ab58d6f66fcb6aa95ba849d927236cfb5fcc28
2018-01-15 11:58:02 +01:00
Léa Saviot
940f2cf387
[poincare] Delete empty layouts when adding something next to them.
...
Change-Id: Ie89fa84edb0bdd57ead42fac68cbb564c5327556
2018-01-15 11:58:02 +01:00
Léa Saviot
4d94764c36
[expression_editor] Controller code cleaning.
...
Change-Id: Ifb31ad712ce9c59e21fc3d670d05f60a15669d60
2018-01-15 11:58:02 +01:00
Léa Saviot
241d37afa5
[poincare] Recompute baselines when needed.
...
Change-Id: I4ec717402a4dfd287aa95f45189e1734e4f5e3ed
2018-01-15 11:58:02 +01:00
Léa Saviot
b3598e1713
[expression_editor] Insert text char by char, using CharLayout.
...
Change-Id: Id5b146bf875c1cf1d9ac949258d43a5ed415a334
2018-01-15 11:58:02 +01:00
Léa Saviot
d72de7c484
[poincare] ExpressionLayout edition.
...
Change-Id: I505320c32fcc3ffb516f345091a89afad90ebf56
2018-01-15 11:58:02 +01:00
Léa Saviot
0cc1d99a54
[poincare] Static and Dynamic Layout hierarchies.
...
Change-Id: I3b47dbd76552b77db762482932518a74c1996cc0
2018-01-15 11:58:01 +01:00
Léa Saviot
a4c014c75e
[expression_editor/poincare] Move Down in an ExpressionLayout.
...
Change-Id: I87f3394cce5eb4936ab926d5e92fdf44d4473cf7
2018-01-15 11:58:01 +01:00
Léa Saviot
fc8cd6c06e
[expression_editor/poincare] Move Up in an ExpressionLayout.
...
Change-Id: I75fd91233729afd4eb77d8e9d53c102a632643ea
2018-01-15 11:58:01 +01:00
Léa Saviot
29e549d475
[expression_editor/poincare] Move Right in an ExpressionLayout.
...
Change-Id: Ib5f018666350d6bb061272ae7b04b6f721d50e84
2018-01-15 11:58:01 +01:00
Léa Saviot
f49168d779
[poincare] Use editable String and BaselineRelative layouts.
...
Change-Id: I978c4aa43772b294251b948fc20bb0d8b8b05a08
2018-01-15 11:58:01 +01:00
Léa Saviot
78c02e6871
[expression_editor/poincare] Move Left in an ExpressionLayout.
...
Change-Id: Id69def65e0976bfb045c1da6e8786a2f5797120c
2018-01-15 11:58:01 +01:00
Léa Saviot
8f6a27bee8
[TO REMOVE] Bigger test case.
...
Change-Id: I72c0474000aab5eec5ebada2e09c0f7f555c8e2b
2018-01-15 11:58:01 +01:00
Léa Saviot
589926284c
[poincare] absoluteOrigin() is public in ExpressionLayout.
...
Change-Id: I7e381887e3c62c36c72536ed7ef280bcc637ead4
2018-01-15 11:58:01 +01:00
Léa Saviot
73810bbd9a
[poincare] ExpressionLayout cursor.
...
Change-Id: I2367d20754189608a7925f0d8e8dfe361fed0fd0
2018-01-15 11:58:01 +01:00
Émilie Feral
81e0148325
[poincare] Clean symbols w(n) and w(n+1) are unused
2017-12-20 17:41:03 +01:00