Commit Graph

1284 Commits

Author SHA1 Message Date
Ruben Dashyan
2fb6824947 [apps/shared/interactive_curve_view_controller] Rewrite comment about addMargin 2020-02-12 15:13:16 +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
Léa Saviot
0055a59c75 [apps/banner_view] Fix minimalSizeForOptimalDisplay
Should not use m_frame as it may not be set properly. By default, a
banner view wants to take the whole screen width
This fixes the following scenario :
Draw the polar curve r=12. When navigating from the tab to the graph,
the curve was visibly redrawn because the banner view height was not
computed properly.
2020-02-12 15:13:15 +01:00
Ruben Dashyan
a3053acac4 [apps/shared/expression_model] Add TODOs for later 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
3183ca7d7e Replace Poincare::Function unknown earlier (in Context) 2020-02-12 15:13:15 +01:00
Ruben Dashyan
34aa27ea08 [apps/shared/continuous_function] Simplify templatedApproximateAtParameter 2020-02-12 15:13:15 +01:00
Ruben Dashyan
5750d00574 [apps/shared] Remove redundant call to isCircularlyDefined
ExpressionModel::expressionReduced does already call isCircularlyDefined
and returns undef if true.
The isCircularlyDefined method is then made private.
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
Émilie Feral
6a5708a562 [apps/shared] ScrollableExactApproximateExpressionsView: when only the
right expression is displayed, prevent from selecting the left
expression.

This fixes the following bug: add '1' to the calculation store, select
the output expression and go to the left. The selection is now on an
invisible cell.
2020-01-06 14:07:20 +01:00
Émilie Feral
5ec09fdbd6 [apps/shared] ValuesController: fix didChangeCell to reload all cells
corresponding to the abscissa cell
2019-11-21 11:16:07 +01:00
Émilie Feral
ccf848a9eb [poincare] Add test: do not expand multinome when reduction target is
System
2019-11-21 09:47:16 +01:00
Ruben Dashyan
bb83f057fe [apps/shared/values_controller] Simplify didChangeCell
Shift by m_firstMemoizedRow earlier.
2019-11-13 09:38:07 +01:00
Ruben Dashyan
ecde47784c [apps/shared/values_controller] Avoid extra calls to numberOfMemoizedColumn 2019-11-13 09:38:07 +01:00
Émilie Feral
f6cfcab4e5 [apps/shared] CurveView: add an assertion on the number of labels to
avoid reading out of bound memory
2019-10-18 14:32:57 +02:00
Émilie Feral
abfda7dbce [apps/shared] ValuesController: fix viewWillAppear, reset memoization
before reloading data
2019-10-07 15:02:34 +02:00
Émilie Feral
5928a6fd80 [apps/shared] ValuesController: reload memoization when deleting rows 2019-10-07 15:02:34 +02:00
Émilie Feral
e87a096689 [apps/shared] didChangeCell reload only cells corresponding to the
modified abscissa
2019-10-07 15:02:34 +02:00
Émilie Feral
cd7071277b [apps/shared] Use memmove instead of shifting the table cell by cell 2019-10-07 15:02:34 +02:00
Émilie Feral
a81f76332c [apps/shared] ValuesController: when reloading an entire row, reload
only visible cells
2019-10-07 15:02:34 +02: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
d4f6f5a477 [apps/graph] ValuesController: Decrease the number memoized cells by
making the cell wider
2019-10-07 15:02:34 +02:00
Émilie Feral
2efbec59a1 [apps/shared] Avoid extra calls to numberOfMemoizedColumn 2019-10-07 15:02:34 +02:00
Émilie Feral
f995fb0fc2 [apps/shared] ValuesController: reload memoized cell when abscissa is
edited
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
98f2b8a11f [poincare][apps/shared] Use IEEE754::exponentInBase10 instead of
std::floor(std::log10()) to avoid precision issues when computing
the number of digits of a number
2019-10-03 10:31:25 +02:00
Léa Saviot
2dee8f2b1f [apps/regression] Fix cursor redrawing when changing cursor type
Scenario:
double x[numberOfPoints] = {0.0, 0.975, 1.97, 2.945, 3.971, 4.887, 5.924, 6.964, 7.979, 8.974, 9.998};
double y[numberOfPoints] = {-23.784, -23.322, -28.322, -18.422, -4.813206, 7.146241, 16.631, 16.632, 9.209189, -6.050863, -19.659};
Quadratic regression, navigate on the points then go on the
regressioncurve -> there is a drawing glitch
2019-09-30 17:05:17 +02:00
Ruben Dashyan
cc1d51f331 [apps/shared/expression_model] Substitute Expression::replaceSymbolWithExpression for replaceUnknown
since the latter calls the former anyway.
2019-09-27 17:57:29 +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
e7e4820513 [apps/shared] StoreController: compute cell width from the number of
glyph required to display the largest float
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
3872785d57 [escher] Add Metric::CellMargin 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
Émilie Feral
bf23e0f8da [apps/graph] ValuesController: change display of the parametric column -
display only one column for (x;y) values
2019-09-26 11:26:48 +02:00
Émilie Feral
6a983a5bdf [apps/graph] ValuesController: factorize code to hide the cells 2019-09-26 11:26:48 +02:00
Émilie Feral
743bf7cf28 [escher] EvenOddMessageTextCell wraps the message view with a 2-pixel
margins (avoid almost duplicate classes)
2019-09-26 11:26:48 +02:00
Émilie Feral
6f70924893 [escher] EvenOddBufferTextCell wraps the text view with a 2-pixel margin 2019-09-26 11:26:48 +02:00
Ruben Dashyan
259eb35cf4 Revert ""Almost equal to" sign in banner views"
This reverts commit bd5a247858.
2019-09-26 10:36:17 +02:00
Émilie Feral
db04183910 [apps/shared] Temporary fix: enable to display large float
(-1.234567E-123) in the values controller

This fix is not great and will be improved in future commits
2019-09-25 15:33:11 +02:00
Léa Saviot
79a70f5b6e [apps/graph] Clip t when navigating curves vertically 2019-09-23 17:31:35 +02:00
Léa Saviot
e9974a216d [apps/graph] If only cartesians, jump to next curve when out of range
Scenario:

-----------•   ->press "right": the cursor goes on the lower curve

           -*-*-*-*-*-
2019-09-23 17:31:35 +02:00
Léa Saviot
f037df0ab5 [apps/round_cursor_view] Fix color change
When changing the color, erase the cursor first, otherwise there is a
drawing glitch

Scenario:
f(x)=1
g(x)=2
Cursor on f(x), go to g(x), go right -> the previous cursor left a dot
2019-09-23 17:31:35 +02:00
Léa Saviot
ebfa251db8 [apps/grah} closestCurveIndexVertically renamed as next... 2019-09-23 17:31:35 +02:00
Ruben Dashyan
bd5a247858 "Almost equal to" sign in banner views 2019-09-23 17:31:02 +02:00
Ruben Dashyan
c7f15385a6 [apps/shared/global_context] Remove ExpressionFromSymbolRecord and ExpressionFromFunctionRecord 2019-09-23 11:04:29 +02:00
Ruben Dashyan
abf5169edd [apps/shared/global_context] Remove reduandant record verifications
Expression::ExpressionFromAddress already handles this.
2019-09-23 11:04:29 +02:00