Commit Graph

43 Commits

Author SHA1 Message Date
Émilie Feral
23da0d3f2c [ion] Namespace Ion::UTF8Helper and Ion::UTF8Decoder 2019-04-29 18:01:30 +02:00
Émilie Feral
0e5d29950a [code] Get rid of unused member variable in VariableBoxController 2019-04-12 15:16:52 +02:00
Léa Saviot
a214bbdc5a [unicode] Use unicode when dealing with chars - Part 2 2019-04-12 15:16:51 +02:00
Romain Goyet
4f2c7a3763 [build] Update the i18n processing to fit the out-of-tree build 2019-03-06 15:00:59 +01:00
Léa Saviot
58f94f5e5f [apps/code] Check that app can be exited before switching to DFU
This fixes the following crash: create a script which contains only
"input()". Execute it, then while in the input, plug in the calculator.
When un-plugging it, the device crashes.
2019-01-07 13:36:01 +01:00
Léa Saviot
1782326ed8 [apps/code] Clean ConsoleController code 2019-01-07 13:36:01 +01:00
Léa Saviot
8830821d0e [apps/code/python] Inline and indent some code 2019-01-07 13:36:01 +01:00
Émilie Feral
916493a4d2 [apps] Reset (exam mode) delete all records at once 2018-11-23 12:04:10 +01:00
Émilie Feral
a4f7d83805 [code] Load Variable box content before compiling any other python code
to avoid memory exhaustion when displaying variable box
2018-11-23 12:04:03 +01:00
Émilie Feral
0a823da78c [escher] Variable box pop-up is handle as Toolbox pop-up by asking
InputEventHandlerDelegate
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
01e433a9f2 [escher] Clean Field and Input class hierarchy:
Class hierarchy:
- InputEventHandler
- TextInput
- EditableField derives from InputEventHandler
- LayoutField, TextField and ExpressioField derives from EditableField
- TextArea and TextField derives from TextInput
2018-11-23 12:04:02 +01:00
Émilie Feral
58ad8bd87e [code] Fix handling of python heap by ConsoleController,
EditorController and VariableBoxController
2018-09-20 11:54:56 +02:00
Émilie Feral
afce751eb7 [code] Get rid of malloc: keep a buffer in Code::App to be used as python heap 2018-09-19 18:20:30 +02:00
Émilie Feral
d2ed06e2dc [code] Add comment on how --code-script option is parsed 2018-09-11 17:03:04 +02:00
Émilie Feral
79740e72b0 [code] Avoid dynamic allocation and useless string copy by keeping the
importation status flag in the areaBuffer
2018-09-11 17:03:04 +02:00
Émilie Feral
9182d66fcc [apps] Apps are not allocated on the heap anymore but in a union hold by
the AppsContainerStorage
2018-09-06 09:49:38 +02:00
Émilie Feral
317e1f0389 [code] Enable interrupting an infinite input() loop when clicking on home 2018-06-12 16:52:12 +02:00
Romain Goyet
c0d3b97c6b [apps/code] Fix getopt handling 2018-06-05 13:57:04 +02:00
Émilie Feral
da8286d3f7 [code] Escaping the input loop on a 'home' event should be handled by
the code app instead of the console controller to ensure to escape the
input loop even when the toolbox (or any modal) is displayed
2018-05-23 10:01:15 +02:00
Émilie Feral
5cfe20ad15 [code] Move ConsoleController from MenuController to App 2018-05-23 10:01:15 +02:00
Émilie Feral
3db86a8111 [apps] Code: merge actions for text input in ConsoleController and
EditorController
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
Léa Saviot
e6b4d07cb6 [code] Dynamic toolbox that displays script functions and variables.
Change-Id: Id1494580b3832540633d3aefaf04710d21e0a44c
2017-12-01 12:06:05 +01:00
Léa Saviot
07bc7672e8 [code] Fixed cursor bug when inserting text in editor.
Now the cursor moves only if the insterion was successful.

