Commit Graph

545 Commits

Author SHA1 Message Date
Gabriel Ozouf
8104caea50 [apps/shared] New automatic zoom on curves
Initial zoom for displaying curves is computed according to the
following rules :
  - For polar and parametric curves, the algorithm has not changed.
    Vertical and horizontal ranges are chosen in order to display the
    full curve with orthonormal graduations.
  - For cartesian curves, the horizontal range is chosen in order to
    display all points of interest (roots, extrema, asymptotes...).
    The vertical range is fitted to be able to display those points, but
    also cuts out points outside of the function's order of magnitude.

Change-Id: Idf8233fc2e6586b85d34c4da152c83e75513d85c
2020-11-04 15:30:53 +01:00
Hugo Saint-Vignes
bd2609bcba [apps/graph] Remove horizontal margins when panning on some graph calculations
Change-Id: I1a28555c5b4f04986b223617ab15110711a74841
2020-11-04 15:07:20 +01:00
Hugo Saint-Vignes
e27c668c40 [apps,escher,kandinsky,poincare,python] Replace every "grey" with "gray"
Change-Id: I60a232849dce90f70e6977b6024d6e9b1ce1b731
2020-11-04 15:07:20 +01:00
Gabriel Ozouf
4007f4d452 [apps] Tweaked panning for better cache alignement
Method InteractiveCurveViewRange::panToMakePointVisible now moves the
range of a whole number of pixels when panning horizontally. This allows
the cache of cartesian functions not to be invalidated.

Change-Id: Idb9904fef134dd13458e1f2287b0fe5145e8aec7
2020-11-04 14:45:35 +01:00
Hugo Saint-Vignes
5bc19af196 [apps/shared] Revert to pack record
It appeared that without the packed keyword, the compiler did not handle
access to unaligned record data members, which leads to crashes on the
device.

Change-Id: I401f075e7f62458a4733baa8d81983d4be34b730
2020-11-04 14:45:35 +01:00
Gabriel Ozouf
43fc937469 [apps/sequence] SequenceTitleCell reload
SequenceTitleCell::reloadCell now triggers a layoutSubviews, causing the
vertical alignment to be recomputed. This solves issues regarding the
alignment of a sequence's name and definition, such as :
  - typing u_n = v_n ; v_n would be displayed above u_n
  - typing u_n = (1/3)/2 then changing to u_n = 1/(2/3) without erasing
    the formula first. u_n would no longer be aligned with the = sign.

Change-Id: I4a771d96ea79e42e2f4822e93f9f1cbbcf867610
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
b60c67ff88 [apps] Factorize scrolling speed for long repetition
Change-Id: I5fcfaf04e418942664641c4b1cd044cda7f5aebb
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
241a217f58 [apps/graph] Add fast scroll for regression and sequence graph views
Change-Id: I6b36e929234ec5dc161b0eefb20eb84aa360fe3b
2020-11-04 14:45:34 +01:00
Hugo Saint-Vignes
0a2ededfcf [apps/shared] Remove packed data members for RecordDataBuffer
Change-Id: I04ea5ccb4c15bda975bf5af178f07092c0387312
2020-11-04 14:45:34 +01:00
Roberta Rabotti
d48f66fdad [IT]chenges graphs 2020-06-25 17:15:03 +02:00
Émilie Feral
bac2949a5e [escher][apps] SelectableTableViewDelegate: add
tableViewDidChangeSelectionAndDidScroll method and implement it for
Calculation::HistoryController

This fixes the following bug: In the calculation application, input 1,
OK, 1/2/3/4/5/6/7/8, OK, up, up, left, down, up. The selection failed.
2020-06-25 13:48:47 +02:00
Léa Saviot
e803ada15f [apps/Makefiles] Automatize i18n adding for different locales 2020-06-04 14:50:02 +02:00
Roberta Rabotti
549f537ff6 [it] Add i18n files to Makefiles 2020-06-04 14:50:02 +02:00
Roberta Rabotti
3ef28ec155 [it] new translation files 2020-06-04 14:50:02 +02:00
Serenela Moreira
4802299f3c [pt] corrected regression and sequences 2020-06-04 14:50:02 +02:00
Jorick Alberga
b1e737879d [nl] Translation Epsilon 2020-06-04 14:50:02 +02:00
Jorick Alberga
07f924bed6 [nl] Translation Functions app And other translation
In file: epsilon/apps/graph/base.nl.i18n some text would look better if placed slightly to the left. I'm talking about lines 23 and 24: SelectLowerBound and SelectUpperBound
2020-06-04 14:50:01 +02:00
Jorick Alberga
8a37096680 [nl] Start translation 2020-06-04 14:50:01 +02:00
Romain Goyet
84768472bd Explicit std::min/max template usage
This is unfortunately required in several cases:
 - Sometimes when we use either float and double (this should be changed)
 - Because KDCoordinate is not an int, so any arithmemtic promotes it to
