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
b832a9e9f4
[apps/calculation/edit_expression_controller] Define viewWillAppear
2020-02-12 15:13:16 +01:00
Ruben Dashyan
b624e47ccb
[apps/calculation/edit_expression_controller] Remove dummy viewDidDisappear
...
HistoryController does not override ViewController's default
viewDidDisappear.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
7a49e23e3b
[apps/calculation] Factor HistoryController::reload
2020-02-12 15:13:15 +01:00
Léa Saviot
0630ae55c7
[apps/escher] Force expressionField relayout when size changed
...
Scenario: in Calculations and in Graph, edit the layout field by adding
many parentheses. When the layout field has maximal height but the
parentheses are bigger than it, ther is a margin that appears at the
bottom, because we did not relayout the layout field to optimize
redrawing. We need to force the relayout, otherwise as the layout field
stays we the same frame, the relayouting is not properly done.
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
Ruben Dashyan
491a93d8f1
[apps/calculation/edit_expression_controller] Access view more directly
2020-02-12 15:13:15 +01:00
Ruben Dashyan
59e6c9d324
[apps/calculation/edit_expression_controller] view() does not return nullptr
2020-02-12 15:13:15 +01:00
Ruben Dashyan
227c9a8d68
[apps/calculation/edit_expression_controller] Inline view() in header
2020-02-12 15:13:15 +01: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
a7d3df39c3
Typo
2019-08-08 17:22:03 +02:00
Ruben Dashyan
44809f4b3f
Substitute Escher app() by Container::activeApp()
2019-07-19 15:06:25 +02:00
Ruben Dashyan
1a2a651f36
[apps] Replace app() by expressionFieldDelegateApp() in Calculation::EditExpressionController
2019-07-19 15:06:25 +02:00
Ruben Dashyan
3e992a3560
[apps] Replace app() by textFieldDelegateApp() in TextFieldDelegates
2019-07-19 15:06:25 +02:00
Ruben Dashyan
9611133276
[apps] Factor Shared::TextFieldDelegateApp::isAcceptableText
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
4111927bae
[apps] Access *DelegateApp() through app()
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
Ruben Dashyan
62cec10b46
[apps] Clean unnecessary AppsContainer class declarations and header inclusions
2019-07-19 15:06:25 +02:00
Léa Saviot
94603b2b7d
[poincare] Layout::serialize is serializeForParsing or ParsedExpression
...
serializeForParsing serializes the layout once,
serializeParsedExpression serializes the layout, parses it and
serializes it again.
2018-11-23 12:04:09 +01:00
Léa Saviot
33676e915a
[apps] Check that serialized expression is not too long in Graph
2018-11-23 12:04:09 +01:00
Léa Saviot
f5586b3d36
[apps] Clean the syntax error warning displaying
2018-11-23 12:04:09 +01:00
Léa Saviot
f6804c2d67
[apps] Use ExpressionFieldDelegateApp methods in Calculation::App
...
For methods textFieldDidReceiveEvent and layoutFieldDidReceiveEvent
2018-11-23 12:04:08 +01:00
Émilie Feral
7e7c77a0e8
[escher] TextField and LayoutField handle move events while in editing
...
mode to avoid leaving unexpectedly edition mode
2018-11-23 12:04:03 +01:00
Émilie Feral
698332c355
[escher] InputTextDelegate and LayoutFieldDelegate don't inherit from
...
InputTextDelegate to avoid diamond inheritance
2018-11-23 12:04:03 +01:00
Émilie Feral
a93e9566ad
[escher] Create a parent class Field of TextField and
...
LayoutField
2018-11-23 12:03:59 +01:00
Léa Saviot
6b8d8a1e55
[escher] Prevent superfluous layout clearings
2018-09-20 16:46:34 +02:00
Émilie Feral
365b145cf3
[poincare] Change names: LayoutReference-->Layout
2018-09-18 16:29:44 +02:00
Émilie Feral
616e4c0bcc
[poincare] Change name: LayoutRef --> LayoutReference
2018-09-14 16:57:12 +02:00
Léa Saviot
985f310b1c
[escher] Just replace the layout when clearing it in LayoutField
2018-09-14 11:28:37 +02:00
Émilie Feral
0fbab2f35c
[apps] Get rid of DynamicViewController
2018-09-07 17:55:42 +02:00
Léa Saviot
71c807b565
[poincare] Node->isDefined becomes !Node->isUninitialized
2018-08-14 16:40:12 +02:00
Émilie Feral
aaa20a58fa
[poincare] Implement SerializationHelper and
...
SerializationHelperInterface. WriteTextInBuffer->serialize
2018-08-08 15:31:40 +02:00
Léa Saviot
a0c427076f
[apps/claculation] Remove duplicate layout reference
2018-07-05 11:08:36 +02:00
Léa Saviot
880c3e59de
[poincare] Continue removing layouts
2018-07-03 18:29:08 +02:00
Émilie Feral
5dcfbf83e9
[escher] ExpressionLayoutFieldDelegate should not take a text as
...
parameter but a layout
Warning: in ExpressionField: the serialized layout is not guaranteed to
be small enough to fill in the text buffer
2018-05-17 13:53:10 +02:00
Léa Saviot
3953ca1c67
[escher] Remove duplicate method
...
Change-Id: Iac03f002cb6928831a8d640f1bcdeba116f71d06
2018-05-17 13:42:20 +02:00
Émilie Feral
8b0225ec0e
[calculation] Fix bug: update strlcpy with real size of buffer
2018-05-16 19:19:48 +02:00
Émilie Feral
8276e99b1e
[calculation] Conditional jump on uninitialized boolean
2018-05-11 14:12:40 +02:00
Léa Saviot
ce81481922
[apps/calculation] Do not reload if the ELView is already maximal
...
Change-Id: Id21cc71de7d5d83a30c6b7beea3c71108bed7197
2018-04-25 18:08:35 +02:00
Léa Saviot
5205d35973
[apps/calculation] Remove asserts that use obsolete functions
...
Change-Id: I27252b48abb71755335e97d0903453e135247903
2018-04-23 11:34:01 +02:00
Léa Saviot
6d7464707d
[apps/calculation] Fix member initialization order.
...
Change-Id: I16788edf23b9c2d70a781db5ad90ebfd67b926e7
2018-04-23 11:34:01 +02:00
Léa Saviot
117a6d460a
[poincare] Stop exposing text/expressionlayout fields in ExpressionField
...
Change-Id: Ic1afb3f7c1f6bff5ea3bedc6f96bef986b74f6a8
2018-04-23 11:33:53 +02:00
Léa Saviot
894080f1ab
[apps/escher] EVWithCursor becomes ELField::ContentView
...
Change-Id: I719218e4d1d360800e0f1ef3eebeea774c8d5660
2018-04-23 09:41:20 +02:00
Léa Saviot
22ab94209f
[apps/escher] Rename EditableExpressionView -> ExpressionField
...
Change-Id: Iadfb220ee94e68762305060215f1ead0cac951fb
2018-04-23 09:41:20 +02:00
Léa Saviot
31face58a2
[apps/escher] ScrollableEVWithCursor renamed ExpressionLayoutField
...
Change-Id: Id0e4610fb677d8ad36721eef1a85f1c424d1743e
2018-04-23 09:41:20 +02:00
Léa Saviot
2146dd6422
[apps] Fix wrong method call
...
Change-Id: I2695d7c659f18edb1839cdf7c8282cc69862a4e5
2018-04-11 10:40:06 +02:00
Léa Saviot
c4b5d4cf40
Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
...
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
576caa039f
[apps][escher] Add methods 'handleEventWithText' in TextField and
...
TextArea to fix bug in probability (adding a toolbox text from the
calculations controller)
2018-03-22 13:12:12 +01:00