Commit Graph

570 Commits

Author SHA1 Message Date
Lukasz Stanislawski f15796036e atspi: add global event emitter
Introduce global event emitter for accessibility events. With such emitter
there is no need to register array of callbacks on every accessibility object.
2015-10-01 16:00:28 +02:00
Jaehwan Kim 3265eb51cd focus: add the focus_direction feature about item.
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
2015-09-25 15:42:45 +09:00
Jaehwan Kim 0dedfc9248 focus: add the APIs to set the focus next about item.
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
2015-09-15 19:53:23 +09:00
Carsten Haitzler be2ae5f410 elm autofocus show - fix cases where focus is inside containers
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
2015-09-10 18:29:24 +09:00
Jaehwan Kim 1bc01460c4 focus: item focus moves by geometry.
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
2015-08-13 13:58:04 +09:00
Jaehwan Kim b3a86fc230 focus: add the focus region show mode
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
2015-08-12 17:30:44 +09:00
WooHyun Jung 183ee05663 elm_focus: focus_resion_show does not need to be called for all parents 2015-07-25 11:31:53 +09:00
Lukasz Stanislawski ee5e4cf27a widget_item: check view visibility in item_onscreen_is function. 2015-07-16 10:53:42 +02:00
Avi Levin 10045491aa elm_calendar, elm_widget: porting evas smart callbacks to eo 2015-07-05 13:05:38 +03:00
Amitesh Singh f10b4eb8d0 genlist/list/win: Revert focus highlight animation when looping is enable
Summary:
  -
  Revert "focus: Added internal widget APIs of focus highlight object of elm window."

    This reverts commit 3f98d71830163a154762f2d16301d720c781b7c5.

  - Revert "List: Focus highlight when loop is enable"
This reverts commit 57ad32a900e71f83441bf7246671b8f16a8ec909.

  - Revert "genlist: Focus highlight when loop is enable"

    This reverts commit 91282a22cba66ee5e7799018d3abe8957fb1b1fa.

Reviewers: seoz, raster, jpeg, SanghyeonLee

Subscribers: anand.km, seoz

Differential Revision: https://phab.enlightenment.org/D2725

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-25 17:24:08 +02:00
Daniel Kolesa 3904cc7175 elm: constify Eolian methods correctly because of recent Eolian changes 2015-06-25 12:21:00 +01:00
woochan lee 4033c8f587 widget: Add a case that elm_layout is an item view object.
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
2015-06-23 08:30:22 +09:00
Thiep Ha 8677ef1add widget: Add null check
Summary: Adding NULL checking when allocate memory.

Reviewers: Hermet, seoz, cedric

Reviewed By: cedric

Differential Revision: https://phab.enlightenment.org/D2663

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-11 15:15:35 +02:00
Lukasz Stanislawski 166d8c2db8 atspi: fix popup role and signal emission 2015-06-05 16:00:30 +02:00
Daniel Zaoui 9ab2ab73fe Focus: add and fix comments 2015-06-02 08:46:55 +03:00
WooHyun Jung 98060bd8da elm_focus: added new focus move policy and elm_object_focus_move_policy_set/get
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
2015-06-02 13:42:00 +09:00
Tom Hacohen c56d494f2f Fix usage of the now removed eo_error_set().
This API has been removed from Eo.
2015-05-20 16:31:42 +01:00
Tom Hacohen 27b72840c8 Adjust usage of eo_constructor() according to recent changes. 2015-05-20 13:03:28 +01:00
Lukasz Stanislawski 8062db6ab1 atspi: improve way of setting ATSPI SHOWING state
After this patch calculation of the atspi SHOWING state takes into
account also viewport of any parent implementing ELM_INTERFACE_SCROLLABLE.
2015-05-20 12:01:27 +02:00
ChunEon Park 74f0424f3e widget: more fix wrt item data.
widget item data is no more used.
use eo item data instead.

