Commit Graph

686 Commits

Author SHA1 Message Date
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
Léa Saviot
f85658f5e6 [escher/view] Inline some view methods 2020-02-12 15:13:15 +01:00
Ruben Dashyan
1c668dca52 [escher/layout_field] Remove unused enum class 2020-02-12 15:13:15 +01:00
Ruben Dashyan
ecd6cb29f1 [escher/expression_field] Rename k_textFieldHeight to k_minimalHeight
That constant has nothing to do with TextField. It is the minimal height
of ExpressionField.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
063cc66ba2 [escher/layout_field] Make protected methods private
LayoutField has no derived class
2020-02-12 15:13:15 +01:00
Ruben Dashyan
737d76471b [escher/layout_field] Remove unused accessor 2020-02-12 15:13:15 +01:00
Léa Saviot
4e96a11a4c [escher/responder] Clean commonAncestor method 2019-12-20 11:49:30 +01:00
Léa Saviot
0412a45cea [escher/responder] Inline some methods 2019-12-20 11:49:30 +01:00
Romain Goyet
758c217120 [ion] ion_main takes const arguments 2019-10-16 10:01:00 +02:00
Émilie Feral
4d593a6149 [poincare] PrintFloat: take into account the distinction between char
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Émilie Feral
3872785d57 [escher] Add Metric::CellMargin 2019-09-26 11:26:48 +02:00
Émilie Feral
743bf7cf28 [escher] EvenOddMessageTextCell wraps the message view with a 2-pixel
margins (avoid almost duplicate classes)
2019-09-26 11:26:48 +02:00
Émilie Feral
6f70924893 [escher] EvenOddBufferTextCell wraps the text view with a 2-pixel margin 2019-09-26 11:26:48 +02:00
Émilie Feral
20abac86f4 [apps/graph] ListParameterController: interval print float mode and
number of significant numbers are dynamically adjusted with the
available space
2019-09-23 17:07:18 +02:00
Ruben Dashyan
1d966ce23c [apps/*/expression_model_list_controller] editExpression sets text instead of InputViewController::edit 2019-09-20 17:11:42 +02:00
Ruben Dashyan
7d9f479f3c [escher/input_view_controller] Define setTextBody method
And inline textBody method.
2019-09-20 17:11:42 +02:00
Léa Saviot
4caf9f5197 [coding style] Make some methods const 2019-09-09 20:05:14 +02:00
Léa Saviot
100b0c0186 [apps/escher] Uniformize k_separatorThickness 2019-09-09 19:10:17 +02:00
Léa Saviot
e67160b878 [apps/graph] Faster cursor scrolling on device
This commit is quite dirty but works well
2019-09-09 16:56:32 +02:00
Léa Saviot
0d2c20bceb [apps/graph] Fix function renaming
Scenario: Funciton renamed f123456 would be saved as f12345 due to
buffer size problem
2019-09-09 13:30:09 +02:00
Ruben Dashyan
424036489b [escher/selectable_table_view_data_source] Mark getters as const 2019-09-04 15:07:40 +02:00
Ruben Dashyan
ff6eb00801 [escher/selectable_table_view_data_source] Inline all in header file 2019-09-04 15:07:40 +02:00
Léa Saviot
f3376de1b2 [escher/scroll_view] Fix redrawing glitch
Scenario: Go to statistics, add values on the last column, when the
vertical scrollbar appears there is a drawing glitch on the horizontal
bar.
2019-09-04 13:43:37 +02:00
Léa Saviot
41bcc1f133 [escher/scroll_view] Coding style 2019-09-04 13:43:37 +02:00
Léa Saviot
553c649a80 [apps] Fix Stores margins 2019-09-04 13:43:37 +02:00
Émilie Feral
6013e6a937 [escher] Add a class MessageTableCellWithChevronAndBuffer 2019-08-29 15:54:52 +02:00
Ruben Dashyan
c1470ed9d3 [escher/input_view_controller] Define isEditing method 2019-08-29 11:07:22 +02:00
Émilie Feral
cbe6d312d4 [escher] Add a comment for future improvement on TextField 2019-08-13 09:44:00 +02:00
Émilie Feral
011142427a [esher] TextField: fix issues:
- when textFieldDidFinishEditing failed ("1+ln(-2)" in a scalar
entry for instance), the previous text was modified even if edition aborted
- The draft buffer was not reinitialized when overriding the draft text
buffer with a text event
2019-08-13 09:44:00 +02:00
Émilie Feral
12060e2ae7 [escher] TextField: all text fields use the same draft text buffer 2019-08-13 09:44:00 +02:00
Léa Saviot
c839fb52a3 [escher/layout_field] Fix cursor position on Empty layout
Scenario: In the calculations app, write 1, Enter, write •|/2, go up,
then go down. There is a problem with the empty layout and the cursor.
2019-08-08 17:22:03 +02:00
Léa Saviot
e8be088478 [apps/escher] Factorize TxtArea and Code::EditorCtrlr's k_indentSpaces 2019-08-08 16:22:28 +02:00
Émilie Feral
7a4ee746b2 [escher] TextField: call reinitDraftBuffer after edition is complete to
avoid erasing text that is required later.

Fix bug: OK handling on function list in linear mode did not copy the
function expression into the textfield before editing
2019-07-30 11:47:42 +02:00
Ruben Dashyan
44809f4b3f Substitute Escher app() by Container::activeApp() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
772610d9e0 [escher/container] Assert activeApp() does not return nullptr 2019-07-19 15:06:25 +02:00
Ruben Dashyan
224f7873f7 [*container] Make Container::s_activeApp protected 2019-07-19 15:06:25 +02:00
Ruben Dashyan
a0e6151b26 [*container] Remove static Container::sharedContainer 2019-07-19 15:06:25 +02:00
Ruben Dashyan
80981ce865 [escher/container] Make activeApp static 2019-07-19 15:06:25 +02:00
Ruben Dashyan
17795eed87 [escher] Include container.h instead of app.h
app.h did actually include container.h
2019-07-19 15:06:25 +02:00
Ruben Dashyan
0531187cda [escher] Cleaner app header inclusion 2019-07-19 15:06:25 +02:00
Ruben Dashyan
055d601854 [apps] Define TextFieldDelegate::textFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
5058f64163 [apps] Define LayoutFieldDelegate::expressionFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
2888eddd06 [escher/button_row_controller] Access the app directly 2019-07-19 15:06:25 +02:00
Ruben Dashyan
e4ec398ecd [escher] InputEventHandler gets the app directly 2019-07-19 15:06:25 +02:00
Romain Goyet
21907fb89a [apps] Get rid of App casts 2019-07-19 15:06:25 +02:00
Romain Goyet
581ec55832 [escher] Inline the App::snapshot() function 2019-07-19 15:06:25 +02:00