Allow to add some extra contextul information about accessibility objects
which can be used by Assistive Technology to provide better user experience.
API is still marked as beta.
@feature
This patch moves some duplicated implementation from elm_widget
and elm_widget_item classes into atspi base mixin. It allows to
better share code and reduce maintainability.
Change-Id: I8d264661e7ffade7da72299f29075a536d71eaa3
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
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
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:
Some newly implemented attributes are not present in several classes and
interfaces.
This patch:
- Adds some attributes (like @nullable, @optional, own, free) to several .eo files.
- Changes some eina types names to the equivalent eolian name (like "Eina_Bool" to "bool")
- Adds the element type of lists and iterators.
Reviewers: felipealmeida, tasn
Reviewed By: tasn
Differential Revision: https://phab.enlightenment.org/D2350
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 b8549f3e83a8592145a50085182583adead2c74e.
this build system is bad and whoever did the eo integration should not feel pleased with themselves.
Summary:
Allow to create ATSPI aware objects only by attaching Atspi interface to
Eo object. Apply protected rule to all methods, properties which should
not be available to app developer. Remove public atspi header from Elementary.h.
Make Elm_Widget inherit from Atspi interfaces, Elm_Win inherits additional
Atspi_Window interface.
Unified file names - all atspi related objects/interfaces can be found under
elm_atspi_*
and elm_interface_atspi_*.
Test Plan:
build&install, out-off tree example compilation with gcc and g++,
Orca screen reader tests on Ubuntu 12.04.
Reviewers: raster, seoz, tasn, JackDanielZ
Differential Revision: https://phab.enlightenment.org/D718
Summary:
If item loop feature is enabled, item is moved infinitely.
1. add new widget api - item_loop_enabled
2. add smart event using new config - elm_list.c
3. add demo - test_list.c/list_focus
Reviewers: seoz, woohyun, raster, jaehwan, Hermet
CC: singh.amitesh, c
Differential Revision: https://phab.enlightenment.org/D619