Commit Graph

53 Commits

Author SHA1 Message Date
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
Léa Saviot
53e4a290f7 [poincare] Rename Expression:parse in Parse 2018-11-23 12:04:09 +01:00
Léa Saviot
58f73dc367 [apps] Handle uninitialized expression in ExpressionCanBeSerialized 2018-11-23 12:04:09 +01:00
Léa Saviot
33676e915a [apps] Check that serialized expression is not too long in Graph 2018-11-23 12:04:09 +01:00
Léa Saviot
f5586b3d36 [apps] Clean the syntax error warning displaying 2018-11-23 12:04:09 +01:00
Léa Saviot
f6804c2d67 [apps] Use ExpressionFieldDelegateApp methods in Calculation::App
For methods textFieldDidReceiveEvent and layoutFieldDidReceiveEvent
2018-11-23 12:04:08 +01:00
Léa Saviot
48d281e44d [apps] Do not allow store expressions except in Calculation 2018-11-23 12:04:08 +01:00
Léa Saviot
fbe4c14d0d [apps] Prevent function defined as a store
For instance, from the Graph application, one should not be able to
defined f(x) as 3->g(x)
2018-11-23 12:04:04 +01:00
Émilie Feral
0a823da78c [escher] Variable box pop-up is handle as Toolbox pop-up by asking
InputEventHandlerDelegate
2018-11-23 12:04:03 +01:00
Émilie Feral
698332c355 [escher] InputTextDelegate and LayoutFieldDelegate don't inherit from
InputTextDelegate to avoid diamond inheritance
2018-11-23 12:04:03 +01:00
Émilie Feral
7778c694d1 [escher] Create an InputEventHandlerDelegate that gives the toolbox to
be used by an InputEventHandler
2018-11-23 12:04:02 +01:00
Émilie Feral
01e433a9f2 [escher] Clean Field and Input class hierarchy:
Class hierarchy:
- InputEventHandler
- TextInput
- EditableField derives from InputEventHandler
- LayoutField, TextField and ExpressioField derives from EditableField
- TextArea and TextField derives from TextInput
2018-11-23 12:04:02 +01:00
Émilie Feral
3a3a17b3ce [shared] Factorize ExpressionFieldDelegateApp and TextFieldDelegateApp 2018-11-23 12:03:59 +01:00
Émilie Feral
cf68a9ed18 [shared] Change TextFieldDelegateApp::XNT() signature 2018-11-23 12:03:59 +01:00
Émilie Feral
a93e9566ad [escher] Create a parent class Field of TextField and
LayoutField
2018-11-23 12:03:59 +01:00
Émilie Feral
cb900d9560 [shared] Factorize code between ExpressionFieldDelegateApp and
TextFieldDelegateApp
2018-11-23 12:03:59 +01:00
Léa Saviot
71c807b565 [poincare] Node->isDefined becomes !Node->isUninitialized 2018-08-14 16:40:12 +02:00
Émilie Feral
17e63a5b07 [shared] Fix references to Poincare 2018-08-10 13:18:46 +02:00
Léa Saviot
a27963597b [apps] More generic VariableBoxController methods
Before, the class differentiated between TextField and
ExpressionLayoutField

Change-Id: I1fce8bb650a0bfccb11ddf61d05335e452374abb
2018-04-25 13:58:42 +02:00
Léa Saviot
13ae1d2545 [apps/escher/toolbox] handleEventWithText for all responders.
This makes the code in the various toolbox more generic. The arguments
of the text to insert are each replaced by a Ion::Charset::Empty.
These Empty chars are used to create layouts in ExpressionLayoutFields,
and to compute the position of the cursor in other fields, before being
removed.

Change-Id: Ie81c1e394b06fef2ab801ccff919d6550f70ec30
2018-04-23 17:18:48 +02:00
Léa Saviot
c4b5d4cf40 Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
aade7cb2fe [escher] Create a class TextInput (from which derived TextField,
TextArea)
2018-03-22 13:12:12 +01:00
Émilie Feral
576caa039f [apps][escher] Add methods 'handleEventWithText' in TextField and
TextArea to fix bug in probability (adding a toolbox text from the
calculations controller)
2018-03-22 13:12:12 +01:00
Léa Saviot
3154decf8b [apps] Fixed bug in MathToolbox.
When returning a MathToolbox, the textfield delegate did not set the
toolbox action for textfields.

