Commit Graph

1436 Commits

Author SHA1 Message Date
Émilie Feral
a5c984fce3 [apps] Calculation: change the grey of approximate output
Change-Id: Iac001fc581544af0634ad1d7765074f69aa07809
2017-11-23 11:49:52 +01:00
Émilie Feral
8f4c49d8c1 [apps] In calculation, fix the almostEqual aligmnent
Change-Id: I26eca4c9c2b5a3b1ad05567e8d5daf76922f2cb7
2017-11-22 14:38:53 +01:00
Romain Goyet
52bdf4a41f Merge branch 'cas_with_app_copy' into python_console 2017-11-21 18:44:38 +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
711f78f837 [code] Added Kandinsky module and other functions in Toolbox.
Change-Id: I81a1323993c91990b13e81cbf4ea2af1ace8ef11
2017-11-21 17:37:48 +01:00
Léa Saviot
c537a59006 [code] Removed "input()" and Random module from the Toolbox catalog.
Change-Id: Id9e99cc908d533f018b1fe28f60b6fa26d8ea546
2017-11-21 17:37:48 +01:00
Léa Saviot
f7a6e615ca [code] The cursor in a toolbox command does not go before a point.
The cursor now goes either after the first open parenthesis or at the
end of the command.
Fixed z.real and z.imag.

Change-Id: I46ca3be0415832fd91273ca7fed12ed3d6f125dc
2017-11-21 17:37:48 +01:00
Émilie Feral
7c772d85b7 [apps] In calculation, do not display exact output if it is identical to input
Change-Id: I4b0733c7e3090bc2b04c68661bd34cf0b6da17f1
2017-11-21 17:37:25 +01:00
Émilie Feral
b2d6c2e305 [apps] In calculation, avoid blinking when changing selection
Change-Id: I8b94362183e1aed0d87cfdfa39b3f67ccbbd8b42
2017-11-21 17:37:25 +01:00
Émilie Feral
35b979798d [escher] Optimize redrawing when changing features in cells (color,
highlight, even)

Change-Id: I0afa8b6fad656d578bb8e071183646196bc816f9
2017-11-21 17:37:25 +01:00
Émilie Feral
5e822a8001 [apps] In calculation, fix scrolling between approximate and exact
outputs

Change-Id: I8920cc3eab9f72d4b82cf2361bd1eba02232a268
2017-11-21 17:37:25 +01:00
Émilie Feral
7d30801e68 [apps] Change output colors
Change-Id: Ic8cb3f6bf3130c8b5e4c84edc1513353631d0336
2017-11-21 17:37:25 +01:00
Émilie Feral
fe73c69b11 [apps] In calculation, swap exact and approximate outputs
Change-Id: I0cbce8b56a37b31d3249a53b35d69098a8d45c78
2017-11-21 17:37:25 +01:00
Émilie Feral
65722ff875 [apps] Fix bug when computing the history cell height in Calculation
Change-Id: Ic45f3da26a47b189ef6050d68c25f27c9a1f4bb7
2017-11-21 17:37:25 +01:00
Émilie Feral
bb590bc529 [apps/calculation] Valgrind: fix call to deleted memory
Change-Id: I36e25684dfd260e04ce29fe0698c179e372030d4
2017-11-21 17:37:25 +01:00
Émilie Feral
5fd8fda4b1 [calculation] Display exact and approximate results
Change-Id: Id5fe5b5db464c45f09bd1a1285def95e738a78c7
2017-11-21 17:37:25 +01:00
Émilie Feral
6c51c584f2 [apps] Change Calculation to hold an exact and an approximate output
Change-Id: I1805839e17cd42b82f06ce0a320d20b49cd2a6cd
2017-11-21 17:37:25 +01:00
Léa Saviot
92789330de [code] Search function in the code Toolbox.
When the user types a letter, the toolbox scrolls to the first row that begins
with said letter (without considering if it is lower or upper case). If
there is not such a row, the toolbox scrolls to the first row that has a
letter higher than the typed letter.

