Commit Graph

408 Commits

Author SHA1 Message Date
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
É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
Émilie Feral
faac0d7a58 [escher] Change TableView::size() to
TableView::minimalSizeForOptimalDisplay()
2018-01-04 15:48:06 +01:00
Émilie Feral
26bbfa85ec [apps] Probability: fix bug in layout (the textfield was moving when
adding characters)
2018-01-04 15:48:06 +01:00
Émilie Feral
fd06d428e5 [apps] Redesign Probability Calculation page 2018-01-04 15:48:06 +01:00
Émilie Feral
e8793c429c [escher] In textfield: when calling textFieldDidHandleEvent, precise if
there was any modification in the text
2018-01-04 15:48:06 +01:00
Émilie Feral
870994e11d [escher] Add a getter for the modal view in app 2018-01-04 15:48:06 +01:00
Émilie Feral
bc78a0b19e [escher] Add a method in view: relativePointForPointInView 2018-01-04 15:48:06 +01:00
Émilie Feral
e41ca318c7 [escher] TextField: change the method to get the optimal size for display 2018-01-04 15:48:06 +01:00
Émilie Feral
077a95197e [escher] SelectableTableView handles setting the ccell as first
responder if needed
2017-12-20 17:17:41 +01:00
Émilie Feral
15610064fa Coverity: fix unitialized pointer fields, out of bounds reads ...
Change-Id: Iae0656ffe667692dfb3bebf9bb7913b5872175c6
2017-12-06 14:50:26 +01:00
Léa Saviot
53c8b2215f [escher] Added textFieldDidHandleEvent to TextFieldDelegate.
Change-Id: Iad2ea114dd75632a0204c081b2345aeea8131798
2017-12-04 17:01:48 +01:00
Émilie Feral
db35fc1d72 Merge branch 'cas_with_python' into python_console
Change-Id: I06e3e07b9fd8d52818d90110ed7517777b35b9f1
2017-12-01 17:29:55 +01:00
Léa Saviot
62fe441b7a [code] Add parentheses after function names in Var.
Change-Id: I7e3e993d07139c40c6bd59fd5879b3ee091f5127
2017-12-01 16:11:31 +01:00
Léa Saviot
e43bbd38f2 [escher] Fixed TextField bug.
The Statistics apps crashed when navigating the Data table.
 -> Check that the textfield is editing before calling
textFieldShouldFinishEditing.
 -> Changed textLength() to draftTextLength().

Change-Id: Id373a7cd50438303f470abc5bcee7a795c33926a
2017-12-01 13:19:30 +01:00
Léa Saviot
a78bd0db88 [apps/escher] Harmonize Toolbox and VariableBoxController row heights.
Change-Id: I8e6c5543d46480a1129f3812ca40c29e4407eac1
2017-12-01 12:06:05 +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
bc4d2768d0 [escher/code] Cleaned Toolbox rowHeight().
Now it is set in escher/toolbox.h, with value 40 and no differentiation Node/Leaf.

Change-Id: I0809d87a5df5b8bffe201c9faf72ff901430cbe5
2017-12-01 12:06:05 +01:00
Émilie Feral
a5c984fce3 [apps] Calculation: change the grey of approximate output
Change-Id: Iac001fc581544af0634ad1d7765074f69aa07809
2017-11-23 11:49:52 +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
5bfc482e62 [escher] textArea now returns a bool when inserting text.
Change-Id: I79111148e8e8b30abb24a6aecea0c187dbd7e2f6
2017-11-21 17:37:48 +01:00
Émilie Feral
fe4a3e8058 [escher] Increase textfield size
Change-Id: I1fed662ad11ecb556a5a1f8a5a2828ccb7fb600b
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
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
f2e2e93888 [code] Larger console button in MenuController.
Change-Id: Ia8a495d4de95a4a9d6fee698975b2c7e831c4c43
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
07c6acada4 [escher/code] Move Accordion from escher/ to apps/code/.
Change-Id: Id90ef9791f8c18bcdce497b8e20f060314f7b58b
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
13bf8c2d62 [code] Python toolbox.
Change-Id: I4028b05c662cae04a5ac3af5021f3438bb22dcd0
2017-11-17 11:59:50 +01:00
Léa Saviot
0d6cb75425 [escher] Inlined TextField methods.
Change-Id: I2653bd3a97ba5c5a010f17ac3f7eb054013cd9d3
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
6ee47d6168 [code] Prevent script name extension edition.
Change-Id: I4ac8d032fd88b853670afeebaecc8d6fd5ef981d
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
45aa526cd6 [code] Fixed SelectableTableView selection problem.
If adding a script fails, the selectableTableView should select the "Add
script" line.

Change-Id: I373cdfa0afcc334e4bf306b1cee4bfb817417980
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
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
Émilie Feral
10c42e276a [escher] Add a gauge view and a message table cell with gauge 2017-09-06 17:34:18 +02:00
Émilie Feral
dd8caaa82e [escher] In textfield: change the behaviour of clear event
Change-Id: I6292faf383e40e7a9b00407bb5c052f92e49a1f6
2017-08-28 11:51:17 +02:00