Commit Graph

666 Commits

Author SHA1 Message Date
Ruben Dashyan
8365735f98 [apps/calculation/additional_outputs/expression_list_controller] Computed Layouts must not be uninitialized 2020-06-04 14:50:01 +02:00
Ruben Dashyan
a31524173f [apps/calculation/history_controller] Factor handleEvent 2020-06-04 14:50:01 +02:00
Ruben Dashyan
a3265996fe [apps/calculation/history_controller] Factor handleEvent 2020-06-04 14:50:01 +02:00
Ruben Dashyan
f3bcedd43d [apps/calculation/history_controller] Simplify and harmonize handleEvent 2020-06-04 14:50:01 +02:00
Ruben Dashyan
167827f0e4 [apps/calculation] EditExpressionController accesses subview directly 2020-06-04 14:50:01 +02:00
Ruben Dashyan
63ab8710b9 [apps/calculation] Factor EditExpressionController::insertTextBody 2020-06-04 14:50:01 +02:00
Ruben Dashyan
145381ad4b [apps/calculation/additional_outputs] Remove parentResponder parameter from ListControllers' constructor
which was always set to nullptr
2020-06-04 14:50:01 +02:00
Léa Saviot
93d687abc2 [apps/calculation] Fix height computation in additional results 2020-06-04 05:47:55 -07:00
Léa Saviot
b034f8e054 [apps/calculation] Fix history navigation
When calculations span on two lines, better selection
2020-05-28 04:44:27 -07:00
Léa Saviot
a56a73b0ba [apps/calculation] Fix calculation height computation
It was done in two places before, which created inconsistencies
2020-05-28 04:44:27 -07:00
Léa Saviot
0379327b06 [apps/calculation] Geographic navigation in the history 2020-05-28 04:44:27 -07:00
Léa Saviot
e2f4b30b84 [apps/calculation] Remove unused variable 2020-05-28 04:44:27 -07:00
Léa Saviot
c4908c2bd9 [apps/calculation] Fix bottom calculation margin
Scenario: enter a calculation that uses two lines, the margin on the
bottom is too big
2020-05-28 04:44:27 -07:00
Léa Saviot
5535145b51 [apps/calculation] Calculation on 2 lines if does not fit when expanded
Scenario: 1+1+1+1+1+1+1+10.5 fits on one line when not expanded, but
when the exact result is displayed not -> we thus always display it on
two lines
2020-05-28 04:44:27 -07:00
Léa Saviot
feee0a673c [apps/calculation] HistoryViewCell cleaning 2020-05-28 04:44:27 -07:00
Léa Saviot
6948011ae0 [apps/calculation] Handle navigation in single lined output 2020-05-28 04:44:27 -07:00
Léa Saviot
579485c8c0 [apps/calculation] CanBeSingleLine differs if args are view/layout sizes
If the sizes are for layouts, we need to add the margins added by the
views.
2020-05-28 04:44:27 -07:00
Léa Saviot
4f50a72abf [apps/calculation] Clean Calculation::height 2020-05-28 04:44:27 -07:00
Léa Saviot
11c39b6206 [apps/calculation] Calculation::height has two types of margin arguments
One for the margin between layouts and on top / at the bottom of the
cell, the other for the margin surrounding each layout.
2020-05-28 04:44:27 -07:00
Léa Saviot
78cac6ddae [apps/calculation] Calculation::height has CanBeSingleLine argument 2020-05-28 04:44:27 -07:00
Léa Saviot
1c2801907f [apps/calculation] Factorize and clean code 2020-05-28 04:44:27 -07:00
Léa Saviot
525290427a [apps/calculation] Calculation::height takes verticalMargin argument 2020-05-28 04:44:27 -07:00
Léa Saviot
7ccaf3fc50 [apps/calculation] Rename allExpressionsInline to forceSingleLine 2020-05-28 04:44:27 -07:00
Léa Saviot
5a68b44aa1 [apps/calc] Merge SingleLine and allExpressionsInline behaviours 2020-05-28 04:44:27 -07:00
Léa Saviot
c3d8520e73 [apps/calculation] Remove unnecessary bool 2020-05-28 04:44:27 -07:00
0b101
b48d3d6e4a Added a new compact result display mode 2020-05-28 04:44:27 -07:00
Romain Goyet
a07ab8015e [apps/calculation] Correct insert in fractions 2020-05-11 10:34:28 +02:00
maximilianwalter
7b40f55973 added equivalents 2020-04-21 06:45:17 -07:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Neven Sajko
dd6a729f65 Better usage of some floating point constants 2020-04-09 13:58:56 +02:00
Neven Sajko
c92b770112 Performance fixes relating to floating point constants
This replaces unnecessary double-precision soft-float operations with
single-precision floating-point operations, mainly by casting.

