Commit Graph

686 Commits

Author SHA1 Message Date
Émilie Feral
d600ced40d [shared] Regression and Statistics store cell use SmallFont 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
71c848e7df [apps] Reinit inputFormulaView text before edition 2018-11-23 12:04:08 +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
Émilie Feral
e80512f362 [poincare] Context::expressionForSymbol takes a boolean notifying that
we want a copy or not
2018-11-23 12:04:08 +01:00
Émilie Feral
b44c5e6d05 [shared] Change name: StorageExpressionModel::expressionWithSymbol -->
expressionClone
2018-11-23 12:04:08 +01:00
Émilie Feral
90befab6ce [shared] Change name: StorageExpressionModel::expression --> expressionReduced 2018-11-23 12:04:08 +01:00
Léa Saviot
e3935fd9c0 [apps] Factorize closestCurveIndexVertically from Regression and Graph 2018-11-23 12:04:08 +01:00
Léa Saviot
3ccd1aabf4 [apps] Fix StorageFunctionGraphController::moveCursorVertically 2018-11-23 12:04:08 +01:00
Léa Saviot
e9974a7e7a [apps/graph] Fix vertical move on intersecting functions
When two functions are equal, there was a bug when moving the selection
up or down in the graph (the cursor would skip one function)
2018-11-23 12:04:08 +01:00
Émilie Feral
17abf68de1 [shared] StorageExpressionModel: memoize the fact that the expression is
circular to avoid lagging when approximating the model multiple times.
2018-11-23 12:04:08 +01:00
Léa Saviot
ff20cb840d [apps/poincare] Expressions are not reduced before storing in Storage 2018-11-23 12:04:07 +01:00
Léa Saviot
8088d0b57f Revert "[apps] OK icon in graphs is in the top right corner"
This reverts commit 50c0b0b8a79ce62723c13aeafe36d1afc75ce5a5.
2018-11-23 12:04:07 +01:00
Léa Saviot
ef4fae251e [apps/graph] Specific error pop ups when renaming function 2018-11-23 12:04:07 +01:00
Léa Saviot
f94dc63d16 [apps] When renaming a function, check that the name is not reserved 2018-11-23 12:04:07 +01:00
Léa Saviot
52d8192306 [apps] Changes names in ScrollableExactApproximateExpressionsView 2018-11-23 12:04:06 +01:00
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