Émilie Feral
0f00bdda33
[apps] Fix test build
2020-04-01 10:18:09 +02:00
Émilie Feral
886fc98350
[escher] Palette: factorize data color iteration
2020-04-01 10:18:08 +02:00
Émilie Feral
d504564334
[apps/shared] Create ZoomAndPanCurveViewController,
...
ZoomParameterController inherits from ZoomAndPanCurveViewController
2020-04-01 10:18:08 +02:00
Émilie Feral
52b6508d6c
[apps/shared] Create ZoomCurveViewController:
...
SimpleInteractiveCurveViewController inherits from
ZoomCurveViewController
2020-04-01 10:18:08 +02:00
Émilie Feral
9e822e85e5
[apps/shared] CurveView: implement drawArrow
2020-04-01 10:18:08 +02:00
Émilie Feral
aaf71328ba
[apps/shared] CurveView: resolve name conflict -
...
drawHorizontalOrVerticalSegment & drawSegment -
2020-04-01 10:18:08 +02:00
Romain Goyet
a3b1b51f75
[pyton/matplotlib] Support plot
2020-04-01 10:18:08 +02:00
Léa Saviot
bd0b9f8a4a
[apps/curve_view] Fix typo
...
The labels would not float on the right of the display
2020-03-31 15:16:39 +02:00
Léa Saviot
53705fb333
[apps/graph_ctrlr] Reload range if no previous model is present
...
We memoize the checksum of the x first models, and we check that one of
these models is still present when the graph view appears. If so, we do
not reload the range, other wise we reload it.
Scenario:
f(t) = [t^2 t+1] in parametric
Display the graph
f(x) = 1 on ]-inf;0]
g(x) = 2 on [0;inf[
Display the graph -> the range did not change
2020-03-11 11:43:36 +01:00
Léa Saviot
aab8974934
[apps] Memoize five model checksums
2020-03-11 11:43:36 +01:00
Romain Goyet
2bf83c43a8
[apps/shared] Factorize CurveView::label
...
There was a lot of code duplication.
I removed the initialization of xLabel{} and yLabels{} because those are
scratch buffers that shouldn't be accessed before being written to
anyway.
2020-03-11 09:51:33 +01:00
Ruben Dashyan
1ca902c129
[apps/shared/round_cursor_view] Comment about markRectAsDirty
2020-03-10 11:11:57 +01:00
Ruben Dashyan
8337e36f46
[apps/shared/*_cursor_view] CursorView inherits from TransparentView
...
so that CursorView tells its superview to redrawn in the background,
except the RoundCursorView.
2020-03-10 11:11:57 +01:00
Ruben Dashyan
afb1d18d65
[apps/shared/sum_graph_controller] Factor constexpr
2020-03-10 10:33:30 +01:00
Ruben Dashyan
f0ef84b3bc
[apps/shared/sum_graph_controller] In LegendView::setSumLayout, factor Layout building
2020-03-10 10:33:30 +01:00
Ruben Dashyan
55bb3f677a
[apps/shared/sum_graph_controller] In LegendView::setSumLayout, simplify equal sign
2020-03-10 10:33:30 +01:00
Ruben Dashyan
0a92579571
[apps/shared/sum_graph_controller] Fix variable type
2020-03-10 10:33:30 +01:00
Ruben Dashyan
04794dd26f
[apps/shared/sum_graph_controller] Uniformize number of significant digits
2020-03-10 10:33:30 +01:00
Ruben Dashyan
7ee8c31c70
[apps/shared/sum_graph_controller] In LegendView::setSumLayout, factor sum symbol layout
2020-03-10 10:33:30 +01:00
Ruben Dashyan
24fa8b28a9
[apps/shared/sum_graph_controller] In LegendView::setSumLayout, factor m_sum.setAlignment
2020-03-10 10:33:30 +01:00
Ruben Dashyan
6b527d3b00
[apps/shared/sum_graph_controller] Rename setSumSymbol to setSumLayout
2020-03-10 10:33:30 +01:00
Ruben Dashyan
e1624c79aa
[apps/shared/sum_graph_controller] Class doesn't need to hold m_sumLayout
2020-03-10 10:33:30 +01:00
Neven Sajko
aae5e49c01
Remove useless uses of const for return types
...
An integer or float value can not be assigned to, so there is no point
in qualifying it as const.
2020-03-02 09:48:23 +01:00
Léa Saviot
e5a2208b27
[apps/interactive_curve_view_range] Recompute yRange after setDefault
...
Scenario : f(x)=8x, scroll to the right until the window range has
changed, then set the preadjustment to default -> the x change had no
impact on the yRange because we did not set the yAuto before doing the
changes.
2020-02-25 15:07:16 +01:00
Léa Saviot
0a3ce4cade
[apps/settings_message_tree] Remove .cpp file
2020-02-21 16:03:07 +01:00
Léa Saviot
750f655b2f
[apps] Move SettingsMessageTree in Shared
...
It is needed in exam_mode_configuration. This way, we can build one app
only
2020-02-21 16:03:07 +01:00
Léa Saviot
52ae25a04c
[apps] Use willExitApp parameter in dismissModalViewController
...
This prevents relayouting and thus accessing to expressions/ayotus
possibly deleted by a pool exception
2020-02-20 10:44:19 +01:00
Léa Saviot
9544f1c961
[apps/eschr] Don't copy an expr when editing it, if it is too long
...
Scenario: Create a new sequence which is the multiplication of a lot of
imaginary i. Save it (many multiplication sign are added), then try to
edit it again, in linear edition mode: the text overflows the buffer. If
we still copied it, it might get copied until the middle of a code point,
which would make the UTF8Decoder crash afterwards.
2020-02-18 10:06:36 +01:00
Léa Saviot
176d55b7fa
[apps/expression_model] Fix text() implementation
2020-02-18 10:06:36 +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
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