Page MenuHomePhabricator

"Realize" Widget
Open, WishlistPublic


See T5351 (Naviframe API in EO land).

One idea to replace naviframe is to provide a few similar widgets which present one "page" at a time. @eunue is working hard on making such widgets.
The problem is that all "pages" need to be created when instantiating this parent container. A solution to that is to have a magical widget, single slot container, that will create its content when it becomes visible, i.e. on "realize".

Here comes the "Realize" Widget.

It interacts with other containers to know when to realize/unrealize its content (i.e. create or destroy it, or potentially placing it in a cache).
It should be associated with a factory and some data (model?) in order to know how to create the internal content that it holds.

Using such a "Realize" widget one could use a simple Box in a Scroller and implement something like a simple genlist. (The idea is NOT to replace genlist with this^^).

Many questions remain:

  • How to expose the factory API?
  • How to pass data to that factory?
  • Should the realize widget be a real widget with a NULL resize_object (or invisible rect), until realized?
  • How to handle various actions like in Naviframe, where it's not just page 1, 2, 3 but more like page 1, then 2.A or 2.B depending on which action was taken in page 1.
  • Do we even want this?
  • etc...
jpeg created this task.Oct 25 2017, 1:40 AM

I see, you wrote the idea is NOT to replace genlist with this, but wouldnt it be nice to have some abstract "Realizing set" widget, where you just set a container? Sounds like a very good idea to me :)

jpeg added a comment.Oct 25 2017, 2:32 AM

I'm not sure I understand the idea you have in mind. Care to explain a bit more?

jpeg added a subscriber: raster.Oct 25 2017, 2:35 AM
jpeg triaged this task as Wishlist priority.Dec 11 2017, 6:16 PM

This would be nice to have, but until now no progress has been made.

zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:56 AM
bu5hm4n edited projects, added efl: widgets; removed Restricted Project.Jun 11 2018, 8:18 AM