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 |
|
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
|
b9bf5be5f6
|
[apps/escher] Remove wrong markRectAsDirty, use reloadCell instead
|
2018-11-23 12:04:04 +01:00 |
|
Léa Saviot
|
bea78aa3b1
|
[apps/escher] Invocation::Action returns a bool
|
2018-11-23 12:04:04 +01:00 |
|
Émilie Feral
|
0a823da78c
|
[escher] Variable box pop-up is handle as Toolbox pop-up by asking
InputEventHandlerDelegate
|
2018-11-23 12:04:03 +01:00 |
|
Émilie Feral
|
698332c355
|
[escher] InputTextDelegate and LayoutFieldDelegate don't inherit from
InputTextDelegate to avoid diamond inheritance
|
2018-11-23 12:04:03 +01:00 |
|
Émilie Feral
|
7778c694d1
|
[escher] Create an InputEventHandlerDelegate that gives the toolbox to
be used by an InputEventHandler
|
2018-11-23 12:04:02 +01:00 |
|