summaryrefslogtreecommitdiff
path: root/legacy/elementary/src/lib/elm_access.c
diff options
context:
space:
mode:
authorShinwoo Kim <kimcinoo.efl@gmail.com>2013-02-07 13:01:34 +0000
committerShinwoo Kim <kimcinoo.efl@gmail.com>2013-02-07 13:01:34 +0000
commit166f5ae570b254e8cd8ba0f314edfcccaf612f12 (patch)
treecd0285556058b3f9a11f016f82af1101604610d6 /legacy/elementary/src/lib/elm_access.c
parent70a58db65920c53350c62edc1983e97fe89e1795 (diff)
[access] convey(relay) focus(highlight) to the object which is swallowed by Elm_Object_Item.
SVN revision: 83742
Diffstat (limited to 'legacy/elementary/src/lib/elm_access.c')
-rw-r--r--legacy/elementary/src/lib/elm_access.c65
1 files changed, 61 insertions, 4 deletions
diff --git a/legacy/elementary/src/lib/elm_access.c b/legacy/elementary/src/lib/elm_access.c
index 60d66b8..b85f511 100644
--- a/legacy/elementary/src/lib/elm_access.c
+++ b/legacy/elementary/src/lib/elm_access.c
@@ -265,30 +265,87 @@ _access_highlight_object_get(Evas_Object *obj)
265 return ho; 265 return ho;
266} 266}
267 267
268void _elm_access_mouse_event_enabled_set(Eina_Bool enabled) 268void
269_elm_access_mouse_event_enabled_set(Eina_Bool enabled)
269{ 270{
270 enabled = !!enabled; 271 enabled = !!enabled;
271 if (mouse_event_enable == enabled) return; 272 if (mouse_event_enable == enabled) return;
272 mouse_event_enable = enabled; 273 mouse_event_enable = enabled;
273} 274}
274 275
275void _elm_access_read_mode_set(Eina_Bool enabled) 276void
277_elm_access_read_mode_set(Eina_Bool enabled)
276{ 278{
277 enabled = !!enabled; 279 enabled = !!enabled;
278 if (read_mode == enabled) return; 280 if (read_mode == enabled) return;
279 read_mode = enabled; 281 read_mode = enabled;
280} 282}
281 283
282Eina_Bool _elm_access_read_mode_get() 284Eina_Bool
285_elm_access_read_mode_get()
283{ 286{
284 return read_mode; 287 return read_mode;
285} 288}
286 289
287void _elm_access_shutdown() 290void
291_elm_access_shutdown()
288{ 292{
289 _access_shutdown(); 293 _access_shutdown();
290} 294}
291 295
296static void
297_access_order_del_cb(void *data,
298 Evas *e __UNUSED__,
299 Evas_Object *obj,
300 void *event_info __UNUSED__)
301{
302 Elm_Widget_Item *item = data;
303
304 item->access_order = eina_list_remove(item->access_order, obj);
305}
306
307void
308_elm_access_widget_item_access_order_set(Elm_Widget_Item *item,
309 Eina_List *objs)
310{
311 Eina_List *l;
312 Evas_Object *o;
313
314 if (!item) return;
315
316 _elm_access_widget_item_access_order_unset(item);
317
318 EINA_LIST_FOREACH(objs, l, o)
319 {
320 evas_object_event_callback_add(o, EVAS_CALLBACK_DEL,
321 _access_order_del_cb, item);
322 }
323
324 item->access_order = objs;
325}
326
327const Eina_List *
328_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item)
329{
330 if (!item) return NULL;
331 return item->access_order;
332}
333
334void
335_elm_access_widget_item_access_order_unset(Elm_Widget_Item *item)
336{
337 Eina_List *l, *l_next;
338 Evas_Object *o;
339
340 if (!item) return;
341
342 EINA_LIST_FOREACH_SAFE(item->access_order, l, l_next, o)
343 {
344 evas_object_event_callback_del_full
345 (o, EVAS_CALLBACK_DEL, _access_order_del_cb, item);
346 item->access_order = eina_list_remove_list(item->access_order, l);
347 }
348}
292//-------------------------------------------------------------------------// 349//-------------------------------------------------------------------------//
293EAPI void 350EAPI void
294_elm_access_highlight_set(Evas_Object* obj) 351_elm_access_highlight_set(Evas_Object* obj)