Change-Id: I353d23560d8a4d618d96426c393b024e7fb487af
2017-11-21 17:30:04 +01:00
Léa Saviot
95bf921138 [code] The Mandelbrot script now uses complex numbers.
Change-Id: I47f14d414c86c09f85093c201d16ef71ce028510
2017-11-21 17:12:42 +01:00
Léa Saviot
a9f4da92c0 [code/python] Fixed the Kandinsky module in Python.
User can draw on the 320*220 drawing screen.

Change-Id: I25034b05f21aacc35608358fdb7a4d9924dd22e8
2017-11-21 17:12:38 +01:00
Léa Saviot
c8a5f4dbe2 [code] Fixed bug in console history copy-paste.
The ConsoleController also tried to copy-paste the edit textfield.

Change-Id: Ib1e8d003a9c4793c0666d489f4b4278759eff484
2017-11-17 14:05:23 +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
c543145aae [code] Optimized MenuController's script list scrolling speed.
To know if the AddScript row should be displayed, we need to compute the free
space size of the accordion, which is very slow. We thus memoized a bool
indicating if the AddScript row should be displayed.

Change-Id: Ia3891c0fc8df9b0b8bf2a9ad053be6dfc848c970
2017-11-17 14:05:23 +01:00
Léa Saviot
6baaa8547a [code] Execute a script from the script options.
A button in the options opens the console, with only the current script
imported.

Change-Id: Ia3053534d6fdb2bd1340ce3c42b7249510c97bbc
2017-11-17 14:05:23 +01:00
Léa Saviot
57633829a9 [code] Split the Menu Controller in two columns.
The scripts names are on the right and open the script edition.
The left cells open the script options.

Change-Id: I3fbab8c3861f3395c3206775c92cda3470963b26
2017-11-17 14:05:23 +01:00
Léa Saviot
c294c15072 [code] Changed script auto importation label.
Change-Id: Iead9dc6499f2ba7f909a791a29045d88241cd86c
2017-11-17 14:05:23 +01:00
Léa Saviot
b73170b77b [code] Print errors in the Python console.
Change-Id: If3a096ee46105229b6c4c77906826e78666cdc11
2017-11-17 14:05:23 +01:00
Léa Saviot
07c6acada4 [escher/code] Move Accordion from escher/ to apps/code/.
Change-Id: Id90ef9791f8c18bcdce497b8e20f060314f7b58b
2017-11-17 14:05:23 +01:00
Léa Saviot
414e537969 [code] Empty console commands are not accepted.
Change-Id: Ie6affec97669312566c1b360bb2220f2c8723219
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
4f74b6d849 [code] The addScript button disappears when needed.
When there is already the maximal number of scripts or when the
ScriptStore accordion buffer is full.

Change-Id: I0d43d42626da7f060a2309c66f1806b35a29bf38
2017-11-17 14:05:23 +01:00
Léa Saviot
07bffe9069 [code] Increased memory allocated for scripts to 4096.
Change-Id: Ida0c3190e4aa21a2e373bf3d1561a97006c84e4b
2017-11-17 11:59:50 +01:00
Léa Saviot
4194165217 [apps] Fixed size_t / int comparison warnings.
Change-Id: I08bae0d687a52d708053c4279f68b42c5bb5d180
2017-11-17 11:59:50 +01:00
Léa Saviot
42e6435973 [code] Fixed Script edition cursor bugs.
The scroll is now reloaded when text is inserted or a new line is
entered. When opening a script, the cursor moves to the end of the
script.

Change-Id: I027ea80db485916fc3fc962cfa9e032ca0bbc81e
2017-11-17 11:59:50 +01:00
Léa Saviot
8668de21a1 [code] MathToolbox cleaning.
Removed some constants by computing the text to insert in the textfield from the command
with arguments. Used the TextToInsertForCommandMessage method from
toolbox_helpers.h.

Change-Id: I864ad886fb74882f476d74160e427595be27df40
2017-11-17 11:59:50 +01:00
Léa Saviot
13bf8c2d62 [code] Python toolbox.
Change-Id: I4028b05c662cae04a5ac3af5021f3438bb22dcd0
2017-11-17 11:59:50 +01:00
Léa Saviot
a19377ad5e [code] Default numbered script names (e.g. script1.py)
When the script name is empty after renaming a script, a default new name is
given. We look for the first available scriptI.py name, with 0<I<100.

