Commit Graph

1400 Commits

Author SHA1 Message Date
Émilie Feral
3fa4e0838a [escher] Create a class Bordered instead of BorderedCell: this enable
non-cell view to use it as well
2020-02-12 15:13:21 +01:00
Émilie Feral
235b03a923 [escher] Create a BorderedCell that draws the border around a cell and
use it in TableCell
2020-02-12 15:13:21 +01:00
Léa Saviot
5a7c03d485 [apps/editor_controller] Fix backspace handling in text area
The editor controller handles backspace if it is at the beginning of a
line, to remove multiple spaces to match the indentation, but it should
not do so if there is an ongoing selection
2020-02-12 15:13:20 +01:00
Léa Saviot
ce20f3f50f [escher/text_field] Fix empty Paste event
If there is no text in the clipboard and a Paste event in a text
field, the cursor moved at the beginning of the text
2020-02-12 15:13:20 +01:00
Léa Saviot
2fea9d61b6 [escher/text_field] Fix cut event text deletion
If there is a Cut event and the text field is edited but there is no
selection, the text is not stored in the clipboard but it was still
deleted.
2020-02-12 15:13:20 +01:00
Léa Saviot
66cf4ed83f [escher/text_field] Fix Cut / Clear redrawing 2020-02-12 15:13:20 +01:00
Émilie Feral
6a2f11ef1b [escher] ExpressionTableCell & ExpressionTableCellWithExpression:
reloadScroll when displaying cell
2020-02-12 15:13:20 +01:00
Émilie Feral
74b5ca2f12 [escher] ExpressionTableCellWithExpression: avoid to add margins around
the accessory subview twice
2020-02-12 15:13:20 +01:00
Émilie Feral
3806a78141 [escher] ExpressionTableCellWithExpression: make the accessory
expression scrollable and set it as the first responder
2020-02-12 15:13:20 +01:00
Émilie Feral
711c4a6554 [escher] ScrollableExpressionView: fix background color 2020-02-12 15:13:20 +01:00
Émilie Feral
4bd3dfd542 [escher] TableCell: the subviews are layoutted horizontally or
vertically. We add an option to decide which subviews should overlap on
top of the other if there is not enough space
2020-02-12 15:13:20 +01:00
Émilie Feral
5974149162 [escher] Metric: change name TableCellLabelTopMargin to
TableCellHorizontalMargin and add TableCellHorizontalMargin
2020-02-12 15:13:20 +01:00
Émilie Feral
d0e2e71e10 [escher] TableCell: fix layoutSubviews 2020-02-12 15:13:20 +01:00
Émilie Feral
816e17df66 [escher] TableCell: factorize code 2020-02-12 15:13:19 +01:00
Émilie Feral
9312d2bd65 [escher] ExpressionTableCell is composed of a ScrollableExpressionView
instead of an ExpressionView
2020-02-12 15:13:19 +01:00
Émilie Feral
9301dd510a [calculation][escher] Move ScrollableExpressionView from apps/calculation/ to
escher/
2020-02-12 15:13:19 +01:00
Émilie Feral
439c85eda5 [escher] TableCell: make the label margin optional 2020-02-12 15:13:19 +01:00
Émilie Feral
2e3a904b9b [escher] TableCell: fix layoutSubview to avoid letting subviews overflow bounds() 2020-02-12 15:13:19 +01:00
Émilie Feral
8915148e72 [escher] Add a class BurgerMenuView 2020-02-12 15:13:18 +01:00
Léa Saviot
ef7fb400c9 [escher/test] Fix and add layout_field select up down tests 2020-02-12 15:13:18 +01:00
Léa Saviot
e10bd18f8e [escher/text_area] insertTextAtLocation removes system parentheses 2020-02-12 15:13:18 +01:00
Léa Saviot
a42b52d10e [escher/text_area/field] When pasting, force cursor right of text 2020-02-12 15:13:18 +01:00
Léa Saviot
408a33f8a6 [escher/layout_field] Allow copy-paste of ^2 2020-02-12 15:13:18 +01:00
Léa Saviot
8f86769cd1 [escher/layout_field] When pasting, force cursor right of pasted text
Even if the text is inserted code point per code point
2020-02-12 15:13:18 +01:00
Léa Saviot
d446d1cb61 [escher/text_input] Fix ShiftDown in text field with extension
The extension should not be selected
2020-02-12 15:13:18 +01:00
Léa Saviot
d9b284c1ec [escher/text_input] ShiftUp/Down selects whole textfield on left/right 2020-02-12 15:13:18 +01:00
Léa Saviot
2eaf84cc73 [escher/app/modal_view] If will exit app, do not relayout
App::willBecomeInactive calls dismissModalViewController, which puts
back the previous repsonder and calls layoutSubviews on the
modalViewController. We do not want to do all these operations when the
app will be exited anyways.
2020-02-12 15:13:18 +01:00
Léa Saviot
8a8d4677a8 [escher/layout_field] Fix addSelection
Better handling of adding an horizontal to the selection of all its
children / or the contrary
2020-02-12 15:13:18 +01:00
Léa Saviot
3ff94b8930 [escher/text_input] Fix cursor position when deleting selection 2020-02-12 15:13:18 +01:00
Léa Saviot
cb53038909 [escher] Text input has alignment, not text field 2020-02-12 15:13:18 +01:00
Léa Saviot
aad1636238 [escher/text_input] Methods reordering 2020-02-12 15:13:18 +01:00
Léa Saviot
fb18b7cd69 [escher/text_input] Maxe some member variables protected 2020-02-12 15:13:18 +01:00
Léa Saviot
9b53b182a9 [escher/text_input] Fix deleteSelection 2020-02-12 15:13:18 +01:00
Léa Saviot
367df21288 [escher/text_input] Use move method to select
This fixes the dot that could be selected in the Python app script names
2020-02-12 15:13:18 +01:00
Léa Saviot
e3d06d87fb [escher/text_field] Fix Cut event when selection 2020-02-12 15:13:18 +01:00
Léa Saviot
e161d42839 [escher/text_field] Reset selection after Cut event 2020-02-12 15:13:18 +01:00
Léa Saviot
3d6b0a2d20 [escher/text_field] Fix selection deletion
The draft text length should be modified accordingly
2020-02-12 15:13:18 +01:00
Léa Saviot
0e7809b5d9 [escher/text_field] Rename size -> length 2020-02-12 15:13:18 +01:00
Léa Saviot
2c1cc02a19 [escher/layout_field] Fix selection + matrices
When selecting inside a matrix and then selecting outside, the grey
squares should disappear.
2020-02-12 15:13:18 +01:00
Léa Saviot
5f52c36439 [escher/layout_field] Reset selection when finishing edition 2020-02-12 15:13:18 +01:00
Léa Saviot
51742aef40 [escher/layout_cursor] Set height to the selection height
4
For instance, 123+- with "123+" selected, the cursor on the left of the
                  5
fraction will have the height of the selection.
2020-02-12 15:13:17 +01:00
Léa Saviot
c29ab14f20 [escher/layout_field] Better handling of layout recomputation
After a selection event, there is no need to recompute the layout. We
still need to dirty the union of the previous and next selection
rectangles.
2020-02-12 15:13:17 +01:00
Léa Saviot
f9b738a41e [escher/layout_field] Remove TODO comment 2020-02-12 15:13:17 +01:00
Léa Saviot
f7ada7dac0 [escher/layout_field] Simplify the layout selection algorithm 2020-02-12 15:13:17 +01:00
Léa Saviot
61f26e3e4c [escher/test] Layout selection in layout_field 2020-02-12 15:13:17 +01:00
Léa Saviot
a92326f9c9 [poincare/layout_cursor] Rename MoveDirection -> Direction 2020-02-12 15:13:17 +01:00
Léa Saviot
9ff3cbf32d [escher/expression_view] Layout selection color 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
5c2ea9899d [poincare/layout_field] Select up/down 2020-02-12 15:13:17 +01:00
Léa Saviot
efc8a238ea [escher] Rename deleteSelectedText -> deleteSelection 2020-02-12 15:13:17 +01:00