Change-Id: I51f78ff5601f784be8e283cf3fb6d3462b776d9a
2018-01-17 14:26:58 +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
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
Romain Goyet
52bdf4a41f Merge branch 'cas_with_app_copy' into python_console 2017-11-21 18:44:38 +01:00
Jacob Young
17ac54cad5 Use cmath in c++ files. 2017-10-13 18:08:15 +02:00
Émilie Feral
5bce67098b [apps] Clean warnings
Change-Id: I9efc803edac4103faafb264849bdb9283640a52b
2017-09-27 09:46:19 +02:00
Émilie Feral
a5ca0f93bf [poincare] Throw a bison error when functions have wrong number of
arguments

Change-Id: I33f0a9b7cad3b1fde2df25ecfdc568187b79f248
2017-09-22 14:23:15 +02:00
Jacob Young
dcbc860b6d Fallback to X in non-graphing apps since x and n are not usable. 2017-09-20 11:08:07 +02:00
Jacob Young
128a6acb32 Fix #72 by choosing what to insert for the [x,n,t] key based on where in the expression the cursor is. 2017-09-20 11:08:07 +02:00
Émilie Feral
f96a4556aa [apps/sequence][apps/graph] Switch to editing the function after event
'toolbox' or 'variables'

Change-Id: Iaa7b04871c4a74abf2ddcfc5905804448c7a44a4
2017-05-31 11:54:54 +02:00
Émilie Feral
71284311bb [escher] [apps] Implement app snapshot
Change-Id: I24d7eed7cef964af8be1c85222e758c297dc0da1
2017-05-18 14:16:41 +02:00
Émilie Feral
06de0dd9db [escher] Only one app is on the heap at one time
Change-Id: I6c77601cb0cc883083a4dd05370ca543fa7951cc
2017-05-18 14:16:41 +02:00
Émilie Feral
a40dcc9af2 [escher] Correct Metric
Change-Id: Iaef3b5654ba5209eadc2a9726f7206f59df73a32
2017-05-10 17:09:22 +02:00
Émilie Feral
d190f2724f [apps/shared] Return error when finishing editing with an empty text
Change-Id: If02c559495cd0711fe69aa5a4beb7f2326afca61
2017-05-10 16:30:46 +02:00
Émilie Feral
19b1caebc4 [apps] Never return n after event XNT except in sequence
Change-Id: Ibdd3de34fbba73112f4f1bc15cbac81a19e81a58
2017-05-05 10:19:05 +02:00
Émilie Feral
951f959226 [apps/shared] Clean
Change-Id: If51ef951de5087f64401ef139f0a594d1b5a099e
2017-05-05 10:19:05 +02:00
Émilie Feral
7d66a8792b [apps] Delete reset methods in apps
Change-Id: I667530b118d1534e2f6664f48f1efdbbdb94178c
2017-05-03 14:22:50 +02:00
Émilie Feral
784c27b8c8 [apps] Memory leak
Change-Id: Iffc90ef26a7e5aa500d47c77140b91e62cf6dbdc
2017-04-25 13:52:29 +02:00
Émilie Feral
f3eb2b80df [escher] In textField, record edited data when changing selection
Change-Id: I74e1cac2188986244f79e7c5ad0eb1d300510475
2017-04-24 17:36:32 +02:00
Émilie Feral
4348bd7bae [apps] Implement a reset in apps (clear memory)
Change-Id: I158d5db92196ccfd5400a95de16ee4804e426e65
2017-04-07 15:36:03 +02:00
Émilie Feral
2c8383c95d [poincare] Pop up a syntax error for function with the wrong number of
arguments

Change-Id: I8be6838c1d94676a2b579a353c3d36011e6edba1
2017-03-29 18:36:45 +02:00
Émilie Feral
3641009694 [apps/shared] Fix bug: avoid typing sum(cos(x),2,3) instead of
sum(cos(n),2,3)

Change-Id: I8b10d62f9adf22fbcf87973cbd56cec3242e534f
2017-03-29 18:36:45 +02:00
Émilie Feral
6d8d105d7e [escher][apps] Clean and fix bug in text field
function application)

Change-Id: I5d425ea7752a054ea6b05735b12442c4429f13b4
2017-03-29 15:04:37 +02:00
Émilie Feral
adc80cd71b [apps][escher] I18n
Change-Id: I4d6f40155a8a182184af9ef2a583d0469196ffd5
2017-03-16 15:12:12 +01:00
Émilie Feral
d862001bc3 [escher] In textfields, in editing mode, OK == EXE
Change-Id: I83c9fd8f6c5ea5348067108899a065a3b1d69d5c
2017-03-08 15:47:16 +01:00
Émilie Feral
c584d1fb4e [escher] Add toolbox event handling in responder [apps] Correct the text
field delegate app accordingly

Change-Id: I180fe53aaa1e0929b357d3985f584937fba2ecca
2017-02-20 10:48:50 +01:00