Commit Graph

605 Commits

Author SHA1 Message Date
Léa Saviot
8778516fe2 [escher] expressionLayoutFieldDidChangeSize reloads only the modalView
Change-Id: Ib406c7d10e2befae9d660e025c84df58a2e9b70c
2018-04-25 15:15:12 +02:00
Léa Saviot
f6c3f7b0e9 [poincare] Remove old expression_view_with_cursor.h file
Change-Id: I0f96e79fdf2d374c88c0f590101ff4e7205dcb54
2018-04-25 13:58:42 +02:00
Léa Saviot
772187725c [escher/poincare] Missing "override" keywords.
Change-Id: Icbb9e25cb0983eb27913a4a7efd358a971664b7e
2018-04-25 13:58:42 +02:00
Léa Saviot
0ae7c8a723 [xnt] Insert the right XNT char.
Change-Id: Ibc91a2ece310313fb368a68483c5a1b6fe14aad2
2018-04-25 13:58:42 +02:00
Léa Saviot
13ae1d2545 [apps/escher/toolbox] handleEventWithText for all responders.
This makes the code in the various toolbox more generic. The arguments
of the text to insert are each replaced by a Ion::Charset::Empty.
These Empty chars are used to create layouts in ExpressionLayoutFields,
and to compute the position of the cursor in other fields, before being
removed.

Change-Id: Ie81c1e394b06fef2ab801ccff919d6550f70ec30
2018-04-23 17:18:48 +02:00
Léa Saviot
d436e06a73 [escher] ~InputViewController and rule of 5
Change-Id: Iec7a3f005df01c59162c8898e136d94f7e69c236
2018-04-23 11:34:01 +02:00
Léa Saviot
ce056e085b [escher] Remove View::frame(), create TextCursorView::frame()
Change-Id: I69c1aa5e94d93d2832564040abcca62bddc377ae
2018-04-23 11:34:00 +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
9e87172800 [poincare] moveLeft renamed cursorOnLeft, same for other directions
Change-Id: Ic46604ea81eabdb2e10755a67307169d90654efd
2018-04-23 09:41:19 +02:00
Léa Saviot
b90dea7cee [escher] Rename frame() method in ModalViewController.
Change-Id: I157b3fb20af5cb3013d53bef51ba98d192654409
2018-04-19 16:31:35 +02:00
Romain Goyet
84561a929f [escher] Clean the ScrollView, TableView and SelectableTableView constructors 2018-04-18 18:08:07 +02:00
Léa Saviot
c4b5d4cf40 Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
b0ede47d55 [ion] Change Storage design (former kallax) 2018-03-22 14:01:38 +01:00
Émilie Feral
aa984bca74 [escher][ion] Move Record and Kallax in Ion/ 2018-03-22 14:01:38 +01:00
Émilie Feral
b9a852a9d1 [escher] Change name: File --> Record, FileSystem --> Kallax 2018-03-22 14:01:38 +01:00
Émilie Feral
338ee4e0b0 [escher] Indicate the address of the file system in the header section
of the flash
2018-03-22 14:01:38 +01:00
Émilie Feral
19ca0f0640 [apps] Code: use the FileSystem to store the scripts instead of an
accordion
2018-03-22 14:01:38 +01:00
Émilie Feral
c37696133d [escher] Create class File and FileSystem 2018-03-22 14:01:38 +01:00
Émilie Feral
aade7cb2fe [escher] Create a class TextInput (from which derived TextField,
TextArea)
2018-03-22 13:12:12 +01:00
Émilie Feral
c50e57029b [escher] TextInputHelper: special case for 'random()' and handle
parenthesis already completed (ie 'u(n)')
2018-03-22 13:12:12 +01: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
c5e525ddb7 Enable to give options at run-time 2018-03-22 11:58:56 +01:00
Émilie Feral
2b0b40d6d6 [escher] TextField: force layout after scroll reload when the content
size of scrollview might have changed
2018-03-22 10:22:18 +01:00
Émilie Feral
9dd637f7c3 [apps] Settings: clean number of rows 2018-03-22 10:19:15 +01:00
Romain Goyet
67f082f4e8 [emscripten] Use emterpreter
This allows us to control the runloop
2018-02-01 14:10:26 +01:00
Romain Goyet
314fde955a [escher] Add a PointerTextView class 2018-02-01 14:10:26 +01:00
Romain Goyet
0682d21a32 [python] Implement ExecutionEnvironment::input
By using a re-entrant RunLoop call
2018-02-01 14:10:26 +01:00
Émilie Feral
2a207e59ac [apps] Probability: fix scrolling in calculation cells 2018-01-30 18:09:59 +01:00
Émilie Feral
5d8256435e [apps] Probability: fix bug; in calculation controller, when reloading cells after editing textfield, do not reload selection (it corrupts the responder chain if the first reponder was a modal view for ex) 2018-01-30 18:09:59 +01:00
Émilie Feral
126212e25b [escher] SelectableTableView: add an option when reloading data 2018-01-30 18:09:59 +01:00
Léa Saviot
f38bbff447 [escher] Fix responder order bug.
EditableExpressionView cannot pass the first responder state to one of
its children, otherwise Calculation::EditableExpressionView's overriden
handleEvent method is never called.

