Gabriel Ozouf
0c44deb35f
[poincare/matrix_layout] Change comparison order
...
Change-Id: Iaa048d82005a7dfa380357e80bbac447c0976e55
2020-11-17 11:42:55 +01:00
Gabriel Ozouf
323e72a50c
[poincare/matrix_layout] Remove columns with backspace
...
Allow removing empty columns with backspace, the same way one can remove
empty rows. This allows deleting the internal columns that are not
automatically deleted.
Change-Id: I52def7939257942a8396721d01c4d1531ef90361
2020-11-17 11:42:55 +01:00
Gabriel Ozouf
7184202a6e
[poincare/matrix_layout] Keep median rows and columns
...
Empty columns and rows are only removed automatically when they are the
last row/column. This way, the user can edit a median row/column without
the matrix collapsing.
Change-Id: If611fa0133f270d785809d433ae879879b6b093f
2020-11-17 11:42:55 +01:00
Gabriel Ozouf
62e2a71da1
[poincare/matrix_layout] Remove empty rows
...
Empty columns are automatically removed ; the same is now done to empty
rows.
Change-Id: Ib66dfe83f1ea712d3f9a450eedd7ade709296413
2020-11-17 11:42:55 +01:00
Hugo Saint-Vignes
e27c668c40
[apps,escher,kandinsky,poincare,python] Replace every "grey" with "gray"
...
Change-Id: I60a232849dce90f70e6977b6024d6e9b1ce1b731
2020-11-04 15:07:20 +01:00
Romain Goyet
950862f8d0
Use std::min and std::max
2020-04-14 09:31:02 -04:00
Romain Goyet
807dd73e7b
[poincare] Use a Tuple instead of an ArrayBuilder for expression
...
The Tuple is simply an initializer_list along with a convenience method
to cast between a list of TreeHandle and a list of Expression
2020-04-10 13:35:14 -04:00
Léa Saviot
b1aeda47e8
[poincare/layout] Add parameter for selection when moving cursor
2020-02-12 15:13:17 +01:00
Léa Saviot
97c9268d37
[poincare/horizontal_layout] Uniformize selection background height
2020-02-12 15:13:17 +01:00
Léa Saviot
785cd2f88c
[poincare/layout_cursor] Rename layoutReference -> layout
...
It was an historic name
2020-02-12 15:13:17 +01:00
Léa Saviot
2c11192b2a
[poincare/matrix_layout] Do not serialize the first and last empty lines
...
[•]
[•]
[2] will be serialized like [2].
[•]
[•]
[•]
This way, if a user inputs a column matrix and then switches to a line
matrix without properly deleting each empty row, it is serialized
correctly.
2019-09-25 17:49:31 +02:00
Léa Saviot
7ab5250db9
[poincare/matrix_layout] Do not delete on last line
2019-09-23 11:54:39 +02:00
Léa Saviot
d17b74b440
[poincare/matrix_layout] Remove unneeded code
2019-09-20 17:31:39 +02:00
Léa Saviot
6ef0b3b4ab
[poincare/matrix_layout] Delete rows in two steps
...
Row deletion is done when deleting the left empty layout of an empty
row.
2019-09-20 17:31:39 +02:00
Léa Saviot
49a508ea62
[poincare] Fix serializations
...
They should return the number of written chars
2019-08-08 17:22:05 +02:00
Émilie Feral
3234622df6
[poincare] Layout: discard methods isVerticalOffset(), isHorizontal(),
...
isRightParenthesisLayout(), isLeftBracket(), isRightBracket(),
isCodePoint(),
isLeftParenthesisLayout() and use type() instead
2019-04-24 17:25:04 +02:00
Léa Saviot
80e2879cb7
[poincare] Make GridLayout rendering faster
2019-04-12 15:16:52 +02:00
Léa Saviot
784381bd33
[unicode] Use unicode when dealing with chars - Part 1
2019-04-12 15:16:51 +02:00
Émilie Feral
24c9617a89
[poincare] Templatize TreeHandle Builders
2019-02-21 11:29:35 +01:00
Émilie Feral
7b5f3c570d
[poincare] Change the way Expression are built
2019-02-21 11:29:35 +01:00
Émilie Feral
ac6f23684d
[poincare] Clean Expression and Layout builders
...
Before: Opposite(Opposite(Rational(1))) misleadingly created the
expression "-1"; now, Opposite::Builder(Opposite::Builder(Rational(1)))
creates "--1"
2019-02-21 11:29:35 +01:00
Léa Saviot
116ef9ee39
[poincare] Fix typo
2018-09-20 11:19:52 +02:00
Émilie Feral
365b145cf3
[poincare] Change names: LayoutReference-->Layout
2018-09-18 16:29:44 +02:00
Émilie Feral
8cffbdd7de
[poincare] Change name of files: *_layout_node --> *_layout
2018-09-14 16:57:12 +02:00