Commit Graph

221 Commits

Author SHA1 Message Date
Émilie Feral
4d593a6149 [poincare] PrintFloat: take into account the distinction between char
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Ruben Dashyan
413397652c [apps/*/expression_model_list_controller] Refactor modelStore()
Its return type is covariant. Get the ExpressionModelStore from the App.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
e80aaa649d [apps/solver/list_controller] Use modelStore() 2019-09-20 17:11:42 +02:00
Ruben Dashyan
a5bff416d1 [apps/*/expression_model_list_controller] Use isAddEmptyRow 2019-09-20 17:11:42 +02:00
Léa Saviot
4caf9f5197 [coding style] Make some methods const 2019-09-09 20:05:14 +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
381a92f991 [apps] Remove unnecessary overriding 2019-08-29 11:07:22 +02:00
Léa Saviot
0840ca7a1e [apps/poincare] Move NormalDistribution to Poincare 2019-08-23 13:47:52 +02:00
Émilie Feral
503e07fe5a [apps/sequence] Fix SequenceStore: sequences are not memoized but all
kept in the store (because we need all of them to evaluate one
sequence). setMemoizedModelAtIndex now store u, v and w sequences in
this order to avoid requiring expiring pointers.
2019-08-13 09:44:00 +02:00
Émilie Feral
12060e2ae7 [escher] TextField: all text fields use the same draft text buffer 2019-08-13 09:44:00 +02:00
Émilie Feral
081462ab5e [poincare] Fix tests with Multiplication serialization (it always add
the × operator
2019-08-08 17:22:06 +02:00
Émilie Feral
9fbec16db4 [poincare] Merge MultiplicationImplicit and MultiplicationExplicit (they
were required if we wanted to parse into two distincts expression 2π and
2*π but don't)
2019-08-08 17:22:05 +02:00
Émilie Feral
c1cd0302b8 [poincare] Fix typo: explicite --> explicit, implicite --> implicit 2019-08-08 17:22:04 +02:00
Émilie Feral
cedcab21ec [poincare] Tidy tests and add TODO for tests that need to be completed 2019-08-08 17:22:04 +02:00
Émilie Feral
f546845279 [apps] Test: fix calculation and equation test with layout and
expression seriazlization
2019-08-08 17:22:03 +02:00
Émilie Feral
d0fb30028e [poincare] Use '×' instead of '·' when pressing multiplication key 2019-08-08 17:22:02 +02:00
Émilie Feral
fd25b678ce [poincare] Split Multiplication into MultiplicationExplicite and
MultiplicationImplicite
2019-08-08 17:22:02 +02:00
Émilie Feral
869ab35c54 Makefile: build only necessary files for test target 2019-08-08 17:22:01 +02:00
Émilie Feral
059c596a80 Makefiles: avoid building all sources for each target; introduce more
modularity
2019-08-08 17:22:01 +02:00
Léa Saviot
a6e0471748 [app/solver] Inline code
Does not reduce binary size, but cleaner
2019-08-08 16:29:38 +02:00
Léa Saviot
61cf762eef [poincare] Expression::ReductionContext 2019-08-08 16:29:37 +02:00
Ruben Dashyan
eb6d697927 [apps] Make app accessors static members of App classes 2019-07-19 15:06:25 +02:00
Ruben Dashyan
44809f4b3f Substitute Escher app() by Container::activeApp() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
3e992a3560 [apps] Replace app() by textFieldDelegateApp() in TextFieldDelegates 2019-07-19 15:06:25 +02:00
Ruben Dashyan
055d601854 [apps] Define TextFieldDelegate::textFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
5058f64163 [apps] Define LayoutFieldDelegate::expressionFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Romain Goyet
21907fb89a [apps] Get rid of App casts 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
Léa Saviot
2fdbf2ea11 [poincare] VerticalOffsetLyt serializes as ^().
UCodePointLeftSuperscript and UCodePointRightSuperscript no longer exist
2019-06-26 14:03:08 +02:00
Léa Saviot
6455891b77 [apps/test] Silence unused variable warning 2019-06-26 14:03:08 +02:00
Léa Saviot
40c5196cee [test] Use strcmpWithSystemParentheses
Now there can be two types of parentheses : '(' or
UCodePointLeftSystemParenthesis. Because we do not want to complicate
the test results, when comparing a computed serialization and a result
we do not differentiate between the two types of parentheses.
2019-06-26 14:03:08 +02:00
Léa Saviot
1e64db68ef [apps/solver] Fix string length computation
The layout for delta=b^2*4ac did not appear properly
2019-06-13 08:50:45 -04:00
critor
ec40cdd347 Fixed german special characters
Now that special unicode characters are supported, when appropriate, replaced occurrences of the 'ae', 'oe', 'ue', and 'ss' digrams with the proper character.
2019-05-31 08:00:15 -04:00
Émilie Feral
cbbb827532 [poincare] Clean recursive tests on expression (isApproximate, IsRandom,
IsMatrix etc)
2019-05-03 15:54:22 +02:00
Émilie Feral
08e4b0d6a3 [shared] Clean reloading (highlight, even) of
ScrollableExactApproximateExpressionsCell and
ScrollableExactApproximateExpressionsView
2019-05-03 15:54:21 +02:00
Émilie Feral
9665f11d06 [poincare] Layout: discard methods isVerticalOffset(), isHorizontal(),
isRightParenthesisLayout(), isLeftBracket(), isRightBracket(),
isCodePoint(),
isLeftParenthesisLayout() and use type() instead
2019-05-03 15:54:21 +02:00
Émilie Feral
da1ee21fd5 [poincare] VerticalOffsetLayout: change name of 'Type' to 'Position' 2019-05-03 15:54:21 +02:00
Léa Saviot
bcfe9469e8 [apps/tests/solver] Test equations + symbolic computation 2019-05-03 15:53:21 +02:00
Léa Saviot
a9e4737dea [apps/solver] Test: conj(x)*x+1 should not be considered as polynom 2019-05-03 15:53:21 +02:00
Émilie Feral
578c65d5dd [shared] Clean class names containing storage 2019-05-03 15:53:20 +02:00
Émilie Feral
5a5a181086 [apps/shared] Change names:
Sequence::DefinitionHandle --> Sequence::DefinitionModel
Sequence::FirstInitialConditionHandle -->
Sequence::FirstInitialConditionModel
Equation::Handle--> Equation::Model
2019-05-03 15:53:20 +02:00
Émilie Feral
57da4ea618 [shared] Rename classes:
ExpressionModelHandle --> ExpressionModel
SingleExpressionModelHandle --> ExpressionModelHandle
StorageFunction --> Function
StorageCartesianFunction --> CartesianFunction
StorageFunctionApp --> FunctionApp
2019-05-03 15:53:20 +02:00
Émilie Feral
15a4072fdc [ion] Move Storage extensions declaration in Storage class 2019-05-03 15:53:20 +02:00
Émilie Feral
3088a4ee23 [apps/shared] Split ExpressionModelHandle into ExpressionModelHandle and
SingleExpressionModelHandle (in perspective of Sequence model who will
be composed of 3 ExpressionModelHandle)
2019-05-03 15:53:20 +02:00
Émilie Feral
6566b08400 [solver] Fix tests with new Equation API 2019-05-03 15:53:20 +02:00
Émilie Feral
2e6e7f93f7 [solver] Make Solver::ListController inherits from
StorageExpressionModelListController instead of
ExpressionModelListController
2019-05-03 15:53:20 +02:00
Émilie Feral
f8e9fdef65 [solver] EquationListView: clean setBraceStyle to always re-layout 2019-05-03 15:53:20 +02:00
Émilie Feral
b4c8c53982 [solver] Make EquationStore inherits from StorageExpressionModelStore 2019-05-03 15:53:20 +02:00
Émilie Feral
39709e53da [solver] Make Equation inherits from ExpressionModelHandle instead of
ExpressionModel
2019-05-03 15:53:20 +02:00
Léa Saviot
4f63b16e0a [unicode] Fix portuguese literals 2019-05-03 15:53:20 +02:00