Page MenuHomePhabricator

elm/genlist: redo focus adapter management on item blocks
AbandonedPublic

Authored by zmike on Oct 25 2019, 7:21 AM.

Details

Reviewers
bu5hm4n
Summary

creating these based on item block realize state is a good idea, but
genlist items can be realized even if their item block is not realized
and so this ends up failing in that case
Depends on D10519

Diff Detail

Repository
rEFL core/efl
Branch
master
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 14188
zmike created this revision.Oct 25 2019, 7:21 AM

It seems that this patch has no reviewers specified. If you are unsure who can review your patch, please check this wiki page and see if anyone can be added: https://phab.enlightenment.org/w/maintainers_reviewers/

bu5hm4n requested changes to this revision.Oct 27 2019, 7:41 AM

Can you elaborate on when the item can be realized without the block beeing realized ? because that means that _item_block_realize isn`t called in the group_calculate
*or* the item is not within the visual boundaries of its block, which means that i would rather prefer *anther* adapter added for that case.

My main concern here is that the registering in the item realization is again expansive, since you need to set the order of items to the block, which could be a rather big list, where not a lot of items are registered.

src/lib/elementary/elm_genlist.c
1847

You need to re-set the order of children again to the EO_OBJ(it) otherwise tab movement will be in the order of elements beeing realized, instead of the linear order it has on the screen.

This revision now requires changes to proceed.Oct 27 2019, 7:41 AM
zmike added a comment.Oct 28 2019, 5:22 AM

Can you elaborate on when the item can be realized without the block beeing realized ? because that means that _item_block_realize isn`t called in the group_calculate
*or* the item is not within the visual boundaries of its block, which means that i would rather prefer *anther* adapter added for that case.

My main concern here is that the registering in the item realization is again expansive, since you need to set the order of items to the block, which could be a rather big list, where not a lot of items are registered.

There's a number of cases in _item_block_recalc where an item may be realized solely for calculations even though the block is not yet realized. These cases are triggered by the tests in D10528.

src/lib/elementary/elm_genlist.c
1847

I don't know what this means?

zmike abandoned this revision.Oct 28 2019, 12:52 PM