Commit Graph

813 Commits

Author SHA1 Message Date
Émilie Feral
5b89c1caa9 [sequence] Implement specific setExpressionContent for Sequence model 2019-04-12 15:16:52 +02:00
Émilie Feral
634972a724 [sequence] SequenceStore returns Sequence * instead of
ExpiringPointer<Sequence>

SequenceStore keep all its Sequences in an array which fix Sequence
addresses
2019-04-12 15:16:52 +02:00
Émilie Feral
ce4497fa25 [apps/sequence] Make controllers inherit from StorageFunction controllers when required 2019-04-12 15:16:52 +02:00
Émilie Feral
6a920391b9 [shared] ExpiringPointer: add constructor to enable pointer casting 2019-04-12 15:16:52 +02:00
Émilie Feral
226aaef448 [shared][graph] Factorize ListController baseline computation in
StorageFunctionListController
2019-04-12 15:16:52 +02:00
Émilie Feral
a8499a055e [shared] Factorize 'storageDidChangeForRecord' in StorageFunctionApp 2019-04-12 15:16:52 +02:00
Émilie Feral
a7192df59c [apps/shared] Split ExpressionModelHandle into ExpressionModelHandle and
SingleExpressionModelHandle (in perspective of Sequence model who will
be composed of 3 ExpressionModelHandle)
2019-04-12 15:16:52 +02:00
Émilie Feral
2ba077af28 [solver] Make Solver::ListController inherits from
StorageExpressionModelListController instead of
ExpressionModelListController
2019-04-12 15:16:52 +02:00
Émilie Feral
d6f5f1bbea [apps/shared] Make StorageExpressionModelListController
SelectableTableViewDelegate instead of StorageFunctionListController
2019-04-12 15:16:52 +02:00
Émilie Feral
d9eb8163bb [apps/shared] StorageExpressionModelListController: avoid useless
invalidation of memoization
2019-04-12 15:16:52 +02:00
Émilie Feral
0af6132016 [apps/shared] StorageExpressionModelListController: change name
reinitExpression--> reinitSelectedExpression
2019-04-12 15:16:52 +02:00
Émilie Feral
06b364d9f4 [apps/shared] StorageExpressionModelListController: switching from
no-selected-cell to first-cell-selected should not make the memoization
shift
2019-04-12 15:16:52 +02:00
Émilie Feral
64978202b4 [apps/shared] ExpressionModelHandle: specify the symbol that is turned
into Unknown X in Derived classes
2019-04-12 15:16:52 +02:00
Émilie Feral
0f37ee25f7 [solver] Make EquationStore inherits from StorageExpressionModelStore 2019-04-12 15:16:52 +02:00
Émilie Feral
53ee0607a1 [solver] Make Equation inherits from ExpressionModelHandle instead of
ExpressionModel
2019-04-12 15:16:52 +02:00
Émilie Feral
4be902be93 [apps/shared] Change name StorageExpressionModel -->
ExpressionModelHandle
2019-04-12 15:16:52 +02:00
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