Commit Graph

3009 Commits

Author SHA1 Message Date
Léa Saviot
52ae2a2643 [apps/calc] approximateOutput handles unparsable m_approximateOutputText
This fixes a crash when computing:
[[1, 0, -1, 0][0, 1, 1, 0][0, 2, 0, 1][1, 0, 0, 1]]^(-1)
2019-04-12 15:16:05 +02:00
Émilie Feral
e40e626eec [graph] Values tab: select the right cell of the values table when
displaying/undisplaying the derivative column
2019-03-12 16:21:30 +01: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
d7975cfa7f [scripts] Make sure apps have all their prerequisites 2019-03-06 15:00:59 +01:00
Romain Goyet
6e3ce5d295 [scripts] Make sure to build i18n.h 2019-03-06 15:00:59 +01:00
Romain Goyet
219fdcbdc6 [scripts] Correctly build the test runner 2019-03-06 15:00:59 +01:00
Romain Goyet
0c83253d2e [scripts] Use BUILD_DIR instead of build_dir 2019-03-06 15:00:59 +01:00
Romain Goyet
ef3f5b877c [apps] Delete the long-dead PicView app 2019-03-06 15:00:59 +01:00
Romain Goyet
bd6339f9dc [make] Rename OUTPUT_DIRECTORY to build_dir 2019-03-06 15:00:59 +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
24c9617a89 [poincare] Templatize TreeHandle Builders 2019-02-21 11:29:35 +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
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
7a977f5689 [apps/calculation] Remove redundancy
In HistoryController::willDisplayCellForIndex, both setCalculation and
reloadCell end up calling ScrollableExpressionView::layoutSubviews.
Indeed, setCalculation calls setLayout over m_inputView, which in turn
calls layoutSubviews. It is logical to remove the first occurence.
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
0e0b49acce [apps/calculation] Remove HistoryViewCell horizontal margins 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
faae55eb51 [escher/scroll_view] Replace setShowsIndicators by setDecoratorType 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
Ruben Dashyan
8029aab060 [apps/calculation] Remove unecessary namespace 2019-02-18 16:49:58 +01:00
Roman Wueest
93acf0b1a5 Fix german typo in shared.de.i18n
"Name" always uppercase.
2019-02-14 10:47:42 +01:00
Roman Wueest
dea27932d4 Fix for German typos in variables.de.i18n
"Expressions" was not German so far, I suggest "Ausdruecke"
The correct plural of function in German is "Funktionen".
"Namen" is a noun, and therefore written uppercase in German.
2019-02-12 13:53:24 +01:00
RomanWu
c901b31fde Fix typo base.de.i18n
German translation of "About" should not start with two uppercase letters.
2019-02-12 13:48:57 +01:00
Léa Saviot
a021af46fe [apps/code] Hide the sandbox between script importations 2019-02-06 11:45:03 +01:00
Léa Saviot
4a8c0a6bd0 [apps/code] Do not change the responders in autoImportScript if sandbox
This fixes the following scenario: create a script that draws at
importation (for instance, add "squares()" at the end of squares.py) and
execute this script. The sandbox is displayed but events are handled by
the underneath text field, thus leading to the display of the variable
box and other bugs.
2019-02-06 11:45:03 +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
Léa Saviot
0a5290d5a6 [apps/code] Fix MenuController::willExitResponderChain
It called textFieldDidAbortEditing, which called setFirstResponder,
which could clash with another setFirstResponder higher in the call
tree.

Scenario: build with an update popup, create a new script, edit its name
with an unvalid name and press the Power key while editing. When
powering on the device again, the first responder is not the popup even
though it is displayed, and pressing OK does not dismiss it.
2019-01-21 14:23:50 +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
1b78f03219 [apps/code] Comment the non support for upper cases in script names 2019-01-21 13:39:59 +01:00
Léa Saviot
f392ca8063 [apps/code] More details in NonCompliantName warning 2019-01-21 13:39:59 +01:00
Léa Saviot
1994e716bf [i18n] Change Message name 2019-01-21 13:39:59 +01:00
Léa Saviot
282feac8a1 [apps/code] Do not allow script names starting with a number. 2019-01-21 13:39:59 +01:00
Léa Saviot
31866aaaf5 [apps/calculation] Fix display of unreal
For instance ln(-2) in real mode should display "unreal"
2019-01-21 11:59:20 +01:00
Léa Saviot
54b8d07ee3 [apps/variable_box_controller] Fix layout memoization 2019-01-10 11:42:05 +01:00
Léa Saviot
35cc26b68a [apps/variable_box_controller] Shift memoization after deleting item 2019-01-10 11:42:05 +01:00
Léa Saviot
be3ab70e67 [apps/calculation] Do not display approximation if it is unreal
Fixes: sqrt(-1) in real complex format, then change complex format, it
then displays unreal = undef
2019-01-10 11:42:05 +01:00
Léa Saviot
027148f376 [apps/calculation] Clean comments 2019-01-10 11:42:05 +01:00
Émilie Feral
b3a8441289 [solver] Fix tests on EquationStore: delta discriminant is counted as a
solution
2019-01-10 11:42:05 +01:00
Émilie Feral
c3b335212c [solver] Add a warning message when a polynomial has no real root 2019-01-10 11:42:05 +01:00
Émilie Feral
8cf6006a58 [solver] I18n: add messages "The polynomial has no real root" 2019-01-10 11:42:05 +01:00