an int
 - Because we mix pointer differences and ints
2020-04-14 09:31:02 -04:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Romain Goyet
ada205b1a7 [build] Use variants
- Move helpers functions into build/helpers.mak
- Move official warning into official targets only
2020-04-03 22:26:55 -04:00
Émilie Feral
886fc98350 [escher] Palette: factorize data color iteration 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
Léa Saviot
aab8974934 [apps] Memoize five model checksums 2020-03-11 11:43:36 +01:00
Ruben Dashyan
7a633b1e75 [apps/sequence/sequence] SequenceModel's name method need not be virtual 2020-03-10 10:33:30 +01:00
Ruben Dashyan
fccd72b757 [apps/sequence/sequence] Do not memoize nameLayout
Fixes the following bug:
In the graph tab of the Sequence app, compute the sum of the terms of
a sequence from 1 to 9 and then from 1 to 10. The Layout is memoized
after the first time and mispositioned the second time since it is
not recomputed.
2020-03-10 10:33:30 +01:00
Romain Goyet
5dee4a8166 [apps] Add screen telemetry identification 2020-02-17 10:31:24 -05: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
756eeeb2d8 [poincare/parser] Add context 2020-02-12 15:13:21 +01:00
Léa Saviot
8b250e0ca0 [apps/i18n] Fix portuguese from Portugal, not Brazil 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
4bd3dfd542 [escher] TableCell: the subviews are layoutted horizontally or
vertically. We add an option to decide which subviews should overlap on
top of the other if there is not enough space
2020-02-12 15:13:20 +01:00
Émilie Feral
9312d2bd65 [escher] ExpressionTableCell is composed of a ScrollableExpressionView
instead of an ExpressionView
2020-02-12 15:13:19 +01:00
Léa Saviot
1434158bee [apps/graph] Faster curve navigation after some time
If the user presses the LEft/Right keys for a long time, the cursor will
move faster.
2020-02-12 15:13:15 +01:00
Léa Saviot
9f018eb9d9 [escher/view] setFrame and layoutSubviews can be forced 2020-02-12 15:13:15 +01:00
Ruben Dashyan
c3cf5c1ef4 Rename UCodePointUnknownX to UCodePointUnknown 2020-02-12 15:13:15 +01:00
Ruben Dashyan
9480bcacd5 [apps/*/expression_model] Make expressionAddress private 2020-02-12 15:13:15 +01:00
Léa Saviot
967dc0ea15 [apps/sequence] Set the Nstart/Nend messages at construction
This fixes the scenario:
Add a sequence, go to the Table then click on setTheInterval -> it
displayed Xstart Xend instead of Nstart Nend
2019-11-25 17:34:17 +01:00
Émilie Feral
84c6c02192 [sequence] Sequence::sumBetweenBounds: avoid repetitive evaluations of std::round 2019-11-18 14:20:47 +01:00
Émilie Feral
269f479c29 [sequence] Fix Sequence::sumBetweenBounds 2019-11-18 14:20:47 +01:00
Émilie Feral
b40c89cae8 [apps/graph][graph/sequence][graph/shared] Change constant names: add
"displayable" when adequate
2019-10-07 15:02:34 +02:00
Émilie Feral
a19edb4460 [apps/graph][apps/sequence] Add comments 2019-10-07 15:02:34 +02:00
Émilie Feral
60ad096956 [apps/graph][apps/sequence] ValuesController memoization buffer does not
require the same size for Sequence and Graph
2019-10-07 15:02:34 +02:00
Émilie Feral
dc3c67a2d2 [apps/shared][apps/graph][apps/sequence] Clean ValuesController 2019-10-07 15:02:34 +02:00
Émilie Feral
164572ca1e [apps/shared][apps/sequence][apps/graph] Speed-up values table scrolling
by memoizing values cell buffers
2019-10-07 15:02:34 +02:00
Émilie Feral
ff6eb7525f [apps/graph] Copy/Cut events on the values controller turn the "(1;3)"
notation into "[[1][3]]" in order to create a matrix layout when paste
into a layout field
2019-09-26 11:26:48 +02:00
É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
Émilie Feral
d6ad694b76 [apps/shared] EditableCellTableViewController: adjust column width to be
able to display float like "-1.234567E-123"
2019-09-26 11:26:48 +02:00
Émilie Feral
00bb1b7ac1 [apps/graph] ValuesController: column width are different for parametric
functions
2019-09-26 11:26:48 +02:00