Commit Graph

195 Commits

Author SHA1 Message Date
Gabriel Ozouf
d8e6b63a2e [sequence] Type stays selected in menu
- Create a first-order recursive sequence
  - Select u_n -> Sequence type
--> The second line will be selected, as expected.

Change-Id: I2025ebaa9a7b49ee33ff5e63a4c767a858b46850
2020-11-04 15:33:03 +01:00
Arthur Camouseigt
c006ed7b10 [Sequence & Shared] Changed the location of various files
Moved sequences files to shared in order to allow the system to compile
without the app sequence.

Change-Id: Ia8349814a72776244acc41af964059f24e58cff0
2020-11-04 15:32:58 +01:00
Hugo Saint-Vignes
e27c668c40 [apps,escher,kandinsky,poincare,python] Replace every "grey" with "gray"
Change-Id: I60a232849dce90f70e6977b6024d6e9b1ce1b731
2020-11-04 15:07:20 +01:00
Émilie Feral
bac2949a5e [escher][apps] SelectableTableViewDelegate: add
tableViewDidChangeSelectionAndDidScroll method and implement it for
Calculation::HistoryController

This fixes the following bug: In the calculation application, input 1,
OK, 1/2/3/4/5/6/7/8, OK, up, up, left, down, up. The selection failed.
2020-06-25 13:48:47 +02:00
Romain Goyet
84768472bd Explicit std::min/max template usage
This is unfortunately required in several cases:
 - Sometimes when we use either float and double (this should be changed)
 - Because KDCoordinate is not an int, so any arithmemtic promotes it to
an int
 - Because we mix pointer differences and ints