In a couple places I also replace a function call with a constant.
2020-04-09 13:58:56 +02:00
Émilie Feral
068325d151 Coding style: remove unecessary 'virtual' keyword when 'override' is
present 2/2
2020-04-09 11:36:51 +02: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
300de8fb15 [apps/calculation] HistoryViewCell: when changing SubviewType, set the
right subcell as first responder!

This fixes the following bug: when selecting a cell whose content is too
long to be displayed, the scrolling is broken
2020-04-03 10:42:42 +02:00
Émilie Feral
90222c3f45 [apps/calculation] SelectableTableView: scrollToCell once the margin
have been updated

This fixes the following bug: input the vertical matrix [1,2,3], the
scroll failed
2020-04-03 10:42:42 +02:00
Émilie Feral
e6516ae0e7 [apps/calculation] Fix typo 2020-04-03 10:39:05 +02:00
Émilie Feral
bc8dc0c59c [apps] Use drawSegment when drawing lines instead of drawCurve or
drawCartesianCurve
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
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
Léa Saviot
c8537df3b4 [apps/calc] Do not forget to call parent method
Scenario: Open several times the additional outputs menu, there are
drawing problems (multiple stack headers)
2020-02-21 17:04:19 +01:00
Émilie Feral
c3d8e09ceb [apps/calculation] Calculation: invalid heights memoization when forcing the
display output
2020-02-20 10:56:11 +01:00
Émilie Feral
a2a47bb8ae [apps/calculation] Additional outputs: dismiss the pop-up before doing
any Poincare computations to optimize the available space in the
Poincare pool
2020-02-20 10:56:11 +01:00
Émilie Feral
99e88df284 [apps/calculation] Additional outputs: Clean cells when the pop-up
disappears to avoid uselessly overloading the Poincare pool
2020-02-20 10:56:11 +01:00
Émilie Feral
94daf465c4 [escher][apps/calculation] Improve ScrollView::scrollToContentRect to
scroll "smartly" when scrolling to a too-big-to-be-displayed rect

This fixes calculation history navigation on big cells (that are bigger
than the displayed table)
2020-02-20 10:56:11 +01:00
Émilie Feral
24d9f37205 [apps/calculation] Clean how cell subtype is selected/
This fixes crashes: indeed, in the way it was done before, we called
scrollToSubviewOfTypeOfCellAtLocation after setting the new selected subtype
and before reloading the data. However, selecting a new subtype might expand
the selected cell which can temper with the cell repartition. If so, we need to
reload the data to be able to call 'selectedCell' for instance.
2020-02-20 10:56:11 +01:00
Émilie Feral
2a03583fe0 [apps/calculation] Reset history cell memoization when reloading the
table. Otherwise, the Poincare pool store useless layouts for cells that
aren't displayed.

This fixes the following issue: input "(transpose([1 2 3 4 5 6][1 2 3 4 5
6])^8", the computation works, clear the history, input the same
calculation again, it fails with a memory error.
2020-02-19 10:34:28 +01:00
Romain Goyet
1353e512fe [apps] Remove dead code 2020-02-17 10:31:24 -05: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