Commit Graph

6889 Commits

Author SHA1 Message Date
Léa Saviot
0511f383d0 [apps] Add comment about variables that cannot overwrite functions 2018-11-23 12:04:06 +01:00
Léa Saviot
8b2c00d8ba [apps/poincare] Forbid variable creation with same name as existing func 2018-11-23 12:04:06 +01:00
Léa Saviot
0670057f90 [apps/graph] Destroy variable record with same name when renaming func 2018-11-23 12:04:06 +01:00
Léa Saviot
eea56488e6 [apps] Fix VarBoxController::viewDidDisappear parent method call order
Before, we tidied the memoization before calling the parent's
viewDidDisappear method. As the parent method needed some cell heights,
it used the VarBoxController memoization, thus re-creating layouts that
would stay in the pool after closing the app.

Scenario:
Go in the Graph app, create f(x) = 1, empty g(x) and h(x), create p(x)
and while editing go in the variable box controller, all the way down,
then hit the Home button.
2018-11-23 12:04:06 +01:00
Léa Saviot
861ba08198 Remove unneeded include 2018-11-23 12:04:06 +01:00
Léa Saviot
caacf63c8f Fix typo 2018-11-23 12:04:06 +01:00
Léa Saviot
a0e716c1ad [apps/eschr] Rename textFieldDidHandleEvent parameter textSizeDidChange 2018-11-23 12:04:06 +01:00
Léa Saviot
293300973b [escher] TextField::handleEventWithText escapes quicker with null text 2018-11-23 12:04:06 +01:00
Léa Saviot
56db3a484e [escher] Fix selection problem in SelectableTableView
Scenario that caused a problem: Go to Statistics, then "1", "Right",
"Right", "Right", OK. The cell does not draw itself as being edited, but
its right neighbour does.
2018-11-23 12:04:06 +01:00
Léa Saviot
c7635c5e4d [poincare] Encapsulate deepReduce in reduce 2018-11-23 12:04:06 +01:00
Léa Saviot
5d96a87bf3 [poincare] Store simplified expressions, not just reduced 2018-11-23 12:04:06 +01:00
Léa Saviot
13972caa80 [apps] Inline some code in variable_box_controller 2018-11-23 12:04:06 +01:00
Émilie Feral
1b2c810eb2 [poincare] Delete useless method in Number 2018-11-23 12:04:06 +01:00
Léa Saviot
0e5da52d3d [apps] Remove useless code in variable_box_controller.h 2018-11-23 12:04:05 +01:00
Léa Saviot
5113049d67 [escher] Color the expression in grey in variable box 2018-11-23 12:04:05 +01:00
Léa Saviot
823d31150e [poincare/parser] Catch error from function call 2018-11-23 12:04:05 +01:00
Léa Saviot
aea98de6ec [apps/escher] Fix "Clear" event handling in TextFieldWithExtension 2018-11-23 12:04:05 +01:00
Léa Saviot
0e2201b273 [poincare/parser] Return uninitialized expressions on parsing error
Instead of empty matrices
2018-11-23 12:04:05 +01:00
Léa Saviot
a11723d014 [poincare/parser] Add parsing tests 2018-11-23 12:04:05 +01:00
Léa Saviot
6b782d1a26 [poincare/parser] When parsing vector, propagate list parsing error 2018-11-23 12:04:05 +01:00
Léa Saviot
5f8c71898a [poincare] Regression and Series symbols must be 2 characters long 2018-11-23 12:04:05 +01:00
Léa Saviot
ad1629721d [poincare/test] Add parser test on "=5" 2018-11-23 12:04:05 +01:00
Léa Saviot
2727485af0 [apps/solver] Add tests with long variable names 2018-11-23 12:04:05 +01:00
Léa Saviot
b622c54d50 [apps/solver] Display the whole solution name when long name 2018-11-23 12:04:05 +01:00
Léa Saviot
041b643b15 [apps/solver] Fix variable name computation problem 2018-11-23 12:04:05 +01:00
Léa Saviot
125479852c [poincare/parser] Error when Equal does not have a left hand side 2018-11-23 12:04:05 +01:00
Léa Saviot
4bbde7a4d5 [poincare] Remove useless forward declaration 2018-11-23 12:04:05 +01:00
Léa Saviot
cce6591f54 [apps] When editing an expression model, replace UnknownX with 'x' 2018-11-23 12:04:05 +01:00
Léa Saviot
b73d066f2b [apps] German translation of "Function can't have store" message + style 2018-11-23 12:04:05 +01:00
Émilie Feral
e7c95c3583 [apps] Change messages of VariableBoxEmptyController 2018-11-23 12:04:05 +01:00
Léa Saviot
d686199111 [code] Delete script when aborting edition with no default name 2018-11-23 12:04:05 +01:00
Léa Saviot
e74e15eaf7 [apps/code] Handle too many Script default names used
When adding to many scripts without naming them, one can overflow the
number of default generated script names, in which case we force the
user to enter a name.
2018-11-23 12:04:05 +01:00
Léa Saviot
0f9d1db851 [apps/code] Fix break that should be a return 2018-11-23 12:04:05 +01:00
Léa Saviot
58c022a9a9 [apps/code] Allow any number of scripts 2018-11-23 12:04:05 +01:00
Léa Saviot
bdbae0777e [poincare] Add Store tests 2018-11-23 12:04:05 +01:00
Léa Saviot
7b2abfe591 Fix typo 2018-11-23 12:04:05 +01:00
Léa Saviot
8595b5f811 [apps] Translate the "Function cannot contain a Store" message 2018-11-23 12:04:05 +01:00
Ruben Dashyan
3d48f8ac93 [poincare] Complete and clean Parser 2018-11-23 12:04:05 +01:00
Ruben Dashyan
952f1e9292 [poincare] Parser's popTokenUntil changed to nextTokenHasPrecedenceOver 2018-11-23 12:04:05 +01:00
Ruben Dashyan
c97996696e [poincare] Complete and clean Parser's Tokenizer 2018-11-23 12:04:05 +01:00
Ruben Dashyan
5f734c3f4c [poincare] Add a string member to Parser's Token class
in the form of a pair m_text, m_length. Note that m_text
is not null-terminated. Moreover, the method compareTo is implemented
to compare m_text to any other (null-terminated) string.
2018-11-23 12:04:05 +01:00
Ruben Dashyan
3bee0f35fa [poincare] Add UntypedBuilder Function and Symbol
UntypedBuilders moreover retrieve Expression value from context.
2018-11-23 12:04:05 +01:00
Ruben Dashyan
efde8c6c9e [liba] Add strncmp 2018-11-23 12:04:05 +01:00
Ruben Dashyan
93d8f60619 [poincare] Derivative, Integral, Product, Sum constructors check
their second parameter is of Symbol type.
2018-11-23 12:04:05 +01:00
Ruben Dashyan
4b72e4cef2 [poincare] Function constructor has additional length paramater 2018-11-23 12:04:05 +01:00
Ruben Dashyan
603e672cf3 [poincare] Add parsing tests 2018-11-23 12:04:05 +01:00
Ruben Dashyan
9c5ea70c24 [poincare] Make derived Expression s_functionHelper constexpr 2018-11-23 12:04:05 +01:00
Ruben Dashyan
61b1b8a09d [poincare] Add Expression::FunctionHelper class
That class is meant to contain data about named functions (e.g. sin,
tan...) in one place: their name, their number of children and a pointer to
a builder. The derived class corresponding to each such function
contains a private instance (m_functionHelper) and a getter.
The previous parser is removed, along with unecessary
constructors (used by the previous parsers).
2018-11-23 12:04:05 +01:00
Ruben Dashyan
cda6f522f0 [poincare] New static NumberOfChildren() method in Expression subclasses 2018-11-23 12:04:05 +01:00
Ruben Dashyan
e2e5fd6551 [poincare] Delete an accidentally inserted line in Randint 2018-11-23 12:04:05 +01:00