Commit Graph

858 Commits

Author SHA1 Message Date
Léa Saviot
12aaa8c8a5 [escher] Decomment waitForVBlank 2019-04-08 17:14:14 +02:00
Émilie Feral
ff6d8139f3 Merge branch 'master' of github.com:numworks/epsilon into f7 2019-03-14 15:10:40 +01:00
Émilie Feral
ac6f23684d [poincare] Clean Expression and Layout builders
Before: Opposite(Opposite(Rational(1))) misleadingly created the
expression "-1"; now, Opposite::Builder(Opposite::Builder(Rational(1)))
creates "--1"
2019-02-21 11:29:35 +01:00
Ruben Dashyan
b3d15d7e7f [escher/table_view] layoutSubviews of m_contentView first 2019-02-18 16:49:58 +01:00
Ruben Dashyan
b5dc7f738e [escher/table_view] scrollToCell includes CellOverlap
In passing, factorize duplicate code.
2019-02-18 16:49:58 +01:00
Ruben Dashyan
1ac829ca18 [escher/scroll_view_indicator] Fix rounding issues for bars 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
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
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
9b0e2ac059 [escher/scroll_view] Simplify scrollToContentPoint 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
6f9493db5d [escher/scroll_view] Use virtuality of Decorator methods 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
Ruben Dashyan
8772e1dc10 [escher] Factorize ScrollView::layoutSubViews() 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
4128ebb864 [escher] In container, check the app can be exited before switching apps 2019-01-22 14:57:51 +01:00
Ruben Dashyan
d5ff7b118a [escher] WIP: Temporarily comment Ion::Display::waitForVBlank() 2019-01-10 17:06:34 +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
b8b4d481b5 [escher] Use the vertical alignment in ExpressionView 2019-01-10 11:42:02 +01:00
Léa Saviot
ed19d19070 Merge branch 'master' into python_turtle 2018-12-17 15:49:46 +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
df45f800e1 [escher] SelectableTableView: fix wrong assert 2018-11-26 14:48:54 +01:00
Émilie Feral
55be86ef50 [escher] TableView::cellAtLocation should return nullptr if the cell is
invisible and therefore no view displays it.

Fix bug: add 4 functions, in the values table one cell is wrong as soon
as you edit an x value
2018-11-26 11:24:30 +01:00
Léa Saviot
c30f136fb3 [apps/poincare] Fix cursor position when inserting log(a,b) in 2DEdition 2018-11-23 12:04:09 +01:00
Léa Saviot
73d97944d5 [escher] Text fields do not have to handle special texts (_{}) anymore 2018-11-23 12:04:09 +01:00
Léa Saviot
53e4a290f7 [poincare] Rename Expression:parse in Parse 2018-11-23 12:04:09 +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
860553b735 [escher] Fix cursor position in textfield
The cursor was not in the right place in TextFieldWithExtension
2018-11-23 12:04:08 +01:00