Commit Graph

1355 Commits

Author SHA1 Message Date
Quentin Guidée
5b2f33c80a Fix conflicts 2020-02-17 17:10:32 +01:00
Romain Goyet
a187f39094 [apps] Report telemetry events 2020-02-17 10:31:24 -05:00
Romain Goyet
5dee4a8166 [apps] Add screen telemetry identification 2020-02-17 10:31:24 -05:00
Romain Goyet
7f43b73049 [apps] Don't forget to call viewWillAppear
At the moment ViewController::viewWillAppear doesn't do anything, so
there is no real impact. But if we want to use it it needs to be called
from subclasses.
2020-02-17 10:31:24 -05:00
Quentin Guidée
9de231ba64 [WIP] Fix settings 2020-02-16 13:14:41 +01:00
Quentin Guidée
30386e53f6 Fixed some errors with E13 2020-02-12 23:05:53 +01:00
Quentin Guidée
ab8f731515 Fixed some conflicts 2020-02-12 17:42:58 +01:00
Léa Saviot
6f4a51a56d [apps/poincare] Use IEEE754::exponentBase10 instead of floor(log10) 2020-02-12 15:13:26 +01:00
Ruben Dashyan
b54d5a31ba [apps/shared/function] BaseNameCompliant returns a NameNotCompliantError
instead of a boolean
2020-02-12 15:13:26 +01:00
Ruben Dashyan
473d12f165 [apps/shared/function] Fix typo
introduced in
[ion/unicode/codepoint] Rename is[(Lower|Upper)Case]Letter to isLatin[(Small|Capital)]Letter
2020-02-12 15:13:26 +01:00
Ruben Dashyan
0a61e0f7bc [apps/shared/round_cursor_view] Add warning about getPixels 2020-02-12 15:13:24 +01:00
Ruben Dashyan
63424fb98b [apps/*/function_graph_controller] Factor selectFunctionWithCursor 2020-02-12 15:13:24 +01:00
Ruben Dashyan
246a9aa7a4 [apps/shared/function_graph_controller] Clarify function selection in initCursorParameters 2020-02-12 15:13:24 +01:00
Ruben Dashyan
1cdd61ea47 [apps/shared/function_graph_controller] Do not compute the numberOfActiveFunctions repeatedly 2020-02-12 15:13:24 +01:00
Ruben Dashyan
503a9ed128 [apps/shared/round_cursor_view] Fix GRAPH_CURSOR_SPEEDUP macro usage 2020-02-12 15:13:24 +01:00
Léa Saviot
424ee9fa15 [poincare] Add SymbolicComputation parameter to the reduction context
This way, in solver, we can reduce expression without expanding symbols
2020-02-12 15:13:24 +01:00
Ruben Dashyan
179ce5d5d5 [ion/unicode/codepoint] Rename is[(Lower|Upper)Case]Letter to isLatin[(Small|Capital)]Letter
to conform with unicode terminology
2020-02-12 15:13:23 +01:00
Ruben Dashyan
575b911da9 [ion/unicode] Split isDigit into isDecimalDigit, isBinaryDigit, isHexadecimalDigit 2020-02-12 15:13:23 +01:00
Ruben Dashyan
9b0b4e3096 [ion/unicode] Define and use CodePoint const methods
isLowerCaseLetter
isUpperCaseLetter
isLetter
isDigit

Remove similar ones from UTF8Helper and from Poincare::Tokenizer.
2020-02-12 15:13:23 +01:00
Émilie Feral
251db5b60e [apps/shared][apps/calculation] Change class names:
ScrollableInputExactApproximateExpressionsCell -->
ScrollableThreeExpressionsCell
AbstractScrollableExactApproximateExpressionsView -->
AbstractScrollableMultipleExpressionsView
ScrollableExactApproximateExpressionsView -->
ScrollableTwoExpressionsView
ScrollableInputExactApproximateExpressionsView -->
ScrollableTwoExpressionsCell
2020-02-12 15:13:22 +01:00
Émilie Feral
87e4836196 [apps/calculation][apps/shared]
AbstractScrollableExactApproximateExpressionsView children classes
reload scroll after reloading the subview selection when entering the
responder chain and when cell becomes first responder. We don't reload
scroll when setting content of cells as this is done every time we
relayout - when scrolling in the table for instance.
2020-02-12 15:13:22 +01:00
Émilie Feral
56319ef275 [apps/shared] AbstractScrollableExactApproximateExpressionsView can hold up to
three expressions but no more BurgerMenuView.
ScrollableExactApproximateExpressionsView and
ScrollableInputExactApproximateExpressionsView inherit from it.
2020-02-12 15:13:22 +01:00
Léa Saviot
88ab0e686c [apps] Less operations in willExitResponderChain if exiting app
If nextFirstResponder is nullptr, it means we are exiting the app, so
there is no need to relayout, reselect, ...
We did it bbefore because a long time ago, we used to keep all apps side
by side so they had to be thouroughly cleaned when exiting
2020-02-12 15:13:22 +01:00
Émilie Feral
60048cb9a9 [poincare] Create a ContextWithParent that implements expressionTypeForIdentifier 2020-02-12 15:13:22 +01:00
Léa Saviot
a3a1f86f8d [apps] Add context parameter to fix tests 2020-02-12 15:13:21 +01:00
Léa Saviot
9d6bab092f [poincare/parser] Identifier is not already function -> symbol
We check the context: if an identifier is already a function, we
interpret it as such, otherwise it is a symbol.
This way, in the Equation app, x(x+1) is interpreted as x*(x+1)
2020-02-12 15:13:21 +01:00
Léa Saviot
756eeeb2d8 [poincare/parser] Add context 2020-02-12 15:13:21 +01:00
Émilie Feral
158a45e94d [apps/shared] AbstractScrollableExactApproximateExpressionsView: let the
child class decides which subview to select
2020-02-12 15:13:21 +01:00
Émilie Feral
d61336936e [apps/shared] Create a class Dots to share dots masks between CurveView
and RoundCursorView. Use the same dot for illustrations of additional
results in Calculation app and Function app
2020-02-12 15:13:21 +01:00
Émilie Feral
06fa3bba5b [apps/shared][apps/calculation] CurveView: enable to personalize the
maximal glyph length of graduation labels. Shorten them in
ComplexGraphView
2020-02-12 15:13:21 +01:00
Léa Saviot
f6c15198bc [apps/regression] Power regression uses logarithm of series
This matches other apps results and we directly compute the values from
the data instead of doing a gradient descent.
2020-02-12 15:13:21 +01:00
Léa Saviot
97b495a4dc [apps/interactive_curve_view_range] Orthonormal keep max grid unit
When setting the axes then putting on the orthnormalization, 2 * (max of
the two axes units) is put to 1 cm instead of doing 2 units = 1cm. This
roughly keeps the configuration of the window.
2020-02-12 15:13:21 +01:00
Émilie Feral
21f3cd629d [apps/shared] CurveView: fix drawLabelsAndGraduations
Fix following bug: when handling label = "0", not shifted,
the label position should be computed as for the other labels.
2020-02-12 15:13:21 +01:00
Émilie Feral
685f030f83 [apps/calculation] Fix ScrollableInputExactApproximateExpressionCell and
ScrollableExactAppromiateExpressionsCell layout (layout of cells can be
asked at any moment - when handling copy/cut events)
2020-02-12 15:13:21 +01:00
Émilie Feral
dd61468056 [apps/calculation] ScrollableInputExactApproximateExpressionsCell:
relayoutSubviews after changing member variables that affect the
subviews frames
2020-02-12 15:13:20 +01:00
Émilie Feral
c6e54f90c3 [apps/shared] CurveView: fix confusion between after/before relative
position in drawLabel
2020-02-12 15:13:20 +01:00
Émilie Feral
800adce876 [apps/shared] CurveView: change API; drawLabel can draw a label at a
position and the relative position of the label (above, below, to the
left or right of the graduation) can be chosen. 'positionLabel' is a
private method used by 'drawLabelsAndGraduations' and 'drawLabel' to
determine the position of the label knowing the position of the
graudation and its relative position
2020-02-12 15:13:20 +01:00
Émilie Feral
17bc808257 [apps/shared] CurveView: fix drawLabelsAndGraduations when
graduationOnly is on: the graduation are not drawn only when outside of
the drawn rect
2020-02-12 15:13:20 +01:00
Émilie Feral
95137909c6 [apps/shared] CurveView: fixes drawLabelsAndGraduations when the 'fixCoordinate' parameter is true.
This fixes the graduation drawing of the box view in the statistics app
2020-02-12 15:13:20 +01:00
Émilie Feral
29bab70dcd [apps/shared] CurveView: add a parameter "color" to drawLabel 2020-02-12 15:13:20 +01:00
Émilie Feral
dfd4811136 [apps/shared] CurveView: change API to expose 'drawLabel' and
'drawLabelsAndGraduations'
2020-02-12 15:13:20 +01:00
Émilie Feral
98c6f4ba47 [apps/shared] CurveView: factorize code of drawLine and drawSegment 2020-02-12 15:13:20 +01:00
Émilie Feral
818067e03b [apps/shared] CurveView: add a parameter to drawSegment to draw dashed
segment
2020-02-12 15:13:20 +01:00
Émilie Feral
b47ded4074 [apps/calculation] Add a parameter in Shared::CurveView to choose the
curve thickness
2020-02-12 15:13:20 +01:00
Émilie Feral
bf07b5ab76 [apps/shared] CurveView: fix typo 2020-02-12 15:13:20 +01:00
Émilie Feral
1b83526c57 [apps/shared] Revert "ScrollableExactApproximateExpressionsView: remove useless reload"
This was not useless: without it, when you push several times the
calculation "1.2", going up in the history will display corrupted
cells...
2020-02-12 15:13:20 +01:00
Émilie Feral
80d8e8eead Coding style 2020-02-12 15:13:20 +01:00
Émilie Feral
10c906e5e2 [shared] AbstractScrollableExactApproximateExpressionsView: when the
left subview is selected, reload the scroll to display the left view
2020-02-12 15:13:19 +01:00
Émilie Feral
acd9e63cbd [shared] AbstractScrollableExactApproximateExpressionsView: fix
setDisplayLeft and setDisplayCenter to re-layoutSubviews
2020-02-12 15:13:19 +01:00
Émilie Feral
7e96ccf5a6 [shared] Typo 2020-02-12 15:13:19 +01:00