HomePhabricator

efl_ui_tab_pager: do not directly inherit from spotlight anymore

Authored by Marcel Hollerbach <mail@marcel-hollerbach.de> on Dec 2 2019, 12:41 PM.

Description

efl_ui_tab_pager: do not directly inherit from spotlight anymore

spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.

The resons why containing it internally is better:

  • You now only have one way of selecting a page, marking it as selection

via the selectable API

  • You cannot build race conditions between selecting a page and setting

the active_element anymore

  • The tab_pager is now also just a simple single_selectable implementor,

which makes this whole usage more convinient.

  • There is now a event you can listen to if you want to know if

something has changed the selected item

  • push and pop would have never worked correctly in the tab_pager, as

the item would have appeared always before the item was "faded" in. This
possibility is not given anymore

Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.

Differential Revision: https://phab.enlightenment.org/D10775

Marcel Hollerbach <mail@marcel-hollerbach.de> committed rEFL77a04db5788a: efl_ui_tab_pager: do not directly inherit from spotlight anymore (authored by Marcel Hollerbach <mail@marcel-hollerbach.de>).Feb 3 2020, 8:16 AM