Ruben Dashyan
b5dc7f738e
[escher/table_view] scrollToCell includes CellOverlap
...
In passing, factorize duplicate code.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
9ea63678e1
[escher] Inline ScrollView::setCommonMargins
2019-02-18 16:49:58 +01:00
Ruben Dashyan
0943406263
Fix HistoryViewCell and ScrollableExactApproximateExxpressionsCell margins issue
...
Remove all margins from those cells.
Rather add margins to their respective subviews:
- ScrollableExpressionView
- ScrollableExactApproximateExpressionsView.
As a notable consequence, the distance in HistoryViewCell between its
subviews becomes 10 instead of 5.
In passing, replace
- Metric::HistoryHorizontalMargin = 10
- ScrollableExactApproximateExpressionsView::k_digitHorizontalMargin = 10
- HistoryViewCell::k_digitVerticalMargin = 5
- ScrollableExactApproximateExpressionsCell::k_margin = 5
by
- Metric::CommonSmallMargin = 5
- Metric::CommonLargeMargin = 10.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
571967088e
[escher/scroll_view] Uniformize scroll bars frame across Epsilon
2019-02-18 16:49:58 +01:00
Ruben Dashyan
15de9f93ef
[escher/scroll_view] Implement Decorator::indicatorAtIndex explicitly
...
Instead of using pointer arithmetic
2019-02-18 16:49:58 +01:00
Émilie Feral
3487547f16
[escher] ScrollView: fix Decorators contructor/destructors
2019-02-18 16:49:58 +01:00
Émilie Feral
f18a55defe
[escher] ScrollView: make numberOfIndicators method const
2019-02-18 16:49:58 +01:00
Ruben Dashyan
1662b06f36
[escher/scroll_view] Put the decorators inside a union
2019-02-18 16:49:58 +01:00
Ruben Dashyan
76537cd432
[escher/scroll_view] layoutSubviews without screen tearing due to indicators
2019-02-18 16:49:58 +01:00
Ruben Dashyan
da0d42ca3b
[apps/calculation/history_view_cell] Fix background colors
...
Set m_inputView's m_expressionView's background color
2019-02-18 16:49:58 +01:00
Ruben Dashyan
08e8bf0eeb
[escher] Implement ScrollView::minimalSizeForOptimalDisplay including margins
...
Remove from derived classes:
- apps/calculation/scrollable_expression_view
- apps/code/consol_line_cell
- apps/shared/scrollable_exact_approximate_expressions_view
- escher/layout_field
- escher/table_view
- escher/text_field
2019-02-18 16:49:58 +01:00
Ruben Dashyan
fb32d9385e
[escher/scroll_view] Encapsulate m_contentView inside m_innerView
2019-02-18 16:49:58 +01:00
Ruben Dashyan
fd654d1c79
[escher/scroll_view] Remove setColorsBackground
...
Introduced in commit 37da7b95a to avoid screen tearing.
Not necessary anymore since commit 0e9092d2e .
2019-02-18 16:49:58 +01:00
Ruben Dashyan
cda88b3c3b
[escher/scroll_view] Fix virtuality issues of layoutSubviews
...
Method contentSize() made virtual and overridden by ScrollableView
so that ScrollableView and TableView do not need to setSize themselves
and that setSize/setFrame is not called twice over m_contentView.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
c439d6f376
[escher/scroll_view] Mark maxContent...DisplayableWithoutScrolling() as const
2019-02-18 16:49:58 +01:00
Ruben Dashyan
acecb92f75
[escher/*_view_controller] New ViewController::initView() method
...
Does some part of viewWillAppear().
2019-02-18 16:49:58 +01:00
Ruben Dashyan
faae55eb51
[escher/scroll_view] Replace setShowsIndicators by setDecoratorType
2019-02-18 16:49:58 +01:00
Ruben Dashyan
09e08b43a0
[escher/scroll_view] Define enum class Decorator::Type
2019-02-18 16:49:58 +01:00
Ruben Dashyan
eb17334050
[escher/scroll_view] New Arrow/BarDecorator inherit from Decorator
2019-02-18 16:49:58 +01:00
Ruben Dashyan
1beb8ca98f
[escher/scroll_view] Add arrow indicators
2019-02-18 16:49:58 +01:00
Ruben Dashyan
1e958717fb
[escher/scroll_view] Rename m_indicatorThickness to m_barsFrameBreadth
2019-02-18 16:49:58 +01:00
Ruben Dashyan
81f80ef602
[escher/scroll_view] Simplify layoutIndicators
...
Mark indicators' frame as dirty when necessary, indirectly by setFrame
to empty.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
5b78d65b6d
[escher/scroll_view] Simplify subviews management
2019-02-18 16:49:58 +01:00
Ruben Dashyan
42d6ec66ab
[escher/scroll_view] Prepare ScrollViewIndicator for future ScrollViewArrow
2019-02-18 16:49:58 +01:00
Ruben Dashyan
c02d44988b
[escher/scroll_view] New ScrollView::Decorator class
...
Containing the members specific to indicators
2019-02-18 16:49:58 +01:00
Ruben Dashyan
4936a3e7fe
[escher] New ScrollViewHorizontalIndicator and ScrollViewVerticalIndicator
2019-02-18 16:49:58 +01:00
Ruben Dashyan
7114fbc8dc
[escher] Simplify ScrollViewIndicator
2019-02-18 16:49:58 +01:00
Léa Saviot
a7208ade0f
[apps] Container::switchTo returns a bool (false if could not switch)
2019-01-22 14:57:51 +01:00
Léa Saviot
05bfbe83ac
[escher/pointer_text_view] Clean minimalSizeForOptimalDisplay
...
It was unneedingly overriden + added escape case on nullptr text
2019-01-10 11:42:05 +01:00
Léa Saviot
738d21cc2b
[apps/graph] Align function name and expresion baselines
2019-01-10 11:42:02 +01:00
Léa Saviot
4f4ae4e0f7
Merge branch 'master' into python_turtle
2019-01-08 14:32:43 +01:00
Léa Saviot
58f94f5e5f
[apps/code] Check that app can be exited before switching to DFU
...
This fixes the following crash: create a script which contains only
"input()". Execute it, then while in the input, plug in the calculator.
When un-plugging it, the device crashes.
2019-01-07 13:36:01 +01:00
Léa Saviot
df2b9c4d81
[escher/apps] Get children count via template in ToolboxMessageTree::Node
2018-12-21 13:29:32 +01:00
Léa Saviot
ed19d19070
Merge branch 'master' into python_turtle
2018-12-17 15:49:46 +01:00
Léa Saviot
101370c507
[escher] Change ToolboxMessageTree constructors
...
To simplify ToolboxMessageTree cosntruction
2018-12-17 15:27:38 +01:00
Léa Saviot
62de89ceba
[apps/code] Fix 'blue', 'red', ... python command insertion
...
The 'blue' command would be stripped and become ''.
2018-12-17 14:25:31 +01:00
Léa Saviot
62cda01d2b
[python/turtle] color and pencolor can take various arguments
...
These two methods are equal.
2018-12-11 14:42:04 +01:00
Léa Saviot
cc3beb6014
[python/turtle] Turtle::reset() method
2018-12-06 17:26:43 +01:00
Émilie Feral
10556b477b
[apps] Tidy snapshots when leaving the app following an exception
2018-12-03 13:47:52 +01:00
Léa Saviot
20e2194533
[escher] Remove Clipboard::store(Layout)
2018-11-23 12:04:09 +01:00
Léa Saviot
94603b2b7d
[poincare] Layout::serialize is serializeForParsing or ParsedExpression
...
serializeForParsing serializes the layout once,
serializeParsedExpression serializes the layout, parses it and
serializes it again.
2018-11-23 12:04:09 +01:00
Léa Saviot
bf6da61ca2
[escher/text_field] Fix privateHandleEvent text reset
2018-11-23 12:04:09 +01:00
Léa Saviot
a0e716c1ad
[apps/eschr] Rename textFieldDidHandleEvent parameter textSizeDidChange
2018-11-23 12:04:06 +01:00
Léa Saviot
aea98de6ec
[apps/escher] Fix "Clear" event handling in TextFieldWithExtension
2018-11-23 12:04:05 +01:00
Léa Saviot
b3f5bf13de
[apps/escher] Code layouting and typo
2018-11-23 12:04:04 +01:00
Léa Saviot
f47a6549b8
[escher] Remove duplicate Stack in Toolbox and NestedMenuController
...
This created a bug for instance when going deep down in the Python
toolbox, then going one step up: the user arrived in the highest menu
2018-11-23 12:04:04 +01:00
Léa Saviot
6fa7816789
[escher] Warning pop-ups may have two lines
2018-11-23 12:04:04 +01:00
Léa Saviot
00586b03d9
[escher] Fix pop up clash when memory is full while editing a function
...
There was a selection problem when editing a function failed because of
a full storage (k_storageSize = 1000)
2018-11-23 12:04:04 +01:00
Léa Saviot
bea78aa3b1
[apps/escher] Invocation::Action returns a bool
2018-11-23 12:04:04 +01:00
Léa Saviot
9bfaed583d
[apps/escher/ion] Remove Graph memoized models on storage change
2018-11-23 12:04:03 +01:00