A lot of interfaces were created in Elm namespace which is not part of our new API. They need to be migraded.
- Mentioned In
- T5301: Make EFL easier to use by improving its interface
- Mentioned Here
- T5316: map: Implement objects auto-buffering or explicit buffering (like mapbuf)
T5317: Add a tab/pageview widget
T5324: Refactor color selector widget
T5350: Naviframe/portal support in Wayland Enlightenment
T5351: New Naviframe API
T5356: Refactor fileselector
T5362: Finish elm_web work
T5364: Cleanup EvasGL and elm_glview.eo
T6265: "Realize" Widget
T6360: EO: Item and Item_List API's
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
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
- 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
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:
- 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:
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.