Change-Id: If17f1df95c552320c0412ce652e7ae7e0cfd9cbc
2017-11-17 11:59:50 +01:00
Léa Saviot
2456c7eeba [code] Improved console command editing.
When the user scrolls the history, the draft command is not erased.
When pasting a previous command, the text is inserted at the cursor
location.

Change-Id: I1cd9645de74f34fad4ed0898203e05bd3352456a
2017-11-17 11:59:50 +01:00
Léa Saviot
59d0e6dabf [code] Left/right navigation in the console history.
Change-Id: Ibbd534aa80f2f8dcb41d10e38f4abfcc7dbfd4a7
2017-11-17 11:59:50 +01:00
Léa Saviot
ce51228ca8 [escher/code] Changed Console and TitleBar margins.
Change-Id: I8ac4d84da84e0194122f34bb6259a1a7b6a1c81e
2017-11-17 11:59:50 +01:00
Léa Saviot
fbdf6379d8 [code] Script editor and Console are stacked.
Before, they appeared in modal views.

Change-Id: I42ea742370cd3cf0854965f67fc44b43db4cc309
2017-11-17 11:59:50 +01:00
Léa Saviot
eadf4a018a [escher] New handling of stack view headers in StackViewController.
A boolean in ViewController states if the ViewController wants MaximumSpace (do
not show any stack view headers), or if it does not want to add its own title to
the stack view headers. If the ViewController's title is null, it is not added
to the stack view headers.
By default, ButtonRowControllers do not want to add their title (because they
are only used for now in TabViews, where the title is already displayed in the
tab).

Change-Id: I9e4c64b845262e4d44eb03cf769950f9c9e67a3a
2017-11-17 11:59:50 +01:00
Léa Saviot
68e237702b [escher/apps] Factorization of Toolbox.
MathToolbox methods moved to its parent, Toolbox (in escher).
Node and ToolboxNode classes renamed MessageTree and ToolboxMessageTree.
They are now in escher/, not in apps/.

Change-Id: Ibb26b0e9016094cef79506a1e9fc6dfb492d7103
2017-11-17 11:59:50 +01:00
Léa Saviot
fc603df886 [code] Activate AlphaLock mode when renaming a script.
Default Alphalock mode when finishing or aborting edition.

Change-Id: I6455d5e18957c822de34271c53b64be43a5099ea
2017-11-17 11:59:50 +01:00
Léa Saviot
98f2db900c [apps] Cleaned useless functions for updating the title bar.
Change-Id: I119d1bd29aef1be4b65a9281d21400b81f801cc6
2017-11-17 11:59:50 +01:00
Léa Saviot
6ee47d6168 [code] Prevent script name extension edition.
Change-Id: I4ac8d032fd88b853670afeebaecc8d6fd5ef981d
2017-11-17 11:59:50 +01:00
Léa Saviot
95c6d9532b [escher] Fixed TextField.
A TextField delegate should process events before the TextField itself.
EditableCellTableViewController now verifies the position of the cursor to
determine if a Left or Right event should finish the TextField edition.

Change-Id: I6c8e78d6d02c7ab87e7d81770b4242a16fecde32
2017-11-17 11:59:50 +01:00
Léa Saviot
b7baec4a40 [code] Keyboard events translation, for script or command edition.
For instance, the "power" event should insert "**" in the text, not "^".
Added a universal i18n file in apps/code.

Change-Id: I5d067b0c5b86590af95aa98856522d54e42acba6
2017-11-17 11:59:50 +01:00
Léa Saviot
681be23c30 [code] Auto indentation in the script editor.
Change-Id: I7066c41fa53068e6f18a5ad226b5e72f591f02e2
2017-11-17 11:59:50 +01:00
Léa Saviot
239e702d37 [code] Navigation in the console history.
The user can copy previous commands or results, into the clipboard or in
the console prompt.

Change-Id: I280fff2d4937f4d17ab6c8907d6e5c359a322372
2017-11-17 11:59:50 +01:00