Commit Graph

7866 Commits

Author SHA1 Message Date
Ruben Dashyan
a400a5024b [apps/shared] Implement SumGraphController::reloadBannerView 2019-05-03 15:54:21 +02:00
Ruben Dashyan
e47ab69e53 [apps/shared] Implement SumGraphController::handleLeftRightEvent 2019-05-03 15:54:21 +02:00
Ruben Dashyan
211ae05667 [apps/shared] Clean SumGraphController 2019-05-03 15:54:21 +02:00
Ruben Dashyan
355e42734d [apps] Replace BannerView::set(Legend|Message)AtIndex by getters 2019-05-03 15:54:21 +02:00
Ruben Dashyan
205ae8fec5 [apps] Remove BannerView::messageTextViewAtIndex method 2019-05-03 15:54:21 +02:00
Ruben Dashyan
07a9116147 [apps/statistics] Remove public MultipleDataView::editableBannerView() getter
Instead use existing protected virtual bannerView() getter. The reason
why both existed is that one was const but not the other. A const
variant is needed only exceptionally: in bannerFrame() which is called
by drawRect().
Moreover, bannerView() is virtual and is overridden in its derived
classes using co-variant return types. That fact is important in the
following commit.
2019-05-03 15:54:21 +02:00
Ruben Dashyan
e2be17f150 [apps/graph] Graph::GraphControllerHelper::BannerView() returns a Graph::BannerView *
Instead of a Shared::BannerView *
2019-05-03 15:54:21 +02:00
Ruben Dashyan
51c36c8f86 [apps/shared] FunctionBannerDelegate::bannerView() returns a XYBannerView * 2019-05-03 15:54:21 +02:00
Ruben Dashyan
0d34923dd1 [apps] Graph/Regression/Sequence::BannerView inherit from new Shared::XYBannerView 2019-05-03 15:54:21 +02:00
Ruben Dashyan
236b752f4f [apps] replace BannerView::textViewAtIndex by subviewAtIndex 2019-05-03 15:54:21 +02:00
Ruben Dashyan
513a4cf852 [apps] BannerView::numberOfSubviews
Shared::BannerView::numberOfSubviews made pure virtual.
Define constexpr attributes instead of magic numbers.
Move numberOfSubviews to header file.
2019-05-03 15:54:21 +02:00
Émilie Feral
54ff7a3b84 [calculation] HistoryController: Avoid useless cell reloading (avoid
blinking)
2019-05-03 15:54:21 +02:00
Émilie Feral
2217eebaec [escher] SelectableTableView: when reloading data, we temporary deselect
the table. We warn the SelectableTableViewDelegate that the selection
change is 'within a temporary selection change' when notifying it of the
change.
2019-05-03 15:54:21 +02:00
Émilie Feral
138587ee8e [calculation] Calculation: memoized display output 2019-05-03 15:54:21 +02:00
Émilie Feral
08e4b0d6a3 [shared] Clean reloading (highlight, even) of
ScrollableExactApproximateExpressionsCell and
ScrollableExactApproximateExpressionsView
2019-05-03 15:54:21 +02:00
Émilie Feral
1e72a1c9c2 [calculation] HistoryViewCell: clean 2019-05-03 15:54:21 +02:00
Émilie Feral
a30191ccb4 [calculation] Change name: 'calculation selected' --> 'calculation
expanded'
2019-05-03 15:54:21 +02:00
Émilie Feral
12876b177f [calculation] Calculation: discard Calculation::toggleDisplayExact (this
feature will be developed later)
2019-05-03 15:54:21 +02:00
Émilie Feral
3f961b7705 [calculation] HistoryViewCell: better split reload (highlight, scroll
etc)  between willDisplayCellForIndex and cellDidSelectSubview
2019-05-03 15:54:21 +02:00
Émilie Feral
05a235803f [calculation] HistoryViewCell: fix scroll reloading and right or left
outputs selection (the order of events here matters)
2019-05-03 15:54:21 +02:00
Émilie Feral
39c53b5e8b [calculation] HistoryViewCell: memoize calculation and cell selection to
speed up navigation in HistoryController
2019-05-03 15:54:21 +02:00
Émilie Feral
5e280c7538 [escher] ExpressionView: optimize setLayouts to avoid marking the whole
view as dirty when the layout did not really changed
2019-05-03 15:54:21 +02:00
Émilie Feral
c1a0e94ec7 [escher] Clean empty lines 2019-05-03 15:54:21 +02:00
Émilie Feral
5590c23edf [poincare] Layout: implement isIdenticalTo 2019-05-03 15:54:21 +02:00
Émilie Feral
9665f11d06 [poincare] Layout: discard methods isVerticalOffset(), isHorizontal(),
isRightParenthesisLayout(), isLeftBracket(), isRightBracket(),
isCodePoint(),
isLeftParenthesisLayout() and use type() instead
2019-05-03 15:54:21 +02:00
Émilie Feral
6fcb29b147 [poincare] Layout: add a Type to all layouts 2019-05-03 15:54:21 +02:00
Émilie Feral
da1ee21fd5 [poincare] VerticalOffsetLayout: change name of 'Type' to 'Position' 2019-05-03 15:54:21 +02:00
Émilie Feral
6c0e6b9709 [shared] ScrollableExactApproximateExpressionsView: fix scrolling when
selecting the left or right output result
2019-05-03 15:54:21 +02:00
Émilie Feral
240ed439e0 [escher] ScrollableView: discard duplicate data source of scrolling
offset
2019-05-03 15:54:21 +02:00
Émilie Feral
8e0d3065f7 [calculation] HistoryViewCell: reloadCell selects the right or left
output according to the calculation hold (this enables to discard
unnecessary reloadScroll)
2019-05-03 15:54:21 +02:00
Émilie Feral
8afbee8b89 [shared] ScrollableExactApproximateExpressionsView: selecting the right
or left output reload the scroll to display the selected output
2019-05-03 15:54:21 +02:00
Émilie Feral
7db575a4ba [calculation] Calculation: improve memoization of a calculation height 2019-05-03 15:54:21 +02:00
Émilie Feral
06a8382ff4 [shared] ScrollableExactApproximateExpressionsView: change the selected
output only when one of the two layout is uninitialized. Otherwise, the
parent cell decides of which of right or left output should be selected.
2019-05-03 15:54:21 +02:00
Émilie Feral
a3f669fb08 [escher] TextView: avoid useless markRectAsDirty when updating
backgroundColor and textColor
2019-05-03 15:54:20 +02:00
Émilie Feral
80078137d5 [calculation] Display exact and approximate outputs in the
calculation history when the output is selected for calculations
involving decimal numbers (1.2)
2019-05-03 15:54:20 +02:00
Émilie Feral
6fd5cb360b [calculation] Improve Calculation model: new display mode
ExactAndApproximateToggle
2019-05-03 15:54:20 +02:00
Émilie Feral
50ad6b6761 [escher] SelectableTableViewDataSource: avoid calling m_delegate->tableViewDidChangeSelection when only reloading the data. 2019-05-03 15:54:20 +02:00
Ruben Dashyan
1081127c97 [apps/calculation] Simplify HistoryViewCell::handleEvent 2019-05-03 15:54:20 +02:00
Ruben Dashyan
a3fe99da21 [escher] Simplify TableView::scrollToCell 2019-05-03 15:54:20 +02:00
Ruben Dashyan
2d7c87d461 [apps/calculation] HistoryViewCell does not need to hold layouts 2019-05-03 15:54:20 +02:00
Émilie Feral
0e3d199221 [poincare] Keep unused log function when building with POINCARE_TREE_LOG 2019-05-03 15:54:20 +02:00
Émilie Feral
7836288ac0 [poincare] Power: fix infinite loop
Factorizing 1+(8+sqrt(6))^(1/2)^(-1) on the same denominator would lead
to an infinite loop in Real mode (because (8+sqrt(6))^(1/2)^(-1) is not
simplified to (8+sqrt(6))^(-1/2))
2019-05-03 15:54:20 +02:00
Émilie Feral
a839c88883 [sequence] Fix isDefined 2019-05-03 15:54:20 +02:00
Émilie Feral
3ebb42bf9d [poincare] Fix Layout::replaceWithJuxtapositionOf (keep an empty layout
if both children are empty)
2019-05-03 15:54:20 +02:00
Émilie Feral
20cd002e3e [graph] Fix build 2019-05-03 15:54:20 +02:00
Émilie Feral
34001fc094 [apps] BatteryView: avoid redrawing when battery picto switch from 'low'
to 'empty' (the pictograms for low and empty are identical)
2019-05-03 15:54:20 +02:00
Ruben Dashyan
04675f1a5b [apps/graph/graph] Add Preimage controllers to CalculationParameterController 2019-05-03 15:54:20 +02:00
Ruben Dashyan
682fa3f294 [apps/graph/graph] CalculationParameterController inherits from ListViewDataSource
instead of SimpleListViewDataSource
2019-05-03 15:54:20 +02:00
Ruben Dashyan
938c7a1a45 [apps/graph/graph] Define PreimageParameterController class 2019-05-03 15:54:20 +02:00
Ruben Dashyan
439474b23b [apps/graph/graph] Define PreimageGraphController class 2019-05-03 15:54:20 +02:00