Commit Graph

659 Commits

Author SHA1 Message Date
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
Léa Saviot
976e27331d [apps] Use StorageFunction::k_parenthesedArgumentLength 2018-11-23 12:04:02 +01:00
Léa Saviot
801d7ddeeb [apps] "(x)" is a static char[] of Shared::StorageFunction 2018-11-23 12:04:02 +01:00
Léa Saviot
933838ff5e [apps/graph] Rename functions 2018-11-23 12:04:02 +01:00
Léa Saviot
b7770d087c [apps/graph] Add "Rename" entry in the function parameters 2018-11-23 12:04:02 +01:00
Léa Saviot
00dcffbc69 [apps] Return uninitialized exp if record type does not match exp type
In global context. This fixes the computation of a->a(a) in calculation,
which crashed.
2018-11-23 12:04:02 +01:00
Léa Saviot
17f33b8797 [apps] Coding style 2018-11-23 12:04:02 +01:00
Émilie Feral
14fe52023b [shared] StorageFunctionGraphController: function pointer life expires
when another function is called
2018-11-23 12:04:02 +01:00
Léa Saviot
a9f32932eb [apps] If checksum changes, reset StorageExpModelStore memoized models 2018-11-23 12:04:02 +01:00