Commit Graph

91 Commits

Author SHA1 Message Date
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
Émilie Feral
a8fe8dc22e [apps] Calculation: input text stores in cache have to be checked again
when used as its length context dependent (because of 'ans' symbol)
2018-02-01 11:49:39 +01:00