2020-04-14 09:31:02 -04:00
Romain Goyet
950862f8d0 Use std::min and std::max 2020-04-14 09:31:02 -04:00
Léa Saviot
a3a1f86f8d [apps] Add context parameter to fix tests 2020-02-12 15:13:21 +01:00
Léa Saviot
756eeeb2d8 [poincare/parser] Add context 2020-02-12 15:13:21 +01:00
Émilie Feral
4bd3dfd542 [escher] TableCell: the subviews are layoutted horizontally or
vertically. We add an option to decide which subviews should overlap on
top of the other if there is not enough space
2020-02-12 15:13:20 +01:00
Émilie Feral
9312d2bd65 [escher] ExpressionTableCell is composed of a ScrollableExpressionView
instead of an ExpressionView
2020-02-12 15:13:19 +01:00
Ruben Dashyan
1d966ce23c [apps/*/expression_model_list_controller] editExpression sets text instead of InputViewController::edit 2019-09-20 17:11:42 +02:00
Ruben Dashyan
413397652c [apps/*/expression_model_list_controller] Refactor modelStore()
Its return type is covariant. Get the ExpressionModelStore from the App.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
91e3078234 [apps/*/expression_model_list_controller] Factor isAddEmptyRow 2019-09-20 17:11:42 +02:00
Ruben Dashyan
a5bff416d1 [apps/*/expression_model_list_controller] Use isAddEmptyRow 2019-09-20 17:11:42 +02:00
Léa Saviot
4caf9f5197 [coding style] Make some methods const 2019-09-09 20:05:14 +02:00
Ruben Dashyan
0f3fc46ad1 [escher/message_table_cell_with_chevron_and_expression] subAccessoryView has margin by default 2019-08-29 11:07:22 +02:00
Ruben Dashyan
b1b309c0c4 [apps/*expression_model*] unknownSymbol is replaced in ExpressionModel 2019-08-29 11:07:21 +02:00
Émilie Feral
12060e2ae7 [escher] TextField: all text fields use the same draft text buffer 2019-08-13 09:44:00 +02:00
Émilie Feral
c1cd0302b8 [poincare] Fix typo: explicite --> explicit, implicite --> implicit 2019-08-08 17:22:04 +02:00
Émilie Feral
4c4d420b1f [app/sequence] Fix Sequence toolbox with the third sequence 2019-08-08 17:22:01 +02:00
Ruben Dashyan
eb6d697927 [apps] Make app accessors static members of App classes 2019-07-19 15:06:25 +02:00
Ruben Dashyan
44809f4b3f Substitute Escher app() by Container::activeApp() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
3e992a3560 [apps] Replace app() by textFieldDelegateApp() in TextFieldDelegates 2019-07-19 15:06:25 +02:00
Ruben Dashyan
ff887ec4a0 [apps/shared] Define static app() accessor in FunctionApp class 2019-07-19 15:06:25 +02:00
Ruben Dashyan
055d601854 [apps] Define TextFieldDelegate::textFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
5058f64163 [apps] Define LayoutFieldDelegate::expressionFieldDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
0490e3ab81 [apps] Define InputEventHandlerDelegate::inputEventHandlerDelegateApp() directly from ::app() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
4111927bae [apps] Access *DelegateApp() through app() 2019-07-19 15:06:25 +02:00
Romain Goyet
21907fb89a [apps] Get rid of App casts 2019-07-19 15:06:25 +02:00
Ruben Dashyan
62cec10b46 [apps] Clean unnecessary AppsContainer class declarations and header inclusions 2019-07-19 15:06:25 +02:00
Ruben Dashyan
82685cb371 [apps] Factorize portions checking whether text approximates to double 2019-05-03 15:54:21 +02:00
Émilie Feral
2217eebaec [escher] SelectableTableView: when reloading data, we temporary deselect
the table. We warn the SelectableTableViewDelegate that the selection
change is 'within a temporary selection change' when notifying it of the
change.
2019-05-03 15:54:21 +02:00
Émilie Feral
da1ee21fd5 [poincare] VerticalOffsetLayout: change name of 'Type' to 'Position' 2019-05-03 15:54:21 +02:00
Léa Saviot
1d26e6da73 [ion/unicode] Clean special code points 2019-05-03 15:53:21 +02:00
Émilie Feral
4e823e67b6 [sequence] Fix Toolbox: sequence fullName is for example "u.seq" which
cannot be compare to "u"
2019-05-03 15:53:20 +02:00
Émilie Feral
336c1c8d73 [apps/graph][apps/sequence] ListParameterController is a
ListViewDataSource instead of a SimpleListViewDataSource (indeed, each
cell has a specific type)
2019-05-03 15:53:20 +02:00
Émilie Feral
578c65d5dd [shared] Clean class names containing storage 2019-05-03 15:53:20 +02:00
Émilie Feral
57da4ea618 [shared] Rename classes:
ExpressionModelHandle --> ExpressionModel
SingleExpressionModelHandle --> ExpressionModelHandle
StorageFunction --> Function
StorageCartesianFunction --> CartesianFunction
StorageFunctionApp --> FunctionApp
2019-05-03 15:53:20 +02:00
Émilie Feral
be76784bb4 [sequence] Add Poincare::Symbol::SpecialSymbols::UnknownN used in
Sequence
2019-05-03 15:53:20 +02:00
Émilie Feral
cff3d56f22 [sequence] SequenceStore returns Sequence * instead of
ExpiringPointer<Sequence>

SequenceStore keep all its Sequences in an array which fix Sequence
addresses
2019-05-03 15:53:20 +02:00
Émilie Feral
2bc2506b60 [apps/sequence] Make controllers inherit from StorageFunction controllers when required 2019-05-03 15:53:20 +02:00
Léa Saviot
496d346049 Remove max/min inline from KDCoordinate header 2019-05-03 15:53:19 +02:00
Léa Saviot
f576e31ff1 [apps/poincare] Replace CharLayouts with CodePointLayouts 2019-05-03 15:53:19 +02: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
faae55eb51 [escher/scroll_view] Replace setShowsIndicators by setDecoratorType 2019-02-18 16:49:58 +01:00
Léa Saviot
3595a8e628 [apps/sequence] Align sequence title and expression baselines 2019-01-10 11:42:02 +01:00
Léa Saviot
11db7d5257 [apps/sequence] Remove equal char in sequence parameters 2019-01-10 11:42:02 +01:00
Léa Saviot
d3cae9d1aa [apps/sequence] Harmonize row height in sequence list 2019-01-10 11:42:02 +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