Commit Graph

182 Commits

Author SHA1 Message Date
Léa Saviot
82d5ff7799 [ion/unicode] Clean special code points 2019-04-12 15:16:53 +02:00
Émilie Feral
58f9a59d6e [ion] Move Storage extensions declaration in Storage class 2019-04-12 15:16:52 +02:00
Émilie Feral
adc30a8dcd [ion] Add Macro to log the storage content 2019-04-12 15:16:52 +02:00
Léa Saviot
2d83c2994c [escher] Fix TextArea::handleEventWithText
It did not handle properly a new line (placed the cursor wrongly).
2019-04-12 15:16:52 +02:00
Léa Saviot
e6d8820c08 [unicode] Comment about avoiding accents in literals 2019-04-12 15:16:52 +02:00
Léa Saviot
7b5636f298 [unicode] Clean decoder use 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
Léa Saviot
f4cf7530f6 [unicode] Fix stop condition of CopyAndRemoveCodePoint 2019-04-12 15:16:51 +02:00
Léa Saviot
646931b3b5 [text_area] Fix Text::Position use with unicode
A glyph offset is not equivalent to a code point offset since a code
point can be several glyphs long.
2019-04-12 15:16:51 +02:00
Léa Saviot
5be803ac45 [unicode] Fix python area 2019-04-12 15:16:51 +02:00
Léa Saviot
784381bd33 [unicode] Use unicode when dealing with chars - Part 1 2019-04-12 15:16:51 +02:00
Léa Saviot
79dc1dc2b9 Remove compilation warnings 2019-04-12 15:16:51 +02:00
Léa Saviot
0ebfab773e [escher/ion] Factorize code for removing a code point in text field/area 2019-04-12 15:16:51 +02:00
Léa Saviot
aac78ca32a [escher/ion] Standard methods in UTF8Helper used in text_area
String manipulations need to be done using an UTF8 decoder, but some
manipulations can be optimized if the code points we manipulate are only
one char long. These optimizations are done inside UTF8Helper methods.
2019-04-12 15:16:51 +02:00
Léa Saviot
e6051fae42 [unicode] Methods optimized when code points are one char long 2019-04-12 15:16:51 +02:00
Léa Saviot
b6eb663f53 [ion/kandinsky] Move unicode to ion 2019-04-12 15:16:51 +02:00
Léa Saviot
63d7155376 Remove Ion::Charset 2019-04-12 15:16:50 +02:00
Romain Goyet
9bd4922389 [ion] Define Ion::Keyboard::Key::None 2019-03-08 14:05:23 +01:00
Léa Saviot
a6a2baeb01 [simulator] Process more keyboard event, such as ! ? ; 2019-01-21 12:10:37 +01:00
Léa Saviot
cea413e91d [apps] Fix Orthonormal setting in graphs
It was not perfectly orthormal.
2019-01-10 11:42:02 +01:00
Léa Saviot
de339c44ae [apps] Handle StorageFunction::m_color unaligned read on emscripten 2018-12-12 17:49:51 +01:00
Léa Saviot
0ecaea0695 [poincare] Fix power serialization 2018-11-26 14:07:42 +01:00
Émilie Feral
0a9437e8dc [ion] Storage: add a method destroyAllRecords 2018-11-23 12:04:10 +01:00
Léa Saviot
67f940dfd2 [poincare] Fix VerticalOffsetLayout serialization
"2^3 !" would be serialized as "2^3*!", which is wrong. It is now serialized
as "2 Ion::Charset::Superscript 3 Ion::Charset::Superscript !" and
parsed correctly.
2018-11-23 12:04:09 +01:00
Léa Saviot
0670057f90 [apps/graph] Destroy variable record with same name when renaming func 2018-11-23 12:04:06 +01:00
Léa Saviot
91d6955ddf [apps] The apps displays a warning when storage is full 2018-11-23 12:04:04 +01:00
Léa Saviot
9bfaed583d [apps/escher/ion] Remove Graph memoized models on storage change 2018-11-23 12:04:03 +01:00
Léa Saviot
38f3c5b16d [ion] Storage delegate gets notified of storage changes 2018-11-23 12:04:03 +01:00
Léa Saviot
933838ff5e [apps/graph] Rename functions 2018-11-23 12:04:02 +01:00
Léa Saviot
2442627e3c [apps] Remove attributes from StorageExpressionModel and derivates 2018-11-23 12:04:00 +01:00
Léa Saviot
ac1e79f907 [apps/graph] Display the function's whole name 2018-11-23 12:04:00 +01:00
Léa Saviot
354b6e9c72 [apps] First attempt at bridging Funciton app with the shared storage 2018-11-23 12:04:00 +01:00
Léa Saviot
1830070a95 [ion] Method to destroy all records with given extension in Storage 2018-11-23 12:03:59 +01:00
Léa Saviot
5a5deedb84 [ion] Coding style of static functions in Storage 2018-11-23 12:03:59 +01:00
Léa Saviot
6993d45fe9 [ion] Add crc32 test 2018-11-23 12:03:59 +01:00
Léa Saviot
1fe6881171 [ion] Fix coputation of Record name crc32 2018-11-23 12:03:59 +01:00
Léa Saviot
868f17c1c7 [ion] Add method implementation in Storage 2018-11-23 12:03:58 +01:00
Léa Saviot
52a21198a4 [apps/ion] Use the new storage API 2018-11-23 12:03:58 +01:00
Léa Saviot
11b98bb13e [ion] Add test on Storage 2018-11-23 12:03:58 +01:00
Léa Saviot
a4868c8b09 [poincare] Ion::Storage handles fullnames and basenames with extensions 2018-11-23 12:03:58 +01:00
Romain Goyet
a3d6d6ddd6 [ion/timing] Cleanup 2018-11-15 16:19:07 +01:00
Romain Goyet
888d6cf7f4 [ion/timing] millis return uint64_t
Otherwise we could loop after a month or so
2018-11-15 15:20:12 +01:00
Romain Goyet
07a768ace6 [ion/timing] Use explicit integer types 2018-11-15 15:18:19 +01:00
Romain Goyet
1b57bc39c0 [ion] Discard micros() as those aren't used for now 2018-11-15 14:12:17 +01:00
Damien Nicolet
24630011b1 [code] keep only CPython equivalent functions in utime module 2018-11-10 00:00:03 +01:00
Damien Nicolet
9b818bd963 [ion] fix sleep functions in emscripten build 2018-11-09 01:36:38 +01:00
Damien Nicolet
f93bf97182 [ion] Sharing millis & micros for blackbox and simulator 2018-11-09 01:30:22 +01:00
Damien Nicolet
c0c0905b84 [ion] millis() and micros() returns uint32_t and are defined in their own header 2018-11-09 01:30:22 +01:00
Damien Nicolet
940270e78a [ion] add millis() and micros() using systick on device 2018-11-09 01:30:22 +01:00
Romain Goyet
9825c73238 [ion/emscripten] Actual implementation of Ion::Keyboard::scan
This allows interrupting Python scripts on the Emscripten port
2018-11-08 17:11:17 +01:00