Commit Graph

667 Commits

Author SHA1 Message Date
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