Page MenuHomePhabricator

efl_ui: activate widget focus on efl.ui.item.
ClosedPublic

Authored by SanghyeonLee on Dec 17 2018, 3:28 AM.

Details

Summary

Unlikely efl.ui.Layout, Item need to be focusable,
so it may traverse list by your command of focus moving.

Test Plan

tested in
efl_ui_list_example_1.c
efl_ui_grid_example_1.c
check whether item show their focus properly.

scroll feature is not yet supported by efl_ui_scroll itself.

Diff Detail

Repository
rEFL core/efl
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 8453
Build 7599: arc lint + arc unit
SanghyeonLee created this revision.Dec 17 2018, 3:28 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/

SanghyeonLee requested review of this revision.Dec 17 2018, 3:28 AM

Hi,

I tried to test this patch - however, when i execute this example it get nothing beside a lot of errors like:

ERR<12351>:eina_safety ../src/lib/evas/canvas/evas_callbacks.c:479 evas_object_event_callback_priority_add() safety check failed: eo_obj == NULL

with the backtrace:

|        /home/marcel/git/efl/build/../src/lib/eina/eina_log.c                         : 2055 @ eina_log_print_cb_stderr()
|        /home/marcel/git/efl/build/../src/lib/eina/eina_log.c                         : 1454 @ eina_log_print_unlocked()
|        /home/marcel/git/efl/build/../src/lib/eina/eina_log.c                         : 2259 @ eina_log_print()
|        /home/marcel/git/efl/build/../src/lib/eina/eina_safety_checks.c               :   83 @ _eina_safety_error()
| /home/marcel/git/efl/build/../src/lib/evas/canvas/evas_callbacks.c                   :  479 @ evas_object_event_callback_priority_add()
| /home/marcel/git/efl/build/../src/lib/evas/canvas/evas_callbacks.c                   :  470 @ evas_object_event_callback_add()
|  /home/marcel/git/efl/build/../src/lib/elementary/efl_ui_list_view_precise_layouter.c:  504 @ _calc_size_job()
|       /home/marcel/git/efl/build/../src/lib/ecore/ecore_job.c                        :   96 @ _ecore_job_event_handler()
|       /home/marcel/git/efl/build/../src/lib/ecore/ecore_event_message_handler.c      :  360 @ _ecore_event_message_handler_efl_loop_message_handler_message_ca

|          /home/marcel/git/efl/build/src/lib/ecore/efl_loop_message_handler.eo.c      :   14 @ efl_loop_message_handler_message_call()
|       /home/marcel/git/efl/build/../src/lib/ecore/efl_loop.c                         :  628 @ _efl_loop_message_process()
|       /home/marcel/git/efl/build/../src/lib/ecore/efl_loop.c                         :  658 @ efl_loop_message_process()
|       /home/marcel/git/efl/build/../src/lib/ecore/ecore_main.c                       : 2459 @ _ecore_main_loop_iterate_internal()
|       /home/marcel/git/efl/build/../src/lib/ecore/ecore_main.c                       : 1190 @ _ecore_main_loop_begin()
|       /home/marcel/git/efl/build/../src/lib/ecore/efl_loop.c                         :   84 @ _efl_loop_begin()
|          /home/marcel/git/efl/build/src/lib/ecore/efl_loop.eo.c                      :   28 @ efl_loop_begin()
|       /home/marcel/git/efl/build/../src/lib/ecore/ecore_main.c                       : 1275 @ ecore_main_loop_begin()
|  /home/marcel/git/efl/build/../src/lib/elementary/elm_main.c                         : 1334 @ elm_run()
|                                                ??/??                                 : 1334 @ elm_main()
|                                                ??/??                                 : 1334 @ main()
|                                                ??/??                                 : 1334 @ __libc_start_main()
|                                                ??/??                                 : 1334 @ _start()

And on the screen i only have a lot of text layouted above itself ...

@bu5hm4n Hello.
Which example did you tried to excuted?
I've tested both of list & grid, but it works well except some crash of efl_del() and it is not related with this patch. I have to fix it too.
If you tested efl_ui_list_view_example,
this is not list_view and list_view is on discussion yet so it may crash for now.
please check you correctly tested efl_ui_list/grid_example.
thanks :)

Okay, yeah, fully my mistake, sorry :)

Works as expected :)

However, the ordering is a little bit off sometimes, do you know how to set the the ordering ? :)

If not, i can either try to help or do it, as you wish :)

bu5hm4n accepted this revision.Dec 20 2018, 4:59 AM

I don't know if others also want to accept this, its fine for me :)

This revision is now accepted and ready to land.Dec 20 2018, 4:59 AM

@bu5hm4n I think list need to take controls manually about their children at the end,
but before that we might need focus feature in scroller.

I hope @eagleeye working on this, but I'm not sure about the status.

Sure :) contact me if there are questions :)

This revision was automatically updated to reflect the committed changes.