@fix.
2015-05-18 17:15:09 +09:00
Jee-Yong Um a522fa1b99 elm_object_item: fix the issue that del_cb doens't get item data as its parameter
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
2015-05-18 17:10:09 +09:00
Lukasz Stanislawski 31545f69f8 atspi: set FOCUSABLE state only when widget has no focusable children
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.
2015-05-13 15:39:24 +02:00
Lukasz Stanislawski 06f97cd1af atspi: do not return ELM_ATSPI_STATE_ACTIVE when widget is enabled.
According to atspi specification ATSPI_STATE_ACTIVE is reserved
only for windows having keyboard focus.
2015-05-13 15:39:24 +02:00
Lukasz Stanislawski c306271bc3 atspi: handle state change notifications in on_focus function 2015-05-13 15:39:24 +02:00
Lukasz Stanislawski 5d61fe27d4 atspi: add component interface to elm_widget_item objects. 2015-05-12 15:31:20 +02:00
Lukasz Stanislawski 9e970814d5 atspi: changed del event broadcast. Fix genlist & gengrid tests 2015-04-06 10:25:02 +02:00
Lukasz Stanislawski 53afc0f2ca atspi: fix mem leaks spotted in valgrind. 2015-04-06 10:25:02 +02:00
Lukasz Stanislawski ea1f1d9c36 atspi: delay registration of atspi object until its shown 2015-04-06 10:25:01 +02:00
Lukasz Stanislawski 33ea156e8b atspi: allow to override default Elementary objects hierarchy 2015-04-06 10:25:01 +02:00
Lukasz Stanislawski c272f9b084 widget: use ATSPI protected functions. 2015-04-06 10:24:59 +02:00
Lukasz Stanislawski f7686dfd0e atspi: add text tags filtering 2015-04-06 10:24:59 +02:00
Lukasz Stanislawski e663ee3167 atspi: improva child add/del broadcasting.
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.
2015-04-06 10:24:59 +02:00
Lukasz Stanislawski 18bd62002b atspi: remove elm_interface_atspi_widget implementation.
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.
2015-04-06 10:24:58 +02:00
Lukasz Stanislawski 64374b68e8 atspi: improve atspi support for elm_list
Now elm_list_items are normal atspi objects and provide information
about it label and 'start' and 'end' internal objects.
2015-04-06 10:24:57 +02:00
Lukasz Stanislawski 7a7cc2094c atspi: implement add/del callbacks. Add genlist item tests 2015-04-06 10:24:57 +02:00
Lukasz Stanislawski 08549d134e atspi: make eo_widget_item accessible object 2015-04-06 10:24:56 +02:00
Jaehwan Kim 9c26cdf25a elm_widget: fix wrong parmeter.
The parameter what the application gets should Elm_Object_Item.

@fix
2015-03-19 16:47:24 +09:00
ChunEon Park dc01331903 Revert "widget: fix the abi break."
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.
2015-03-17 15:46:19 +09:00
ChunEon Park 622fe4c5da widget: fix the abi break.
Widget type string should be all lower-cases!

This acutally was caused in 7b10fdb8f39c3b36f575dd22d26a1efe6ecd28ec

@fix
2015-03-13 17:46:00 +09:00
Carsten Haitzler 17ffbd6448 elm - focus feature - add config option to automatically show/hide focus
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
2015-03-04 17:47:54 +09:00
kabeer khan 2d7cb99e9b elm_widget: added evas smart callback descriptions
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
2015-02-09 10:40:29 +09:00
WooHyun Jung c8f6d47e0f widget: elm_win can be unfocused only when its ecore_evas loses focus. 2015-01-17 16:29:46 +09:00
ChunEon Park 52e7a6b97f widget: set missing elm_widget_item_magic 2015-01-14 19:50:15 +09:00
shilpa.singh 92deae574a elm_widget: elm_object_disabled_set API fix
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
2015-01-08 16:06:35 +09:00
Jaehyun Cho a51561c999 elm_widget: Pass Elm_Object_Item *item as *event_info in item->del_func.
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
2014-12-18 14:42:45 +09:00
Sanjeev BA 00cbb2a2e2 Multibutton entry - handle parent object null case.
Reviewers: seoz, Hermet

Subscribers: Hermet, seoz

Maniphest Tasks: T1379

Differential Revision: https://phab.enlightenment.org/D1254
2014-12-15 17:47:06 +09:00
Daniel Juyung Seo 726c17b399 widget: Add error message when the parent parameter was set wrongly.
This helps application developers debug their apps easier.
2014-11-25 22:09:58 +09:00
zmike 0c933506a8 widget tooltip creation should also pass the eo item to the callback
ref T1859
2014-11-23 11:30:30 -05:00
Daniel Juyung Seo 4406302421 elm: Modify document for APIs.
Retrieve -> Get as the API says.
This is not a critical change but was done due to the consistency.
2014-11-19 19:51:57 +09:00
Daniel Zaoui 05225b162e Object Items: remove data variable from widget item.
Now, data is stored in Eo layer via eo_key_data_set/get.

Two macros have been added to facilitate access.
2014-11-12 12:03:58 +02:00