Refactor Elm interfaces to Efl.Ui
Open, Showstopper IssuesPublic

Description

A lot of interfaces were created in Elm namespace which is not part of our new API. They need to be migraded.

jpeg added a subscriber: jpeg.Jan 8 2018, 10:39 PM

I find only two interfaces:

  • elm_interface_scrollable: actually a mixin, discarded in favor of a scroller object (efl.ui.scroller)
  • elm_interface_fileselector: the fileselector api needs some MVVM love
jpeg assigned this task to woohyun.Jan 18 2018, 12:49 AM

Do we need fileselector now? A proper interface would require a LOT of work.

@jpeg
We had not discussed about this, but I don't think it is needed now.
Then, could I close this task after @eagleeye finishes https://phab.enlightenment.org/T5319 ?

I don't think this can be closed once elm_interface*.eo is done - there are other relationships still using the Elm namespace, vis:

grep -r "Elm" src/lib/efl/interfaces

src/lib/efl/interfaces/efl_config.eo: - Elm_Color_Class list -> no need to return the struct, only the name matters
src/lib/efl/interfaces/efl_config.eo: - Elm_Color_Overlay -> see with Jee-Yong and his color patch (common intf)

So it's entirely possible that more of the eo files that are not labelled as interfaces could be required too...

find src/lib/elementary/elm_*.eo | wc -l

102

jpeg added a comment.Jan 18 2018, 9:40 PM
  • elm_interface_scrollable is not needed, as it is replaced by "has a" Efl.Ui.Scroller (as opposed to "is a" scrollable mixin).
  • elm_interface_fileselector is needed as part of the fileselector. No one is working on this currently, and Tizen shows no interest in it. It will only be done if someone steps in voluntarily to do work on it. It shouldn't be a blocker (I full well understand the value of a good fileselector! But it's a big task to improve and adapt the existing one, or replace it by something better!)
  • elm_color_class: thanks for the reminder! I'll have a look :)

> find src/lib/elementary/elm_*.eo | wc -l
102

This is not a meaningful stat, as everything called "elm_" right now is not meant for the Unified API: either dropped entirely or already renamed and adapted, or replaced by a shiny and not-buggy-at-all new class.

Potentially useful things missing in the unified API may include:

  • combobox
  • colorselector, see T5324
  • fileselector, see T5356
  • glview, see T5364
  • index, see T5317 (pager & tab)
  • inwin, probably no need as we also have inlined windows
  • map & route (geographic map)
  • mapbuf, see T5316
  • naviframe, see T5350 and T5351
  • toolbar, see T5317 (as toolbar is often used as a tab widget header)
  • web, see T5362

And maybe new things like:

  • Pager/Tab, see T5317
  • "Realize" widget, see T6265
  • Simple item API for short lists, see T6360

Among the above things, only simple list+item API are required and completely missing. Tizen also expresses strong interest in client-local Naviframe (T5351) and Pager (T5317) widgets.
Some other features are still half done, like efl.ui.list for instance.

grep -r "Elm" src/lib/efl/interfaces

src/lib/efl/interfaces/efl_config.eo: - Elm_Color_Class list -> no need to return the struct, only the name matters
src/lib/efl/interfaces/efl_config.eo: - Elm_Color_Overlay -> see with Jee-Yong and his color patch (common intf)

I should have checked the EO file, as this appear in a comment, not even visible in the documentation. So, yes, proper support is missing, but there is no invalid link :)

bu5hm4n added a project: Restricted Project.Jun 10 2018, 10:54 AM
zmike edited projects, added Restricted Project; removed efl.Jun 11 2018, 6:51 AM
zmike edited projects, added efl: widgets; removed Restricted Project.Jun 11 2018, 8:58 AM
zmike edited projects, added Restricted Project; removed efl (efl-1.21).Jun 14 2018, 6:30 AM