Léa Saviot
8ac2c80625
[apps/settings] Reload the title bar when changing language
...
Before, the "Settings" title would not be immediately translated into
the new language.
2019-04-12 15:16:52 +02:00
Léa Saviot
c5f555b8f1
[apps] Fix SumGraphController array size
2019-04-12 15:16:52 +02:00
Léa Saviot
a214bbdc5a
[unicode] Use unicode when dealing with chars - Part 2
2019-04-12 15:16:51 +02:00
Léa Saviot
1f76cd65f3
[apps] Fix SumGraphController use of CodePointString
2019-04-12 15:16:51 +02:00
Léa Saviot
7020ecef57
[apps/escher] Rename cursorTextLocation as cursorLocation
2019-04-12 15:16:51 +02:00
Léa Saviot
43031928c3
Remove max/min inline from KDCoordinate header
2019-04-12 15:16:51 +02:00
Léa Saviot
b6eb663f53
[ion/kandinsky] Move unicode to ion
2019-04-12 15:16:51 +02:00
Léa Saviot
5142c071df
[escher] Fix text inputs so they use UTF8
2019-04-12 15:16:51 +02:00
Léa Saviot
f90e709201
[poincare/utf8_decoder] nextCodePointPointer is now stringPosition
2019-04-12 15:16:51 +02:00
Léa Saviot
8d759c0b3b
[unicode] Use the UTF8Decoder to scan const char *
2019-04-12 15:16:51 +02:00
Léa Saviot
63d7155376
Remove Ion::Charset
2019-04-12 15:16:50 +02:00
Émilie Feral
9eb672bb5f
[apps/shared] Fix
...
ExpressionFieldDelegateApp::layoutFieldDidReceiveEvent
Layouts have two potential serializations. For example,
HorizontalLayout(CharLayout(2), CharLayout(a)) can be serialized as:
"2a" and "2*a". In layoutFieldDidReceiveEvent, we want to check that the
longest serialisation is bounded by maxBufferSize. (We could have used
Layout::serializeParsedExpression but we don't to avoid parsing the
expression twice)
2019-03-11 13:20:08 +01:00
Romain Goyet
4f2c7a3763
[build] Update the i18n processing to fit the out-of-tree build
2019-03-06 15:00:59 +01:00
Romain Goyet
4f1d74f44b
[build] Use an out-of-tree build
2019-03-06 15:00:59 +01:00
Émilie Feral
7b5f3c570d
[poincare] Change the way Expression are built
2019-02-21 11:29:35 +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
3d254b9ef1
[apps/shared/scrollable_exact_approximate_expressions_cell] Fix background
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
98e00404b8
[apps/calculation] Enable arrow scrolling indicators and add horizontal margin
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
eb17334050
[escher/scroll_view] New Arrow/BarDecorator inherit from Decorator
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
c02d44988b
[escher/scroll_view] New ScrollView::Decorator class
...
Containing the members specific to indicators
2019-02-18 16:49:58 +01:00
Ruben Dashyan
9a46f42a97
[apps/shared] Fix indentation
2019-02-18 16:49:58 +01:00
Léa Saviot
48bf209f48
[apps/curve_view] Fix zero label position
...
For instance, in Probability app, draw a standard normal law. The zero
was top left of the screen...
2019-01-21 14:23:26 +01:00
Léa Saviot
e2ac56abc6
[apps/curve_view] Fix grid lines not drawn due to pixel to float error
2019-01-10 11:42:05 +01:00
Léa Saviot
9639469761
[apps/curve_view] Fix drawGridLines that drew the opposite axis
2019-01-10 11:42:05 +01:00
Léa Saviot
869e534b4b
[apps] MAke some InteractiveCurveViewRangeDelegate methods const
2019-01-10 11:42:05 +01:00
Léa Saviot
5d1ef0f3f0
[apps/sequence] Use first ranks when computing graph range
...
Put two sequences u(n+1)=u(n) and v(n+1) = v(n), u(100) = 50, v(50) = 8.
Basic settings computed the x range as [0,10] before, now it is
[50,110].
2019-01-10 11:42:05 +01:00
Léa Saviot
6720ad7b38
[apps] Rename interestingXRange as interestingXHalfRange
2019-01-10 11:42:05 +01:00
Léa Saviot
4d1114ef63
[apps/curve_view] Increase numberOfSignificant digits when needed
...
Labels might be rounded to the same value (for example, in Probability,
draw a normal law with mu = 100000 and sigma = 0.1), in which case we
need to display extremal labels only, with increased number of
significant digits.
2019-01-10 11:42:05 +01:00
Léa Saviot
460b49010c
[apps/curve_view] Do not draw the 0 label if the axis is floating
...
The 0 is represented by the other axis
2019-01-10 11:42:05 +01:00
Léa Saviot
37117ed7e7
[apps/curve_view] Do not draw extremal Y label if it overlaps X labels
2019-01-10 11:42:05 +01:00
Léa Saviot
718160b964
[apps] Draw grid lines in bold and light colors in curve_view
2019-01-10 11:42:05 +01:00
Léa Saviot
5d7a7c7371
[apps/curve_view] Make drawGridLines private
2019-01-10 11:42:05 +01:00
Léa Saviot
69105572ef
[apps] Change axes drawing order in curve views
2019-01-10 11:42:05 +01:00
Léa Saviot
335264e944
[apps] Typo: drawAxes is now drawAxis
2019-01-10 11:42:05 +01:00
Léa Saviot
e5f0959239
[poincare] Static Expression methods start with uppercase
2019-01-10 11:42:05 +01:00
Léa Saviot
1b0b9a5c42
[apps/probability] Color the background behind graph labels
2019-01-10 11:42:04 +01:00
Léa Saviot
2cb921d501
[apps] Clean comment
2019-01-10 11:42:04 +01:00
Léa Saviot
155688540f
[apps/curve_view] Clean grid unit algorithm
2019-01-10 11:42:04 +01:00
Léa Saviot
d3dd644e0d
[apps/curve_view] Draw graduations event if step << x
2019-01-10 11:42:04 +01:00
Léa Saviot
4353d80b26
[apps/probability] Increase Normal law values (draw centered reduced)
2019-01-10 11:42:04 +01:00
Léa Saviot
97db53007a
[apps] Fix wrong assertion that should be an escape case
2019-01-10 11:42:04 +01:00
Émilie Feral
fe8825df35
[shared] PoincareHelpers: update the complexFormat (force it to
...
Cartesian with complex input).
2019-01-10 11:42:04 +01:00
Émilie Feral
61d58b5dfa
[shared] SimplifyAndApproximate is used with already updated
...
ComplexFormat
2019-01-10 11:42:04 +01:00
Émilie Feral
ecf3f2ea0f
[poincare] Create a a flag on Expression that is set when the
...
approximation encouters a complex value
All approximation methods take the complex format into account.
2019-01-10 11:42:04 +01:00
Émilie Feral
26e2e9be0d
[poincare] Add complex format as an argument of simplification
2019-01-10 11:42:04 +01:00
Émilie Feral
c6039423a9
[poincare] When simplifying an expression, also compute the approximation from the reduced
...
expression to avoid loss of precision.
If an expression is reduced to a ComplexCartesian(a, b), we compute the
approximation from ComplexCartesian(a,b) instead of going through the
potentially complicated expression resulting from beautifying
(sqrt(a^2+b^2)*exp(i*(arctan(b/a) -Pi/2*sign(b)) for example)
2019-01-10 11:42:03 +01:00