Commit Graph

56 Commits

Author SHA1 Message Date
Léa Saviot
90e5a08d3a [escher/app] Coding style 2020-02-12 15:13:22 +01:00
Léa Saviot
2eaf84cc73 [escher/app/modal_view] If will exit app, do not relayout
App::willBecomeInactive calls dismissModalViewController, which puts
back the previous repsonder and calls layoutSubviews on the
modalViewController. We do not want to do all these operations when the
app will be exited anyways.
2020-02-12 15:13:18 +01:00
Romain Goyet
581ec55832 [escher] Inline the App::snapshot() function 2019-07-19 15:06:25 +02:00
Romain Goyet
45875dd642 [escher] Make app() a global function
This way it can easily be reached by anyone, including non-responders.
And it can easily be overwritten in namespaced apps.
2019-07-19 15:06:25 +02:00
Ruben Dashyan
ba2a98f5e5 [escher/app] Remove poor man's RTTI 2019-07-19 15:06:25 +02:00
Ruben Dashyan
1f06819974 [apps] Remove Container * parameter from all App constructors 2019-07-19 15:06:25 +02:00
Ruben Dashyan
5f8a745957 [escher/app] Remove Container 2019-07-19 15:06:25 +02:00
Ruben Dashyan
acecb92f75 [escher/*_view_controller] New ViewController::initView() method
Does some part of viewWillAppear().
2019-02-18 16:49:58 +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
c7a405a3df [escher] Always use App::displayModalViewController
Instead of calling ModalViewController::displayModalViewController
directly.
2018-11-16 14:21:25 +01:00
Léa Saviot
a4d79332ea [poincare] Fix Warning message exit on special keys
We want the memory full warning to be exited only on OK, EXE, ... but
Syntax warning (for instance) to be exited on any key pressed
2018-09-14 17:59:14 +02:00
Léa Saviot
9b6fe58afe [escher] Dismiss memory full warning on OK, EXE, Back, Home, Power only 2018-09-14 15:00:39 +02:00
Léa Saviot
cb471d83d5 [escher] After packing an app, assert the TreePool size is 0 2018-09-12 15:37:03 +02:00
Émilie Feral
9182d66fcc [apps] Apps are not allocated on the heap anymore but in a union hold by
the AppsContainerStorage
2018-09-06 09:49:38 +02:00
Émilie Feral
870994e11d [escher] Add a getter for the modal view in app 2018-01-04 15:48:06 +01:00
Émilie Feral
7f6ee28f4e [escher] Move redraw method from App::didBecomeActive to
Container::switchTo

Change-Id: Ifa8bd2a37a754257d1f44d64b789f2efd25f96de
2017-08-17 16:21:21 +02:00
Émilie Feral
e0f2fcb2f6 [escher] App can have timers that are ticked when the app is active
Change-Id: I2033a99fb2ebff030934b02d6128dce721012979
2017-06-30 11:21:33 +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
62c93e49a6 [apps] AppsContainer does not own the apps but a pointer to the apps
Change-Id: I9b6787be2cd143b52fd8dd60f3528fed2f74e4bb
2017-05-03 15:32:54 +02:00
Émilie Feral
70fc734f7b [escher] Change dynamic view controller paradigm
Change-Id: I57fd41c9b9ad8a1e8b684b97fdf80ddffd71881d
2017-05-03 14:22:51 +02:00
Émilie Feral
50aacc79ec [escher] Create dynamic view controller
Change-Id: Ic8fe6d095666aa7af76c8d328b0bf83342a09453
2017-04-20 12:11:59 +02:00
Émilie Feral
5fde73dac2 [escher] Change name: viewWillDisappear -> viewDidDisappear
Change-Id: Ie7e324cfd9c1313ef4f5310e1688be0b7fabd0bf
2017-04-18 15:29:09 +02:00
Émilie Feral
f2efada7b7 [escher] In app, display only one modal at a time
Change-Id: Ic78edbc2f620c84085c0743203aa04f08876cca9
2017-04-07 11:30:07 +02:00
Émilie Feral
adc80cd71b [apps][escher] I18n
Change-Id: I4d6f40155a8a182184af9ef2a583d0469196ffd5
2017-03-16 15:12:12 +01:00
Émilie Feral
c03149d202 [escher] Add comment on responder and controller's method calling order
Change-Id: I53ebb44b9534e4537c5df9771e37e2a12e76fb21
2017-03-07 14:57:07 +01:00
Émilie Feral
695c8812bb [apps] Handle back event
Change-Id: I5d4502fa4ba6cc55a7bf1da90687a129ef322d34
2017-03-07 14:34:47 +01:00
Émilie Feral
9478fb2f26 [escher] Select tab when clicking on back: implement
willExitResponderChain for tab root controllers

Change-Id: Ie0399d24708e326d2284013a925792b36e6b629b
2017-03-07 14:34:12 +01:00
Émilie Feral
1be0dc8b67 [escher] Change name: didResignFirstResponder->willResignFirstResponder
Change-Id: Ie630f8a2a146bd01d6a2d5075a522edae28005be
2017-03-07 14:30:54 +01:00
Émilie Feral
7d06868ad9 [escher] Do actions in this order: layouts, viewWillAppear,
didBecomeFirstResponder

Change-Id: I01b5c2457d9e3b6d2cc71afe119287c1cb507dc3
2017-02-20 10:54:03 +01:00
Émilie Feral
a447eb8560 [escher] In app, dismiss any modal view when changing app
Change-Id: I0f739ed2871c1d014f52b45162cf44336e7cec65
2017-02-20 09:39:25 +01:00
Émilie Feral
6f138e6b1c [escher] Add methods viewWillAppear/Disappear in view controller instead
of keeping track of dataHasChanged in the selectable table view

Change-Id: Id2626f527f44714e29b9bd66e2c843193e1b57b5
2017-02-17 16:35:07 +01:00
Émilie Feral
29678a23db [escher] Reorder actions to first do all frame layouts and then all
"become first responder" (Thereby, enable to select a cell in
becomefirstresponder without any weird scrolling due to wrong framing)

Change-Id: Ie5ca7555fce3575dcf0488e124adf0677155c383
2017-02-02 10:29:07 +01:00
Émilie Feral
e3e0fb2120 [escher] In app, add an upperName
Change-Id: Iea37749e446c721b5e85af063681e2a98c0e4f37
2017-01-27 11:50:42 +01:00
Émilie Feral
a4df89d2f5 [escher] [apps] Add a title bar in all apps
Change-Id: If545e9b6cd96aa1189d83120f047ac7746a5a9d6
2017-01-27 11:20:20 +01:00
Émilie Feral
30f37213d1 [escher][apps] add pointer to the container from the app and a method to
access the toolbox from the container

Change-Id: I89eb598b4a7d317d70d5a1f13b79422d35438d68
2016-11-10 10:55:15 +01:00
Émilie Feral
375262031b [escher] add optional margins to modal view
Change-Id: Ibeb77958f5fd6db9a110d1f49abb77b4ee01a72f
2016-11-09 12:26:37 +01:00
Émilie Feral
f982c1286a [escher] create a method display warning in app
Change-Id: Iecab146bb479f76c2d74e53221a1d7d6216c8644
2016-11-04 14:55:08 +01:00
Émilie Feral
a80a58b3a8 [escher] add a modal view controller as instance variable in app
Change-Id: I2d95b34e0242f500c651f7cdec9dbf5d92bdd833
2016-11-04 14:53:11 +01:00
Romain Goyet
9e33577779 [Escher] Add getters for App::name() and App::icon()
Change-Id: Ib77c95d8593e342e48c8e5615e019034df432821
2016-10-03 11:59:54 +02:00
Romain Goyet
90eb34725c [escher] An App now can store an icon and a name
Change-Id: I4911fb5f077ab7ccae3f6ce4021a903ae8e63f6b
2016-10-03 11:19:42 +02:00
Romain Goyet
c2781748fd [Escher] Remove C++ init order warnings
Change-Id: I0c14c8f9c5d702e0ace6229b48ff6e117e2b6937
2016-09-15 20:39:26 +02:00
Romain Goyet
8f9d9d0b0b [escher] focus -> firstResponder
Change-Id: I2e84afe6f14abfc65e45814300e8db9703840337
2016-09-15 16:21:29 +02:00
Émilie Feral
4b88baebec [Escher] Add a magic number to app as poor man's RTTI
Change-Id: If7e907f1187b6b6bda33f89aee4a5dfbd922ed6d
2016-09-15 10:58:16 +02:00
Romain Goyet
753a4a7cb5 [Ion] Move to C++
Change-Id: Id75fca5e92a3fdf18258015bcda7cd70297b0fdb
2016-08-23 16:30:15 +02:00
Romain Goyet
7789123913 [Escher] Add a Container that lets us run multiple apps
Change-Id: I674348ed0ff48934eb248dc48735f4ba13c34692
2016-08-12 15:15:28 +02:00
Romain Goyet
ff3cca0867 [Escher] Remove App::runningApp
Change-Id: I4953bae09391079b77c93ee482c6e9cd8202c2d4
2016-08-12 10:22:00 +02:00
Romain Goyet
53cf3e2ead [Escher] Responder can get a pointer to the parent App
We assume the root parent is the App. This works well because each view
controller is a Responder.

Change-Id: I5d90053949a4ffbdb78746cc85430a15138e48e7
2016-08-12 10:12:22 +02:00
Romain Goyet
5de28e01db Migrate Kandinsky to C++
Change-Id: I2752a8db84ad0bb817119cf6c2993c1622621150
2016-07-21 13:42:32 +02:00