Introduce global event emitter for accessibility events. With such emitter
there is no need to register array of callbacks on every accessibility object.
When the focus is moved, it uses focus_direction instead of
focus_origin.
It can get the focus by using the geometry of previous focused object or item
@feature
Add elm_object_focus_next_item_set/get,
elm_object_item_focus_next_object_set/get and
elm_object_item_focus_next_item_set/get.
If the item and object is set at the same time,
the item is preference to object when the focus moves.
This feature is implemented about gengrid.
It will be implemented about ohter widgets.
@feature
i found that the focus doesnt auto-show when focusing things inside
scrollers and so on. i had to add more points to trigger auto show.
this fixes that
@fix
In the widget code, focus origin is added. It can know
the focus movement is originated by which action.
The widgets can choose the item focus moves to last focused item
or geometrically nearby item by focus origin.
In gengrid, focus moves to last focused item if focus origin is
ELM_FOCUS_REVERT. It moves to nearby item if focus origin is from
ELM_FOCUS_UP to ELM_FOCUS_LEFT.
TODO: widgets have items should add the direction feature if it
want the focus to move to nearby item.
@feature
When the focus is move to the object in scroller, it is scrolled
to show the focus region as a widget.
If the focus region want to be shown as an item,
set the mode ELM_FOCUS_REGION_SHOW_ITEM.
If then, it will be scrolled as an item.
TODO: Widgets have items are added on_focus_region function.
@feature
Summary:
The internal API "_elm_widget_item_highlight_in_theme()" look like for list item highlight.
but it can use in another widget which has item view as elm_layout.
In that case, ERR log will be printed.
Reviewers: singh.amitesh, Hermet, woohyun
Differential Revision: https://phab.enlightenment.org/D2736
New focus move policy, ELM_FOCUS_MOVE_POLICY_KEY_ONLY, is added.
If you set this policy as base focus move policy, objects cannot steal
focus by using mouse click or mouse in. Only keyboard input (such as Left,
Right, Up, Down, ...) can make focus be moved.
Additaionally, an object can have its own focus move policy by using
elm_object_focus_move_policy_set API.
@feature
Summary:
elm_object_item_del_cb_set() can set delete callback that is called on item deletion.
Del_cb, Evas_Smart_Cb, has void pointer for item data as its first parameter.
However, getting item data is broken.
@fix
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: Hermet
Differential Revision: https://phab.enlightenment.org/D2524
AT-SPI2 specification states that active window can have only one widget
with FOCUSED state. This differs from elementary design which assumes
that whole elementary widget tree branch is focused.
Patch assumes that if a widget have no focusable children and can have
focus it can be marked as FOCUSABLE on atspi bus.
This commit enables generic broadcasting of changes in widget hierarcies.
Previously this kind of broadcasting had to be implemented inside widget.
This solution is using elm_widget sub_obj_add/sub_obj_del functions.
elm_interface_atspi_widget object was previously used to implement
atspi features on top of elm_widget object. However such inheritance
obfuscates a design, so atspi features implementation was moved directly
into elm_widget code.
This reverts commit 841fcdfb18a414a7381910bcbb0b0ef4807bc5c2.
It's been too much passed.
we have more dependencies to the change (ie, key bindings)
so conclude to have the abi break in this case.
this adds logic in elm widget and elm win to figure out how to
automatically show a focus hilight when switching focus, or to hide
it. this really should be the default mode, thus in all default
profiles (default, standard, mobile) it's turned on. this means if you
tab or shif+tab or use arrow keys to switch focus, the focus hilight
will magicallly appear. click with a mouse to change focus and it'll
disappear assuming you want to use the mouse to do things. If focus is
explicitly turned on in config or in the window by api, then this has
no effect and focus will remain on all the time. this adds apis to
change these config values and options in the default elm config tool
to swizzle them as well as config upgrade handling for existing configs.
@feature
Summary:
Resolved FIXME filled all smart callbacks and also set it in the constructor
Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D1876
Summary:
When elm_object_disabled_set API is called on any widget, All the
subobjects of the widget also has to be disabled issue fix.
@fix
Test Plan:
Call the API elm_object_disabled_set on any container widget like box,
layout etc:-, fix can be tested with test_box.c and test_layout.c test
codes.
Reviewers: Hermet, seoz, raster
Subscribers: govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D1778
Summary:
Pass Elm_Object_Item *item instead of Elm_Widget_Item_Data *item as
*event_info in item->del_func to let *event_info be used.
@fix
Reviewers: Hermet
Differential Revision: https://phab.enlightenment.org/D1788