Change-Id: Id2b56b9501e67431e860573cf4c62a16651c3958
2018-01-24 10:20:09 +01:00
Léa Saviot
2929409d3e [escher] Comment about implementing a split view for InputViewController
Change-Id: I46b50bac50f958fad956696a02d334a690b0a2b2
2018-01-23 10:28:02 +01:00
Léa Saviot
a2c0eaa20b [apps/escher] Remove textFieldDidAbortEditing const char * argument.
Also removed the same argument in scrollableExpressionViewWithCursorDidAbortEditing.

Change-Id: Iadc6b708cfc0fab44b9fd4edb980cb759d41e8d0
2018-01-23 10:28:02 +01:00
Léa Saviot
4d778b5d9f [apps/escher/poincare] Use 2D Edition in Sequence and Graph apps.
EditableExpressionView is renamed ScrollableViewWithCursor.
EditableExpressionView is now a View that displays either a TextField or
a ScrollableViewWithCursor, depending on Poincare::Preferences.

Change-Id: Id44ddcd9a83f5fd17d65753ca4c94c5c7cda9b8a
2018-01-23 10:28:02 +01:00
Léa Saviot
2cb8956665 [apps/math_toolbox] Remove the pointedPath from ToolboxMessageTree.
Change-Id: I2deb6564321da13ea27975216aa949b68298533c
2018-01-19 16:18:55 +01:00
Léa Saviot
1ad4e6e744 [escher/poincare] Remove unneeded layout computation.
When moving a cursor in an EditableExpressionView, do not recompute the
layout, unless specified otherwise (for instance when entering or
exiting a MatrixLayout).

Change-Id: Ic2471095d6f6a08014a79f1d9d8fb7d39a1a6864
2018-01-18 17:55:16 +01:00
Léa Saviot
f50391689f [apps/calculation] Handle OK event in calculation history.
Change-Id: I3e4c309a3bc031476eea0d64d433b535b1220a8f
2018-01-16 16:43:40 +01:00
Léa Saviot
1d701f3305 [apps] Handle EditableExpressionView in VariableBoxController.
Change-Id: Ibd5f1b1a8999241c8aa818a075f48adb28c4032e
2018-01-16 16:43:40 +01:00
Léa Saviot
e1235cdb4f [escher] EditableExpressionView: Remove the cursor when not editing.
Change-Id: If333f6074bce39d71ceb89b9424f7fec26a1f0c6
2018-01-16 16:43:40 +01:00
Léa Saviot
53556ffacf [apps/calculation] Handle "ans" event in EditableExpressionView.
Change-Id: I7761f36b5a94bb5c8190cd5b238542280666c256
2018-01-16 16:43:38 +01:00
Léa Saviot
91c05b3bb7 [apps/calculation] EditableExpressionView in calculation app.
Change-Id: I8b67353682652695f7296f0222939930f4b21794
2018-01-16 16:43:15 +01:00
Émilie Feral
1912ad0379 [escher] Bug in dirty tracking in text field: the cursor width was
forgotten
2018-01-16 13:20:31 +01:00
Émilie Feral
4a3b935e7b [apps] Python: in the menu controller, the editable cells holding the
script names are not responder as long as they are not set as first
responder manually by renameSelectedScript for instance
2018-01-16 13:18:20 +01:00
Léa Saviot
c0a3aadae4 [escher] EditableExpressionView, its delegate and EVWithCursor.
Change-Id: Icb05c756ff17e43a7b306bec685a6040eaec303a
2018-01-15 12:14:09 +01:00
Léa Saviot
1967fce13a [apps] Toolbox layouts are created by parsing the command of the cell.
Change-Id: I511e8af2b2247d1df3ca968191566c2b3f01fe11
2018-01-15 11:58:06 +01:00
Léa Saviot
406d108aa5 [poincare] Sandardize Bracket and Parenthesis minimal height.
Change-Id: Iadfce26575d77182ecc12dd100fa9b70b9062802
2018-01-15 11:58:03 +01:00
Léa Saviot
14f2e08872 [poincare/escher] Tell which layout is pointed when adding from toolbox.
Change-Id: I84c82ea887e3e7759da7d407532dc7d63174f1ac
2018-01-15 11:58:02 +01:00