Commit Graph

82 Commits

Author SHA1 Message Date
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
Léa Saviot
f98c171d2a [apps/variable_box] Prepare for Code::VariableBox factorization 2020-06-04 14:50:05 +02:00
Léa Saviot
aab8974934 [apps] Memoize five model checksums 2020-03-11 11:43:36 +01:00
Ruben Dashyan
df2897925b Rename Shared::CartesianFunction to Shared::ContinuousFunction 2019-09-20 17:11:42 +02:00
Ruben Dashyan
569bcc26d2 [apps/graph/app] Inline accessors in header file 2019-09-20 17:11:42 +02:00
Ruben Dashyan
1908c9c674 [apps/graph] GraphView gets the function store through App
instead of passing a pointer at contruction.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
48be600d89 [apps/graph] App holds an Interval for each plot type 2019-09-04 15:07:40 +02:00
Ruben Dashyan
157edcd18c [apps/*/values_controller] Get interval from App according to column index 2019-09-04 15:07:40 +02:00
Ruben Dashyan
a565cb32b9 [apps] Move interval from FunctionApp to derived classes 2019-09-04 15:07:40 +02:00
Ruben Dashyan
8053e683c0 [apps/*/function_app] Inline inputViewController getter in header 2019-09-03 14:49:26 +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
Ruben Dashyan
acd1d112be [apps/graph/app] XNT depends on plot type when editing a function 2019-08-29 11:07:22 +02:00
Ruben Dashyan
82951b0672 [apps] App::XNT() returns a CodePoint instead of a char 2019-08-29 11:07:22 +02:00
Ruben Dashyan
1f06819974 [apps] Remove Container * parameter from all App constructors 2019-07-19 15:06:25 +02:00
Ruben Dashyan
d04d414315 [apps] Remove InputEventHandlerDelegateApp::container() 2019-07-19 15:06:25 +02:00
Ruben Dashyan
67f9f79322 [apps] Implement InteractiveCurveViewController::isCursorVisible
It was a pure virtual method implemented in derived classes
  Shared::FunctionGraphController,
  Regression::GraphController.
InteractiveCurveViewRange does not need anymore to hold CurveViewCursor
* m_cursor.
2019-05-03 15:54:21 +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
7fdc8a7c1b [shared] Factorize 'storageDidChangeForRecord' in StorageFunctionApp 2019-05-03 15:53:20 +02:00
Romain Goyet
4f2c7a3763 [build] Update the i18n processing to fit the out-of-tree build 2019-03-06 15:00:59 +01:00
Léa Saviot
e04c8bd005 [apps/graph] Fix Graph::Snapshot::reset()
m_graphRange.setDefault called the delegate's interestingXRange, which
uses expressions that might have been deleted before the call to reset
if there had been an exception (the pool is emptied).
2018-11-26 13:20:30 +01:00
Émilie Feral
916493a4d2 [apps] Reset (exam mode) delete all records at once 2018-11-23 12:04:10 +01:00
Léa Saviot
9bfaed583d [apps/escher/ion] Remove Graph memoized models on storage change 2018-11-23 12:04:03 +01:00
Émilie Feral
4b44dd701d [graph] Unable to delete functions from function app 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
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
c0e4eaa56b [apps/graph] Use storage controllers in Values 2018-11-23 12:04:01 +01:00
Léa Saviot
912e7f8acf [apps] Graph app displays first letter of storage functions 2018-11-23 12:04:00 +01:00
Émilie Feral
cf68a9ed18 [shared] Change TextFieldDelegateApp::XNT() signature 2018-11-23 12:03:59 +01:00
Émilie Feral
86b3d366ca [apps] All apps are allocated in the same union 2018-09-11 11:32:29 +02:00
Léa Saviot
c4b5d4cf40 Merge branch 'SaisieJolieRebase1201' into SaisieJolieMerge10Apr
Change-Id: I802dbb9f7c0eebf75a1b6cd21ddd194e89b53752
2018-04-10 17:21:54 +02:00
Émilie Feral
95f0efaf9f [apps] Graph/Sequence: the function selected by the cursor has to be
save in the Snapshot to avoid weird selection when rebulding the app
2018-01-30 18:53:28 +01:00
Émilie Feral
5c64f76735 [apps] Graph: redesign TangentGraphController implementation: use
different controller with common parent class
2018-01-30 18:19:27 +01:00
Émilie Feral
0dec52a708 [apps] Graph: enable to specialize GraphController in different types
(Default, Tangent ...)
2018-01-30 18:19:27 +01:00
Léa Saviot
4d778b5d9f [apps/escher/poincare] Use 2D Edition in Sequence and Graph apps.
EditableExpressionView is renamed ScrollableViewWithCursor.
EditableExpressionView is now a View that displays either a TextField or
a ScrollableViewWithCursor, depending on Poincare::Preferences.

