Page MenuHomePhabricator

efl_ui_position_manager_grid: start to honor group items
ClosedPublic

Authored by bu5hm4n on Aug 18 2019, 1:15 AM.

Details

Summary

This commit introduces the correct placement of group items and normal
items. The gruop items are also floating on the top of there child items
in case they are not visible on theire own. Items without group items
between items with groups are right now a little bit troublesome and
might display the wrong group, we *need* to check later on if this case
is even needed or not.

The whole placement code now uses 2 different caches, one cache is
counting how many groups we have, and how many items each group has.
Additionally, the size of the header + the state of the header is
safes. The second cache does translate that into how much size one full
group needs on the screen to be placed, this makes the calculation of
the correct item placement a lot faster.
The invalidation of the caches is also quite good. The size cache only
depends on the viewport size and the group cache, which means its
*never* recaclulated on a normal scroll operation. Only if items are
added, or the widget is resized (The later case can also be more
optimized). The group cache is only invalidated when new items are
added (Which is normally not happening during rendering)

ref T8115

Depends on D9607

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
bu5hm4n created this revision.Aug 18 2019, 1:15 AM
bu5hm4n requested review of this revision.Aug 18 2019, 1:15 AM
bu5hm4n updated this revision to Diff 24167.Aug 18 2019, 1:18 AM
bu5hm4n edited the summary of this revision. (Show Details)

fix warning

bu5hm4n updated this revision to Diff 24168.Aug 18 2019, 4:58 AM

fix wrong placement of single_item call

cedric accepted this revision.Aug 19 2019, 4:19 PM
This revision is now accepted and ready to land.Aug 19 2019, 4:19 PM
Closed by commit rEFL3cb3c1c4b117: efl_ui_position_manager_grid: start to honor group items (authored by Marcel Hollerbach <mail@marcel-hollerbach.de>). · Explain WhyAug 20 2019, 10:52 PM
This revision was automatically updated to reflect the committed changes.