Change-Id: If2f74307aecd4b9b86183a3437a53fd8875c1751
2017-11-21 17:37:48 +01:00
Léa Saviot
f2e2e93888 [code] Larger console button in MenuController.
Change-Id: Ia8a495d4de95a4a9d6fee698975b2c7e831c4c43
2017-11-17 14:05:23 +01:00
Léa Saviot
59c840ef9a [code] Auto-indentation when inserting Toolbox items in scripts.
Change-Id: Id444ab91965999a3d322dee2fa58f73c86aa6992
2017-11-17 14:05:23 +01:00
Léa Saviot
13bf8c2d62 [code] Python toolbox.
Change-Id: I4028b05c662cae04a5ac3af5021f3438bb22dcd0
2017-11-17 11:59:50 +01:00
Léa Saviot
745eddfa05 [code] Added default Fibonacci script.
Change-Id: I2766fa542ee64722018486a874e9855a5976a788
2017-11-17 11:59:50 +01:00
Léa Saviot
fbb5c70339 [code] Cleaned Script and ScriptStore classes, created accordion.h
A Script object now contains its AutoImport marker, its name and its
content. The ScripStore methods have better names and the optimization
is cleaner.

Change-Id: I1b21af2d23f1c9a34f984309512b0c01b2f1c320
2017-11-17 11:59:50 +01:00
Léa Saviot
a14cfd0aea [code] Script names are displayed and can be edited.
Change-Id: I5acc468920b66673e78da130bf90a74d0c062211
2017-11-17 11:59:50 +01:00
Léa Saviot
5de4b5cd67 [code] Each script has a name, stored in the accordeon buffer.
A script can now be imported in the console.
Moved all the MicroPython functions to python/port files.

Change-Id: I0a23e8cb20005719b800e81470e1c574c702c3b7
2017-11-17 11:59:50 +01:00
Léa Saviot
f3200fe2e9 [code] Program store that uses an accordeon buffer to store the
programs. The user can now add scripts.
A contextual menu displays various options when clicking on a script,
such as editing.

Change-Id: I124a17f7584b0beedb897e8499ca0a1bb6c13cbe
2017-11-17 11:59:50 +01:00
Léa Saviot
adabf95b59 [code] The interface is a list with a button at the bottom to
start the console.

Change-Id: I4a4a432db2d4cdc72e9a0ad7aa5904c1ded3c0e1
2017-11-17 11:59:50 +01:00
Léa Saviot
493cef0d4d [code] Python console that stores and displays commands that are
entered.

Change-Id: I0343c38b60f4bbea6dfab173e2b5f46f66b83251
2017-11-17 11:59:50 +01:00
Émilie Feral
f5d5db6062 [apps/shared] In message controller, enable to choose message colors and
message texts

Change-Id: I1bf1eb8d5dd2a93d0a6f5bbff13fe4d1de66d920
2017-08-17 16:21:22 +02:00
Émilie Feral
304bbf18b9 [apps/code] Split the editor in editor and executor
Change-Id: I862deeb4fd84e8fb77bf880095f80c1a2a4d8c5d
2017-08-17 16:21:22 +02:00
Émilie Feral
eec8c7f1ce [apps/code] Add a model program
Change-Id: I79b74f1f245d98d1ce02a590ee25de2c4fbb3c59
2017-08-17 16:21:21 +02:00
Émilie Feral
8b6dfdc3f9 [apps/code] Add a menu to edit and execute the program
Change-Id: I036e5a32fa6823b25af4ccd742967841579d7639
2017-08-17 16:21:21 +02:00
Émilie Feral
f434cda428 [code] Add a pop up to warn about beta version
Change-Id: I4301c7a53d0d43bb1e322b9e3e1587ec2040e0b8
2017-08-17 16:21:21 +02:00
Émilie Feral
bb5523b747 [python] Change app name and icon
Change-Id: I0c505d08a464d63200bd5e1e0dc81825632691e5
2017-08-17 16:21:21 +02:00
Romain Goyet
19cf3a4958 [apps] Add a code app
Change-Id: Icc72c378a6434b5d3b0af74f23e31ea7514882b8
2017-08-03 23:28:56 +02:00