Commit Graph

24 Commits

Author SHA1 Message Date
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