Commit Graph

28 Commits

Author SHA1 Message Date
Laury
3e42d4847a Revert "[storage] Possibility to store metadata with records (cursor in scripts)" 2022-05-19 19:52:45 +02:00
Laury
77352e34b5 [storage] Possibility to store metadata with records (cursor in scripts) 2022-04-15 22:30:53 +02:00
Laury
7e64124ddc Revert #113 because of incompatibility with the workshop 2022-03-31 22:19:54 +02:00
Yaya-Cout
8126e0da7e Fix cursor storage (#120) 2022-01-10 20:53:38 +01:00
devdl11
0860e48cb6 For those who likes to code ❤ (#113) 2021-12-28 15:13:01 +01:00
Hugo Saint-Vignes
d937bc692b [apps/code] Fix crashes on full buffer
Change-Id: If9297f1ca29015cad0cc1cdda3ad610fd1493392
2020-11-04 15:11:45 +01:00
Léa Saviot
1ccb55a16e [apps/code] Fix script importation status
Scenario: Execute the script parabola.py, open the variable box, select
any leaf, enter, open the variable box again -> no variables are loaded
anymore
2020-06-09 15:12:13 +02:00
Léa Saviot
9a1ff2bd33 [apps/code] Status at the beginning of a script is one byte long
This saves space + avoids clashes with the NumWorks Workshop when
exchanging scripts
2020-06-05 11:28:12 +02:00
Léa Saviot
1635f6132b [apps/code] Fix circular importation in the variable box
Scenario (crashed only on the calculator):

script1.py
from script2 import *
a=1

script2.py
from script1 import *
b=2
2020-06-04 14:50:10 +02:00
Léa Saviot
6819041c1d [apps/code] Remove TODOs 2020-06-04 14:50:10 +02:00
Léa Saviot
8ed902ceb2 [app/code] Comment about ContentFetchedFromConsoleStatus in Script 2020-06-04 14:50:06 +02:00
Léa Saviot
cf6b9d580b [apps/code] rename Script::scriptContent() -> Script::content() 2020-06-04 14:50:06 +02:00
Léa Saviot
d1c8bbdaf7 [apps/code] The console marks imported script for the var box
After lauching the console, if we fetch a script we mark it as fetched.
When the variable box displays variables from imported scripts, it scans
all the variables from the scripts marked as fetched.
2020-06-04 14:50:06 +02:00
Léa Saviot
9e973adbab [apps/code] VarBox from console 2020-06-04 14:50:06 +02:00
Léa Saviot
4fb0a7e467 [apps/code] properly display the importation source
- It sould be nameOfScript.py, not just nameOfScript, when the source is
a script
- Fix the source for script name variables. For instance, "from
script1 import *" should display the node "script1" with the source "script1.py"
- If a script has the same name as a module, the module will be imported
and not the script, so do not load its variables (even if the module is
not in the toolbox).
2020-06-04 14:50:06 +02:00
Léa Saviot
5853e96947 [apps/code] Remove EditorController::m_areaBuffer
This was a very large buffer that took a lot of RAM space (the size of
the storage). Instead of having it, we just move the available space of
the storage at the end of the edited script, and move it back when the
edition finishes.
This is slower but saves a lot of space.
2020-02-12 15:13:16 +01:00
Léa Saviot
e74e15eaf7 [apps/code] Handle too many Script default names used
When adding to many scripts without naming them, one can overflow the
number of default generated script names, in which case we force the
user to enter a name.
2018-11-23 12:04:05 +01:00
Léa Saviot
fd533834ef [apps/code] Default script name is in class Script, not menu controller 2018-11-23 12:04:04 +01:00
Émilie Feral
08077cb141 [ion] Storage: make Storage::nameCompliant less restrictive (accepts
.*\.[a-z]+). But Script::nameCompliant is stricted: [a-z_0-9.]*
2018-09-13 11:33:15 +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
b0ede47d55 [ion] Change Storage design (former kallax) 2018-03-22 14:01:38 +01:00
Émilie Feral
f9656fd94f [ion] Namespace Record and 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
19ca0f0640 [apps] Code: use the FileSystem to store the scripts instead of an
accordion
2018-03-22 14:01:38 +01:00
Léa Saviot
35520fb3d4 [code] Scripts can be automatically imported when the console is opened.
Editing, renaming, deleting or changing the auto-importation of a script
triggers the reloading of the console (the history is cleared, Python
restarted and the scripts re-imported).

Change-Id: If8b933cc077ecd36cab09214b5e7a181aa3ae030
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
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