Hugo Saint-Vignes
3705ce4f92
[apps/graph] Add discard confirmation on domain parameters
...
Change-Id: I61043aa195f10038bbcfb6c091f08e684db20849
2020-11-04 15:33:04 +01:00
Émilie Feral
ec0e766c94
[apps/graph] text_field_function_title_cell: fix read of uninitialized buffer
...
This fixes the following crash: when reloading the cell before
initializing the m_textFieldBuffer, TextField::ContentView::text() will
use the content of the uninitialized m_textFieldBuffer to compute the
minimalSizeForOptimalDisplay.
2020-11-04 15:11:44 +01:00
Hugo Saint-Vignes
cbd26e69d1
[apps/graph/list] Apply changes on confirm with function interval selection
...
Change-Id: I0ec1ae54788f1c72fc8277544ed51a85ba4474d5
2020-11-04 15:11:43 +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
Gabriel Ozouf
9f4aafd6b6
[apps/graph] FunctionTitleCell reload
...
Changed TextFieldFunctionTitleCell::reloadCell to solve an issue with
the alignment of a function's name and definition when changing the
expression :
- typing u_n = (1/3)/2 then changing to u_n = 1/(2/3) without erasing
the formula first. u_n would no longer be aligned with the = sign.
Change-Id: Ib58e4220dc67c77639272c7ea784418bddffb432
2020-11-04 14:45:34 +01:00
Émilie Feral
d3bd086125
[apps/graph] Fix order of actions to edit the function name, we should
...
update the bufferSize before setting the text
This fixes the following bug: add a function, rename it "f123456",
change its type to a polar function, rename it --> crash
2020-06-04 14:50:08 +02:00
Romain Goyet
950862f8d0
Use std::min and std::max
2020-04-14 09:31:02 -04:00
Romain Goyet
5dee4a8166
[apps] Add screen telemetry identification
2020-02-17 10:31:24 -05:00
Romain Goyet
7f43b73049
[apps] Don't forget to call viewWillAppear
...
At the moment ViewController::viewWillAppear doesn't do anything, so
there is no real impact. But if we want to use it it needs to be called
from subclasses.
2020-02-17 10:31:24 -05:00
Ruben Dashyan
b54d5a31ba
[apps/shared/function] BaseNameCompliant returns a NameNotCompliantError
...
instead of a boolean
2020-02-12 15:13:26 +01: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
5974149162
[escher] Metric: change name TableCellLabelTopMargin to
...
TableCellHorizontalMargin and add TableCellHorizontalMargin
2020-02-12 15:13:20 +01:00
Léa Saviot
9f018eb9d9
[escher/view] setFrame and layoutSubviews can be forced
2020-02-12 15:13:15 +01:00
Émilie Feral
4d593a6149
[poincare] PrintFloat: take into account the distinction between char
...
and glyph length in ConvertFloatToText
2019-09-26 11:26:48 +02:00
Émilie Feral
20abac86f4
[apps/graph] ListParameterController: interval print float mode and
...
number of significant numbers are dynamically adjusted with the
available space
2019-09-23 17:07:18 +02:00
Émilie Feral
05934717f1
[apps/graph] ListParameterController: add assertions to ensure not to
...
overflow buffer
2019-09-23 17:07:18 +02:00
Émilie Feral
f90038b332
[apps/graph/list] ListParameterController: Change interval notation of
...
the function domain
2019-09-23 17:07:18 +02:00
Ruben Dashyan
5f9464a548
[apps] In Shared, move cartesian_function.* to continuous_function.*
2019-09-20 17:11:42 +02:00
Ruben Dashyan
df2897925b
Rename Shared::CartesianFunction to Shared::ContinuousFunction
2019-09-20 17:11:42 +02:00
Ruben Dashyan
be019cd5cf
[apps/graph] Move cartesian_function_store.* to continuous_function_store.*
2019-09-20 17:11:42 +02:00
Ruben Dashyan
0466d00588
[apps/graph] Rename CartesianFunctionStore to ContinuousFunctionStore
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
Léa Saviot
22c7fb440e
[apps/graph] DefDomain depends on angleUnit
...
When automatically setting the definition domain of a non-cartesian
curve, take into account the angle unit:
0..360 for Degrees,
0..400 for gradians...
2019-09-20 11:42:45 +02:00
Léa Saviot
4caf9f5197
[coding style] Make some methods const
2019-09-09 20:05:14 +02:00
Léa Saviot
0d2c20bceb
[apps/graph] Fix function renaming
...
Scenario: Funciton renamed f123456 would be saved as f12345 due to
buffer size problem
2019-09-09 13:30:09 +02:00
Léa Saviot
d9f650d283
[ion/utf8_helper] HasCodePoint
2019-09-09 13:30:04 +02:00
Léa Saviot
8fdad3aed8
[apps/graph] Remove unneeded vertical scroll bar
2019-09-05 17:32:47 +02:00
Léa Saviot
3014e8c3ca
[apps/graph] Shorter messages and margins
...
To fit if the interval is -9.9E30..-9.8E29, in the parameter controller
2019-09-05 17:19:16 +02:00
Émilie Feral
aa1d1165e8
[apps/graph] Fix function name edition: the cursor is positioned right
...
after the '(' (bug due to the fact that θ takes 2 bytes)
2019-09-05 09:37:23 +02:00
Émilie Feral
ed2a15dd03
[apps/graph] Enable infinite values as domain bounds for cartesian
...
functions
2019-09-03 16:21:28 +02:00
Émilie Feral
dba9912bbe
[apps/graph] ListParameterController: display only 2 significant digits
...
on the definition domain
2019-09-03 16:21:28 +02:00
Émilie Feral
3a47793f2d
[apps/graph] DomainParameterController is a floatParameter controller
...
instead of a double one
2019-09-03 15:34:35 +02:00
Émilie Feral
6de497c2ed
[apps/shared] Templatize FloatParameterController to handle float/double
...
parameters.
Fix bug: when entering "e^234" as a parameter of a model keeping floats,
the FloatParameterController would accept the number (because e^234 is
defined in double) and store an undefined value in the model (because
e^234 is undefined in float).
2019-09-02 16:55:39 +02:00
Léa Saviot
c6fb5e5dfa
[apps/graph] Pop twice after plot type change
2019-09-02 11:12:18 +02:00
Léa Saviot
8b7e243d2d
[apps/graph/list] Handle right event to open submenu
2019-08-30 16:05:29 +02:00
Émilie Feral
99a6451074
[apps/graph/list] DomainParameterController: fix bug (use of out of
...
scope variable)
2019-08-30 10:40:58 +02:00
Émilie Feral
8c7819306a
[apps/graph/list] Add a row to the ListParameterController to set the
...
function domain
2019-08-29 17:45:30 +02:00
Émilie Feral
c8928adbdb
[apps/graph/list] Create a DomainParameterController to choose the
...
domain range
2019-08-29 17:44:46 +02:00
Émilie Feral
6c06e74dac
[apps/graph/list] Add a margin after Curve Type name and change
...
I18n::Message names to avoid duplicates
2019-08-29 15:54:52 +02:00
Ruben Dashyan
998a80fbcc
[apps/graph/list] Add TypeParameterController to ListParameterController
2019-08-29 11:07:22 +02:00
Ruben Dashyan
9b52d0d1f9
[apps/graph/list] Define TypeParameterController class
2019-08-29 11:07:22 +02:00
Ruben Dashyan
5a79139fb7
[apps/graph/list] Define PlotTypeHelper
2019-08-29 11:07:22 +02:00
Ruben Dashyan
56c6bb9e19
[apps/graph] ListController: simplify
...
ListController::textFieldDidFinishEditing
2019-08-29 11:07:22 +02:00
Ruben Dashyan
b665e841ad
[apps] Remove arg parameter in Shared::Function::nameWithArgument and Shared::CartesianFunction::derivativeNameWithArgument
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
Léa Saviot
c2b4d2b760
[strlcpy] Assertions on len parameter
2019-08-08 17:22:06 +02:00
Émilie Feral
7a4ee746b2
[escher] TextField: call reinitDraftBuffer after edition is complete to
...
avoid erasing text that is required later.
Fix bug: OK handling on function list in linear mode did not copy the
function expression into the textfield before editing
2019-07-30 11:47:42 +02:00
Ruben Dashyan
44809f4b3f
Substitute Escher app() by Container::activeApp()
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