Gabriel Ozouf
b8544e3708
[apps/shared/text_field_delegate_app] Refuse Equal
...
The Equal sign now triggers a syntax error in all apps but Solver. This
make its behaviour symmetrical with that of < and >.
Change-Id: Ia886c547a315d5627a69f3f2acac2cbce0e202c2
2020-11-04 15:32:58 +01:00
Léa Saviot
756eeeb2d8
[poincare/parser] Add context
2020-02-12 15:13:21 +01:00
Léa Saviot
538bb5e5d2
[apps/graph] Do not take into account the sum/integral in XNT
...
Otherwise, it is impossible to use theta inside a sum in a polar
function
Example: f(theta) = sum(n*theta,0,4) cannot be written
2019-09-20 14:30:36 +02:00
Émilie Feral
ed2a15dd03
[apps/graph] Enable infinite values as domain bounds for cartesian
...
functions
2019-09-03 16:21:28 +02:00
Émilie Feral
ecfe626520
[apps/shared] Remove useless method storeExpressionAllowed
2019-09-03 13:36:19 +02:00
Émilie Feral
6de497c2ed
[apps/shared] Templatize FloatParameterController to handle float/double
...
parameters.
Fix bug: when entering "e^234" as a parameter of a model keeping floats,
the FloatParameterController would accept the number (because e^234 is
defined in double) and store an undefined value in the model (because
e^234 is undefined in float).
2019-09-02 16:55:39 +02:00
Ruben Dashyan
82951b0672
[apps] App::XNT() returns a CodePoint instead of a char
2019-08-29 11:07:22 +02:00
Léa Saviot
61cf762eef
[poincare] Expression::ReductionContext
2019-08-08 16:29:37 +02:00
Ruben Dashyan
9611133276
[apps] Factor Shared::TextFieldDelegateApp::isAcceptableText
2019-07-19 15:06:25 +02:00
Romain Goyet
45875dd642
[escher] Make app() a global function
...
This way it can easily be reached by anyone, including non-responders.
And it can easily be overwritten in namespaced apps.
2019-07-19 15:06:25 +02:00
Ruben Dashyan
1f06819974
[apps] Remove Container * parameter from all App constructors
2019-07-19 15:06:25 +02:00
Ruben Dashyan
d04d414315
[apps] Remove InputEventHandlerDelegateApp::container()
2019-07-19 15:06:25 +02:00
Léa Saviot
a6cf1498da
[apps/text_field_delegate_app] default XNT() is 'x'
2019-05-03 15:54:22 +02:00
Ruben Dashyan
82685cb371
[apps] Factorize portions checking whether text approximates to double
2019-05-03 15:54:21 +02:00
Léa Saviot
b360639e4e
[apps/text_field_delegate_app] Fix XNT in a sum layout
...
It was broken by a blunder while swithching to UTF8
2019-05-03 15:54:20 +02:00
Léa Saviot
bbb10f1993
[ion/kandinsky] Move unicode to ion
2019-05-03 15:53:19 +02:00
Léa Saviot
65e5adafac
Remove Ion::Charset
2019-05-03 15:53:19 +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