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