Commit Graph

1298 Commits

Author SHA1 Message Date
É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
Émilie Feral
f850226341 [calculation] Fix ScrollableInputExactApproximateExpressionsView margins 2020-02-12 15:13:19 +01:00
Émilie Feral
90033a54c0 [shared] Avoid extra function call 2020-02-12 15:13:18 +01:00
Émilie Feral
ec0c7c0384 [apps/calculation] Create ScrollableInputExactApproximateExpressionsView
inheriting from Shared::ScrollableExactApproximateExpressionsView
2020-02-12 15:13:18 +01:00
Émilie Feral
6ed9e11de3 [apps/shared] ScrollableExactApproximateExpressionsView: split
ScrollableExactApproximateExpressionsView into
AbstractScrollableExactApproximateExpressionsView and
ScrollableExactApproximateExpressionsView to factorize code with future
ScrollableInputExactApproximateExpressionsView
2020-02-12 15:13:18 +01:00
Émilie Feral
904995f841 [apps/shared] ScrollableExactApproximateExpressionsView: remove useless
reload
2020-02-12 15:13:18 +01:00
Émilie Feral
29c50702ae [apps/shared] ScrollableExactApproximateExpressionsView: add a burger
view
2020-02-12 15:13:18 +01:00
Émilie Feral
f7942207f5 [apps/shared][apps/calculation] Create a methods
Shared::CurveView::drawAxisLabel and use it in ComplexGraphView
2020-02-12 15:13:18 +01:00
Émilie Feral
9c3dd84c42 [apps/shared] CurveView: factorize code of drawLabels and drawLabel 2020-02-12 15:13:18 +01:00
Émilie Feral
0beceede5f [apps/shared][apps/calculation] Create CurveView::drawLabel and use it
in complex_graph_view
2020-02-12 15:13:18 +01:00
Léa Saviot
cef4466ca8 [apps/expression_model] Smaller member variable size 2020-02-12 15:13:18 +01:00
Léa Saviot
f402f514a7 [apps/expression_model] Fix memoization of circularity
Scenario f(x)=cf(f(0)) in graph
2020-02-12 15:13:18 +01:00
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