Émilie Feral
b56cd8b012
[escher] Metric: add EllipsisCellWidth. This will be soon used by
...
Calculation::HistoryCell
2020-02-12 15:13:22 +01:00
Émilie Feral
ef5681ec0b
[escher] Remove BurgerMenuView
2020-02-12 15:13:22 +01:00
Émilie Feral
3de0ee7f98
[apps/calculation] ExpressionWithEqualSignView inherits from
...
ExpressionView instead of composing
This is useful for future change on
ScrollableExactApproximateExpressionView
2020-02-12 15:13:22 +01:00
Léa Saviot
90e5a08d3a
[escher/app] Coding style
2020-02-12 15:13:22 +01:00
Léa Saviot
756eeeb2d8
[poincare/parser] Add context
2020-02-12 15:13:21 +01:00
Émilie Feral
061c96df45
[escher] Add vertical borders to StackView
2020-02-12 15:13:21 +01:00
É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
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
É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
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
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
8915148e72
[escher] Add a class BurgerMenuView
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
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
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
f7ada7dac0
[escher/layout_field] Simplify the layout selection algorithm
2020-02-12 15:13:17 +01:00
Léa Saviot
efc8a238ea
[escher] Rename deleteSelectedText -> deleteSelection
2020-02-12 15:13:17 +01:00
Léa Saviot
5de65e0d7e
[escher/layout_field] Copy selection
2020-02-12 15:13:17 +01:00
Léa Saviot
2e589f6eac
[escher] Delete selection on layouts
2020-02-12 15:13:17 +01:00
Léa Saviot
a959f9fa98
[poincare/lyt_cursor] When selecting, we add one full layout each time
2020-02-12 15:13:17 +01:00
Léa Saviot
03f07d65ed
[escher/layout_field] Remove selection on simple left/right/up/down
2020-02-12 15:13:17 +01:00
Léa Saviot
377cca7e3d
[escher/layout_field] Start handling selection
2020-02-12 15:13:17 +01:00
Léa Saviot
33b5f008a2
[escher/text_field] Selection
2020-02-12 15:13:17 +01:00
Léa Saviot
9c5843500a
[escher/text_input] Fix reload and scroll after deleteSelectedText
2020-02-12 15:13:17 +01:00
Léa Saviot
20c761d3f0
[escher/text_area] Fix slection over wrote
...
Scenario: 34567 then press 0 -> we want 3067
** selected
2020-02-12 15:13:17 +01:00
Léa Saviot
e98b67634d
[escher/text_area] Improve dirty tracking
2020-02-12 15:13:17 +01:00
Léa Saviot
b6f3b39086
[escher/text_input] Rename currentSelectionIsEmpty -> selectionIsEmpty
2020-02-12 15:13:17 +01:00
Léa Saviot
67008f454e
[escher/text_area] Replace the selection when event with text
2020-02-12 15:13:17 +01:00
Léa Saviot
d05a95c87c
[apps/code] Reset selection when leaving script editor
2020-02-12 15:13:17 +01:00
Léa Saviot
95d0715606
[escher/solid_text_area] Remove unused class
2020-02-12 15:13:17 +01:00
Léa Saviot
30923ed4c6
[escher/text_area] Select up/down
2020-02-12 15:13:17 +01:00
Léa Saviot
349b4f8532
[escher/text_area] Fix selection color
2020-02-12 15:13:17 +01:00
Léa Saviot
14cc6ffc59
[escher/text_area] Select and copy
2020-02-12 15:13:17 +01:00
Ruben Dashyan
7fce83d1dd
[escher/expression_field] Detect whether view's height did change by memoizing the height
...
Such changes used to be detected only when the height was equal to the
maximal allowed value, by detecting whether the height shifted from or
to that maximal value. For that purpose, a boolean was memoized in
InputViewController and in Calculation::EditExpressionController.
2020-02-12 15:13:16 +01:00
Ruben Dashyan
40d75ffefa
[escher/expression_field] Remove unused reload() method
2020-02-12 15:13:16 +01:00
Ruben Dashyan
3bc3532358
[escher/expression_field] Replace maximalHeight() by k_maximalHeight
...
To harmonize with k_minimalHeight
2020-02-12 15:13:16 +01:00
Léa Saviot
984bfca68e
[escher] ScrollView TODO comment
2020-02-12 15:13:15 +01:00
Léa Saviot
9f018eb9d9
[escher/view] setFrame and layoutSubviews can be forced
2020-02-12 15:13:15 +01:00