Léa Saviot
0511f383d0
[apps] Add comment about variables that cannot overwrite functions
2018-11-23 12:04:06 +01:00
Léa Saviot
8b2c00d8ba
[apps/poincare] Forbid variable creation with same name as existing func
2018-11-23 12:04:06 +01:00
Léa Saviot
0670057f90
[apps/graph] Destroy variable record with same name when renaming func
2018-11-23 12:04:06 +01:00
Léa Saviot
caacf63c8f
Fix typo
2018-11-23 12:04:06 +01:00
Léa Saviot
c7635c5e4d
[poincare] Encapsulate deepReduce in reduce
2018-11-23 12:04:06 +01:00
Léa Saviot
aea98de6ec
[apps/escher] Fix "Clear" event handling in TextFieldWithExtension
2018-11-23 12:04:05 +01:00
Léa Saviot
cce6591f54
[apps] When editing an expression model, replace UnknownX with 'x'
2018-11-23 12:04:05 +01:00
Ruben Dashyan
61b1b8a09d
[poincare] Add Expression::FunctionHelper class
...
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Léa Saviot
7c4b7495f3
[apps/poincare] Inline some methods
2018-11-23 12:04:04 +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
Léa Saviot
bd52162b10
Fix typo
2018-11-23 12:04:04 +01:00
Émilie Feral
8770c9010a
[poincare] Create Constant inheriting from SymbolAbstrac
...
pi, e and i are not symbols anymore but constant
2018-11-23 12:04:04 +01:00
Léa Saviot
bea78aa3b1
[apps/escher] Invocation::Action returns a bool
2018-11-23 12:04:04 +01:00
Léa Saviot
91d6955ddf
[apps] The apps displays a warning when storage is full
2018-11-23 12:04:04 +01:00
Émilie Feral
5e57a850f9
Test build: add dependencies due to global_context
2018-11-23 12:04:04 +01:00
Léa Saviot
c428a4e94b
[apps] Cell heights memoized in ExprModelListCtrler, not FunctionLC
2018-11-23 12:04:04 +01:00
Léa Saviot
f259b84874
[apps/graph] Make the function list navigation faster
2018-11-23 12:04:04 +01:00
Léa Saviot
7bfae0c034
[apps] Increase the number of memoized expression models
2018-11-23 12:04:03 +01:00
Léa Saviot
597d2c46a4
[apps] Fix missing index incrementation
2018-11-23 12:04:03 +01:00
Émilie Feral
244baec90f
[poincare] Integral takes 4 arguments (integrand, differential variable,
...
lower bound, upper bound)
2018-11-23 12:04:03 +01:00
Léa Saviot
b657cfb924
[apps] Reduce number of calls to value() in StorageExpressionModel
2018-11-23 12:04:03 +01:00
Léa Saviot
9bfaed583d
[apps/escher/ion] Remove Graph memoized models on storage change
2018-11-23 12:04:03 +01:00
Émilie Feral
7e7c77a0e8
[escher] TextField and LayoutField handle move events while in editing
...
mode to avoid leaving unexpectedly edition mode
2018-11-23 12:04:03 +01:00
Émilie Feral
01ad885045
[shared] StorageExpressionModel: in storage, expression stored are
...
simplified (instead of only reduced) with unreplaced symbols
2018-11-23 12:04:03 +01:00
Émilie Feral
95d6c99a91
[shared] CLean warnings due to ExpiringPointer
2018-11-23 12:04:03 +01:00
Émilie Feral
51208f0edc
[shared] Remove useless method wrongly implemented
2018-11-23 12:04:03 +01:00
Léa Saviot
1f890c7852
[apps] Remove unused variable
2018-11-23 12:04:03 +01:00
Léa Saviot
4d71a3a4c6
[apps/poincare] Do not replace symbols in result of 3+c->f(x)
2018-11-23 12:04:03 +01:00
Émilie Feral
e8b58a2b5b
[shared] Create ExpiringPointer: in DEBUG, check that pointers to
...
memoized functions are not used when invalid
2018-11-23 12:04:03 +01:00
Léa Saviot
196e74297e
[apps] Rename exact/approx as left/right in scrollable_exact_approx_exp_view
2018-11-23 12:04:03 +01:00
Émilie Feral
c09056b98a
[shared] StorageCartesianFunction: sumBetweenBounds does not work, add a
...
comment to explain why
2018-11-23 12:04:03 +01:00
Émilie Feral
344351f5c2
[shared] StorageCartesianFunction: fix nextIntersection to avoid taking
...
2 function pointers (indeed, 2 functions pointers can not live at the
same time. They are soon to be ExpiringPointer)
2018-11-23 12:04:03 +01:00
Émilie Feral
a063b00fb7
[graph] StorageDerivativeParameterController &
...
StorageValuesFunctionParameterController titles cannot be computed
before being in the responder chain (they need to access
app()->functionStore())
2018-11-23 12:04:03 +01:00
Émilie Feral
4b44dd701d
[graph] Unable to delete functions from function app
2018-11-23 12:04:03 +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
Léa Saviot
71d8358722
[apps/escher/poincare] Change KDText::FontSize to KDFont
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
Léa Saviot
c2adbe28c5
[apps/global_context] Fix Pi evaluation
2018-11-23 12:04:02 +01:00
Léa Saviot
7b98467fa9
[apps/graph] Fix first responder when popup after renaming function
2018-11-23 12:04:02 +01:00
Léa Saviot
9e332b0c2b
[apps] Create and use StorageFunction::BaseNameCompliant
2018-11-23 12:04:02 +01:00
Émilie Feral
1205dc50e6
[shared] StorageFunction::nameWithArgument uses
...
SymbolAbstract::TruncateExtension instead of reimplementing it
2018-11-23 12:04:02 +01:00
Léa Saviot
651a86b8fa
[apps] Clean the comments of StorageCartesianFunction
2018-11-23 12:04:02 +01:00
Émilie Feral
3c2cde5529
[shared] StorageFunctionListController: Fix bug wrong casting
2018-11-23 12:04:02 +01:00
Émilie Feral
c70278941a
[graph] Do not keep a function pointer as member variable but a record.
...
Indeed, function pointers can become invalid at any point...
2018-11-23 12:04:02 +01:00
Léa Saviot
6facfbbf7a
[apps/graph] Use TextFieldWithExtension in the list controller
2018-11-23 12:04:02 +01:00
Léa Saviot
f8df2a2fba
[apps] Remove unneeded dependency
2018-11-23 12:04:02 +01:00
Léa Saviot
885f953d52
[apps] TextFieldWithExtension blocks cursor on the rightmost text
2018-11-23 12:04:02 +01:00
Léa Saviot
df542f2f84
[apps/graph] Update column width after renaming function
2018-11-23 12:04:02 +01:00