Commit Graph

576 Commits

Author SHA1 Message Date
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
Léa Saviot
f38bbff447 [escher] Fix responder order bug.
EditableExpressionView cannot pass the first responder state to one of
its children, otherwise Calculation::EditableExpressionView's overriden
handleEvent method is never called.

Change-Id: Id2b56b9501e67431e860573cf4c62a16651c3958
2018-01-24 10:20:09 +01:00
Léa Saviot
2929409d3e [escher] Comment about implementing a split view for InputViewController
Change-Id: I46b50bac50f958fad956696a02d334a690b0a2b2
2018-01-23 10:28:02 +01:00
Léa Saviot
a2c0eaa20b [apps/escher] Remove textFieldDidAbortEditing const char * argument.
Also removed the same argument in scrollableExpressionViewWithCursorDidAbortEditing.

Change-Id: Iadc6b708cfc0fab44b9fd4edb980cb759d41e8d0
2018-01-23 10:28:02 +01:00
Léa Saviot
4d778b5d9f [apps/escher/poincare] Use 2D Edition in Sequence and Graph apps.
EditableExpressionView is renamed ScrollableViewWithCursor.
EditableExpressionView is now a View that displays either a TextField or
a ScrollableViewWithCursor, depending on Poincare::Preferences.

Change-Id: Id44ddcd9a83f5fd17d65753ca4c94c5c7cda9b8a
2018-01-23 10:28:02 +01:00
Léa Saviot
2cb8956665 [apps/math_toolbox] Remove the pointedPath from ToolboxMessageTree.
Change-Id: I2deb6564321da13ea27975216aa949b68298533c
2018-01-19 16:18:55 +01:00
Léa Saviot
1ad4e6e744 [escher/poincare] Remove unneeded layout computation.
When moving a cursor in an EditableExpressionView, do not recompute the
layout, unless specified otherwise (for instance when entering or
exiting a MatrixLayout).

Change-Id: Ic2471095d6f6a08014a79f1d9d8fb7d39a1a6864
2018-01-18 17:55:16 +01:00
Léa Saviot
f50391689f [apps/calculation] Handle OK event in calculation history.
Change-Id: I3e4c309a3bc031476eea0d64d433b535b1220a8f
2018-01-16 16:43:40 +01:00
Léa Saviot
1d701f3305 [apps] Handle EditableExpressionView in VariableBoxController.
Change-Id: Ibd5f1b1a8999241c8aa818a075f48adb28c4032e
2018-01-16 16:43:40 +01:00
Léa Saviot
e1235cdb4f [escher] EditableExpressionView: Remove the cursor when not editing.
Change-Id: If333f6074bce39d71ceb89b9424f7fec26a1f0c6
2018-01-16 16:43:40 +01:00
Léa Saviot
53556ffacf [apps/calculation] Handle "ans" event in EditableExpressionView.
Change-Id: I7761f36b5a94bb5c8190cd5b238542280666c256
2018-01-16 16:43:38 +01:00
Léa Saviot
91c05b3bb7 [apps/calculation] EditableExpressionView in calculation app.
Change-Id: I8b67353682652695f7296f0222939930f4b21794
2018-01-16 16:43:15 +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
Léa Saviot
c0a3aadae4 [escher] EditableExpressionView, its delegate and EVWithCursor.
Change-Id: Icb05c756ff17e43a7b306bec685a6040eaec303a
2018-01-15 12:14:09 +01:00
Léa Saviot
1967fce13a [apps] Toolbox layouts are created by parsing the command of the cell.
Change-Id: I511e8af2b2247d1df3ca968191566c2b3f01fe11
2018-01-15 11:58:06 +01:00
Léa Saviot
406d108aa5 [poincare] Sandardize Bracket and Parenthesis minimal height.
Change-Id: Iadfce26575d77182ecc12dd100fa9b70b9062802
2018-01-15 11:58:03 +01:00
Léa Saviot
14f2e08872 [poincare/escher] Tell which layout is pointed when adding from toolbox.
Change-Id: I84c82ea887e3e7759da7d407532dc7d63174f1ac
2018-01-15 11:58:02 +01:00
Léa Saviot
0d8b6d5ace [escher/poincare] Handle toolbox input (VERY DIRTY).
Change-Id: I01de0ddd6f6500df278e3b4104110f6335289be1
2018-01-15 11:58:02 +01:00
Léa Saviot
82469ca96e [poincare] Added margins to ConjugateLayout.
Change-Id: I27b3788c87d36390fcea63c6a70b89aa36a2e9f3
2018-01-15 11:58:02 +01:00
Léa Saviot
8828eaf79f [escher] ExpressionView drawingOrigin().
Change-Id: I737f17f857edb6e9971feeeb196f2698cc92ad9e
2018-01-15 11:58:01 +01:00
Léa Saviot
53e7f6ea44 [escher] Get a View's frame.
Change-Id: I9fbcf2fb8db5f735df5c852762dc8645c0358683
2018-01-15 11:58:01 +01:00
Léa Saviot
4ad3adaab2 [apps/escher] Changed setExpression to setExpressionLayout.
Change-Id: I095a12868fd7eaf8d4eb2408617941a86f43e1ee
2018-01-15 11:58:01 +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