Change-Id: Id44ddcd9a83f5fd17d65753ca4c94c5c7cda9b8a
2018-01-23 10:28:02 +01:00
Émilie Feral
a0ec589e47 [apps] Graph: all contexts parse x now so no need for a specific one in
graph
2017-12-14 10:52:14 +01:00
Jacob Young
dcbc860b6d Fallback to X in non-graphing apps since x and n are not usable. 2017-09-20 11:08:07 +02:00
Émilie Feral
eea1928ac9 [apps/sequence][apps/graph] Keep the angle unit version in snapshot
Change-Id: Ib907531c78feae6ba8155ae3be3b8fb13fdebea2
2017-08-25 14:02:03 +02:00
Émilie Feral
bf11591e3e [apps/shared] In values controller, update the number of columns when
layout is done

Change-Id: I29bc776623ff2e5056c9f2cc1d995b4440996116
2017-06-08 18:30:45 +02:00
Émilie Feral
d2c55eb7d0 [apps/graph][apps/sequence] In values controller, memoize the number of
columns to improve performance

Change-Id: Ie3c545d0198a2f23575bd22fdbf56e9c6b8ff2b8
2017-06-02 14:07:40 +02:00
Émilie Feral
71608762aa [escher] Add a data source to tab to be hold by snapshots
Change-Id: I48b242ff433170d6b9618661e613a47669910a79
2017-05-19 11:25:04 +02:00
Émilie Feral
0105a0a450 [apps/sequence|grpah] Fix bug
Change-Id: Ic0d40262dd3ee4e2d393b7bb65e0b3a224ffbccc
2017-05-18 14:16:42 +02:00
Émilie Feral
6317f3a100 [apps] Implement reset when exam mode is set
Change-Id: I54f769c6db42f8c9a2fe1a8f3d2295fed91db6b8
2017-05-18 14:16:42 +02:00
Émilie Feral
bc73fd28b1 [apps/sequence)[apps/graph] Move interval in snapshot
Change-Id: Ib8efea9d57c55fbf7b4fb8cf9188d4211442057d
2017-05-18 14:16:42 +02:00
Émilie Feral
e702c1f61b [apps/graph][apps/regression][app/sequence] Move model and range
versions to the snapshot

Change-Id: I6ec56ab59d734c0c43a5df32462173c611cc68b3
2017-05-18 14:16:41 +02:00
Émilie Feral
6b2ae04a13 [apps/sequence][apps/regression][apps/graph] Move ranges and cursor in
snapshot

Change-Id: I3e5a163ae4b3a6860969ef12d939513cffed7710
2017-05-18 14:16:41 +02:00
Émilie Feral
71284311bb [escher] [apps] Implement app snapshot
Change-Id: I24d7eed7cef964af8be1c85222e758c297dc0da1
2017-05-18 14:16:41 +02:00
Émilie Feral
06de0dd9db [escher] Only one app is on the heap at one time
Change-Id: I6c77601cb0cc883083a4dd05370ca543fa7951cc
2017-05-18 14:16:41 +02:00
Émilie Feral
96733dbbdc [apps] Rule of 5 (3)
Change-Id: Ia85b23a09e9debd62b4f3590463a4f16454ef4b7
2017-05-09 14:33:53 +02:00
Émilie Feral
0dfbf3ade3 [apps] Rule of 5 (2)
Change-Id: I62eebed201a9f61b3f89233fda4e714f0bab0db7
2017-05-09 14:12:13 +02:00