Commit Graph

576 Commits

Author SHA1 Message Date
Léa Saviot
738d21cc2b [apps/graph] Align function name and expresion baselines 2019-01-10 11:42:02 +01:00
Léa Saviot
4f4ae4e0f7 Merge branch 'master' into python_turtle 2019-01-08 14:32:43 +01:00
Léa Saviot
58f94f5e5f [apps/code] Check that app can be exited before switching to DFU
This fixes the following crash: create a script which contains only
"input()". Execute it, then while in the input, plug in the calculator.
When un-plugging it, the device crashes.
2019-01-07 13:36:01 +01:00
Léa Saviot
df2b9c4d81 [escher/apps] Get children count via template in ToolboxMessageTree::Node 2018-12-21 13:29:32 +01:00
Léa Saviot
ed19d19070 Merge branch 'master' into python_turtle 2018-12-17 15:49:46 +01:00
Léa Saviot
101370c507 [escher] Change ToolboxMessageTree constructors
To simplify ToolboxMessageTree cosntruction
2018-12-17 15:27:38 +01:00
Léa Saviot
62de89ceba [apps/code] Fix 'blue', 'red', ... python command insertion
The 'blue' command would be stripped and become ''.
2018-12-17 14:25:31 +01:00
Léa Saviot
62cda01d2b [python/turtle] color and pencolor can take various arguments
These two methods are equal.
2018-12-11 14:42:04 +01:00
Léa Saviot
cc3beb6014 [python/turtle] Turtle::reset() method 2018-12-06 17:26:43 +01:00
Émilie Feral
10556b477b [apps] Tidy snapshots when leaving the app following an exception 2018-12-03 13:47:52 +01:00
Léa Saviot
20e2194533 [escher] Remove Clipboard::store(Layout) 2018-11-23 12:04:09 +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
bf6da61ca2 [escher/text_field] Fix privateHandleEvent text reset 2018-11-23 12:04:09 +01:00
Léa Saviot
a0e716c1ad [apps/eschr] Rename textFieldDidHandleEvent parameter textSizeDidChange 2018-11-23 12:04:06 +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
b3f5bf13de [apps/escher] Code layouting and typo 2018-11-23 12:04:04 +01:00
Léa Saviot
f47a6549b8 [escher] Remove duplicate Stack in Toolbox and NestedMenuController
This created a bug for instance  when going deep down in the Python
toolbox, then going one step up: the user arrived in the highest menu
2018-11-23 12:04:04 +01:00
Léa Saviot
6fa7816789 [escher] Warning pop-ups may have two lines 2018-11-23 12:04:04 +01:00
Léa Saviot
00586b03d9 [escher] Fix pop up clash when memory is full while editing a function
There was a selection problem when editing a function failed because of
a full storage (k_storageSize = 1000)
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
Léa Saviot
9bfaed583d [apps/escher/ion] Remove Graph memoized models on storage change 2018-11-23 12:04:03 +01:00
Léa Saviot
1517b57cc8 [apps] AppsContainer is a Ion::StorageDelegate 2018-11-23 12:04:03 +01:00
Émilie Feral
7e7c77a0e8 [escher] TextField and LayoutField handle move events while in editing
mode to avoid leaving unexpectedly edition mode
2018-11-23 12:04:03 +01:00
Léa Saviot
99c23d5deb [escher] Fix AlternateEmptyViewController header guardians 2018-11-23 12:04:03 +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
0a438b1803 [escher] ExpressionField does not inherit from EditableField 2018-11-23 12:04:02 +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
Léa Saviot
71d8358722 [apps/escher/poincare] Change KDText::FontSize to KDFont 2018-11-23 12:04:02 +01:00
Émilie Feral
01e433a9f2 [escher] Clean Field and Input class hierarchy:
Class hierarchy:
- InputEventHandler
- TextInput
- EditableField derives from InputEventHandler
- LayoutField, TextField and ExpressioField derives from EditableField
- TextArea and TextField derives from TextInput
2018-11-23 12:04:02 +01:00
Émilie Feral
c70278941a [graph] Do not keep a function pointer as member variable but a record.
Indeed, function pointers can become invalid at any point...
2018-11-23 12:04:02 +01:00
Léa Saviot
885f953d52 [apps] TextFieldWithExtension blocks cursor on the rightmost text 2018-11-23 12:04:02 +01:00
Léa Saviot
bd65063b67 [graph] TextFieldFunctionTitleCell 2018-11-23 12:04:02 +01:00
Émilie Feral
e4e19b3b74 [sahred] StorageCartesianFunction: iterate on colors 2018-11-23 12:04:02 +01:00
Émilie Feral
4dda66e58d [escher] AlternateEmptyViewController: give the delegate the opportunity
to choose the view to display when empty
2018-11-23 12:04:01 +01:00
Émilie Feral
7035ad01ae [escher] Toolbox: title is a message instead of a const char 2018-11-23 12:04:00 +01:00
Émilie Feral
d8ffb73e69 [escher] Create class ExpressionTableCellWithExpression 2018-11-23 12:04:00 +01:00
Émilie Feral
08439b5c54 [escher] Create nested_menu_controller to factorize toolbox and future
variable_box_controller
2018-11-23 12:04:00 +01:00
Léa Saviot
96b594b875 [apps/graph] Adapt function name column width to names 2018-11-23 12:04:00 +01:00
Léa Saviot
ac1e79f907 [apps/graph] Display the function's whole name 2018-11-23 12:04:00 +01:00
Émilie Feral
3a3a17b3ce [shared] Factorize ExpressionFieldDelegateApp and TextFieldDelegateApp 2018-11-23 12:03:59 +01:00
Émilie Feral
a93e9566ad [escher] Create a parent class Field of TextField and
LayoutField
2018-11-23 12:03:59 +01:00
Lionel Debroux
ddebc06fa5 [escher] Move View's destructor, and several other methods, to the header, so that the compiler can leverage its prior knowledge of the fact that the destructor is trivial (noticed by disassembling the code) to greatly optimize derived classes' destructors.
Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr>
2018-10-23 11:49:09 +02:00
Lionel Debroux
1a8c6b6ae9 [poincare, escher, ion, apps] Split the huge umbrella header poincare.h, to reduce build time.
This should be a NFC, but surprisingly, it also reduces size... so what does it change ?
2018-10-23 11:49:09 +02:00
Romain Goyet
f4f567814e [escher] Compress images 2018-10-12 09:36:44 +02:00
Romain Goyet
f8beae3b86 [kandinsky] Move to KDFont 2018-10-11 16:44:02 +02:00
Léa Saviot
116ef9ee39 [poincare] Fix typo 2018-09-20 11:19:52 +02:00
Émilie Feral
2c62c30287 [escher] Fix LayoutField: reload was broken because the previous layout
size could not be computed anymore
2018-09-18 17:36:58 +02:00
Émilie Feral
365b145cf3 [poincare] Change names: LayoutReference-->Layout 2018-09-18 16:29:44 +02:00
Émilie Feral
ba0f866dc6 [apps] Toolbox: get rid of variable-size tables 2018-09-17 17:14:43 +02:00