summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinwoo Kim <kimcinoo.efl@gmail.com>2013-01-28 11:13:18 +0000
committerShinwoo Kim <kimcinoo.efl@gmail.com>2013-01-28 11:13:18 +0000
commit8ffacbf58341a50797867e2e7b1a5748387df2d5 (patch)
tree563a7777cec66b18e51b20abb2eefb2df108dbbb
parent079b7c1ec69a0064f9339b9eb6b46524f0b1133f (diff)
[access] The read next/prev message does not move focus but move highlight only, the focus moves when the activate message is detected.
SVN revision: 83379
-rw-r--r--legacy/elementary/ChangeLog4
-rw-r--r--legacy/elementary/src/lib/elm_access.c32
-rw-r--r--legacy/elementary/src/lib/elm_widget.c61
-rw-r--r--legacy/elementary/src/lib/elm_widget.h31
4 files changed, 114 insertions, 14 deletions
diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog
index 6562210..1a8a905 100644
--- a/legacy/elementary/ChangeLog
+++ b/legacy/elementary/ChangeLog
@@ -960,3 +960,7 @@
9602013-01-26 Daniel Juyung Seo (SeoZ) 9602013-01-26 Daniel Juyung Seo (SeoZ)
961 961
962 * Add elm_index_delay_change_time_set/get for changing delay change time in index. 962 * Add elm_index_delay_change_time_set/get for changing delay change time in index.
963
9642013-01-28 Shinwoo Kim
965
966 * [access] The read next/prev message does not move focus but move highlight only. the focus moves when the activate message is detected.
diff --git a/legacy/elementary/src/lib/elm_access.c b/legacy/elementary/src/lib/elm_access.c
index 87e221b..468555a 100644
--- a/legacy/elementary/src/lib/elm_access.c
+++ b/legacy/elementary/src/lib/elm_access.c
@@ -6,6 +6,7 @@
6#define MY_CLASS_NAME "elm_access" 6#define MY_CLASS_NAME "elm_access"
7 7
8static Eina_Bool mouse_event_enable = EINA_TRUE; 8static Eina_Bool mouse_event_enable = EINA_TRUE;
9static Eina_Bool read_mode = EINA_FALSE;
9 10
10static Evas_Object * _elm_access_add(Evas_Object *parent); 11static Evas_Object * _elm_access_add(Evas_Object *parent);
11 12
@@ -256,6 +257,17 @@ void _elm_access_mouse_event_enabled_set(Eina_Bool enabled)
256 mouse_event_enable = enabled; 257 mouse_event_enable = enabled;
257} 258}
258 259
260void _elm_access_read_mode_set(Eina_Bool enabled)
261{
262 enabled = !!enabled;
263 if (read_mode == enabled) return;
264 read_mode = enabled;
265}
266
267Eina_Bool _elm_access_read_mode_get()
268{
269 return read_mode;
270}
259//-------------------------------------------------------------------------// 271//-------------------------------------------------------------------------//
260EAPI void 272EAPI void
261_elm_access_highlight_set(Evas_Object* obj) 273_elm_access_highlight_set(Evas_Object* obj)
@@ -332,6 +344,11 @@ _elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act)
332 344
333 if (elm_widget_is(highlight)) 345 if (elm_widget_is(highlight))
334 { 346 {
347 _elm_access_read_mode_set(EINA_FALSE);
348
349 if (!elm_object_focus_get(highlight))
350 elm_object_focus_set(highlight, EINA_TRUE);
351
335 elm_widget_activate(highlight, act); 352 elm_widget_activate(highlight, act);
336 return; 353 return;
337 } 354 }
@@ -347,15 +364,7 @@ _elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act)
347EAPI void 364EAPI void
348_elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir) 365_elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir)
349{ 366{
350 Evas_Object *highlight, *focused; 367 _elm_access_read_mode_set(EINA_TRUE);
351
352 highlight = _access_highlight_object_get(obj);
353 focused = elm_widget_focused_object_get(obj);
354
355 if (highlight && (highlight != focused))
356 elm_object_focus_set(highlight, EINA_TRUE);
357
358 /* use focus cycle to read next, previous object */
359 elm_widget_focus_cycle(obj, dir); 368 elm_widget_focus_cycle(obj, dir);
360} 369}
361 370
@@ -451,6 +460,8 @@ _elm_access_object_hilight(Evas_Object *obj)
451 if (ptarget) 460 if (ptarget)
452 { 461 {
453 evas_object_data_del(o, "_elm_access_target"); 462 evas_object_data_del(o, "_elm_access_target");
463 elm_widget_parent_highlight_set(ptarget, EINA_FALSE);
464
454 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_DEL, 465 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_DEL,
455 _access_obj_hilight_del_cb, NULL); 466 _access_obj_hilight_del_cb, NULL);
456 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_HIDE, 467 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_HIDE,
@@ -462,6 +473,7 @@ _elm_access_object_hilight(Evas_Object *obj)
462 } 473 }
463 } 474 }
464 evas_object_data_set(o, "_elm_access_target", obj); 475 evas_object_data_set(o, "_elm_access_target", obj);
476 elm_widget_parent_highlight_set(obj, EINA_TRUE);
465 477
466 elm_widget_theme_object_set(obj, o, "access", "base", "default"); 478 elm_widget_theme_object_set(obj, o, "access", "base", "default");
467 479
@@ -499,6 +511,7 @@ _elm_access_object_unhilight(Evas_Object *obj)
499 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_RESIZE, 511 evas_object_event_callback_del_full(ptarget, EVAS_CALLBACK_RESIZE,
500 _access_obj_hilight_resize_cb, NULL); 512 _access_obj_hilight_resize_cb, NULL);
501 evas_object_del(o); 513 evas_object_del(o);
514 elm_widget_parent_highlight_set(ptarget, EINA_FALSE);
502 } 515 }
503} 516}
504 517
@@ -644,6 +657,7 @@ _elm_access_object_hilight_disable(Evas *e)
644 _access_obj_hilight_resize_cb, NULL); 657 _access_obj_hilight_resize_cb, NULL);
645 } 658 }
646 evas_object_del(o); 659 evas_object_del(o);
660 elm_widget_parent_highlight_set(ptarget, EINA_FALSE);
647} 661}
648 662
649EAPI void 663EAPI void
diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c
index 7530229..8e18a28 100644
--- a/legacy/elementary/src/lib/elm_widget.c
+++ b/legacy/elementary/src/lib/elm_widget.c
@@ -20,6 +20,9 @@ EAPI Eo_Op ELM_WIDGET_BASE_ID = EO_NOOP;
20 ELM_WIDGET_DATA_GET(obj, sd); \ 20 ELM_WIDGET_DATA_GET(obj, sd); \
21 if (!sd) return 21 if (!sd) return
22 22
23#define ELM_WIDGET_FOCUS_GET(obj) \
24 ((_elm_access_read_mode_get()) ? (elm_widget_highlight_get(obj)) : \
25 (elm_widget_focus_get(obj)))
23 26
24typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data; 27typedef struct _Elm_Event_Cb_Data Elm_Event_Cb_Data;
25typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data; 28typedef struct _Elm_Translate_String_Data Elm_Translate_String_Data;
@@ -1557,6 +1560,23 @@ _elm_widget_focus_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
1557 *ret = sd->focused; 1560 *ret = sd->focused;
1558} 1561}
1559 1562
1563EAPI Eina_Bool
1564elm_widget_highlight_get(const Evas_Object *obj)
1565{
1566 ELM_WIDGET_CHECK(obj) EINA_FALSE;
1567 Eina_Bool ret = EINA_FALSE;
1568 eo_do((Eo *) obj, elm_wdg_highlight_get(&ret));
1569 return ret;
1570}
1571
1572static void
1573_elm_widget_highlight_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
1574{
1575 Eina_Bool *ret = va_arg(*list, Eina_Bool *);
1576 Elm_Widget_Smart_Data *sd = _pd;
1577 *ret = sd->highlighted;
1578}
1579
1560EAPI Evas_Object * 1580EAPI Evas_Object *
1561elm_widget_focused_object_get(const Evas_Object *obj) 1581elm_widget_focused_object_get(const Evas_Object *obj)
1562{ 1582{
@@ -2017,7 +2037,12 @@ _elm_widget_focus_cycle(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
2017 return; 2037 return;
2018 elm_widget_focus_next_get(obj, dir, &target); 2038 elm_widget_focus_next_get(obj, dir, &target);
2019 if (target) 2039 if (target)
2020 elm_widget_focus_steal(target); 2040 {
2041 /* access */
2042 if (_elm_config->access_mode && _elm_access_read_mode_get())
2043 _elm_access_highlight_set(target);
2044 else elm_widget_focus_steal(target);
2045 }
2021} 2046}
2022 2047
2023/** 2048/**
@@ -2616,7 +2641,7 @@ _elm_widget_focus_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
2616 2641
2617 /* Return */ 2642 /* Return */
2618 *next = (Evas_Object *)obj; 2643 *next = (Evas_Object *)obj;
2619 *ret = !elm_widget_focus_get(obj); 2644 *ret = !ELM_WIDGET_FOCUS_GET(obj);
2620} 2645}
2621 2646
2622/** 2647/**
@@ -2687,12 +2712,12 @@ _elm_widget_focus_list_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
2687 const Eina_List *l = items; 2712 const Eina_List *l = items;
2688 2713
2689 /* Recovery last focused sub item */ 2714 /* Recovery last focused sub item */
2690 if (elm_widget_focus_get(obj)) 2715 if (ELM_WIDGET_FOCUS_GET(obj))
2691 { 2716 {
2692 for (; l; l = list_next(l)) 2717 for (; l; l = list_next(l))
2693 { 2718 {
2694 Evas_Object *cur = list_data_get(l); 2719 Evas_Object *cur = list_data_get(l);
2695 if (elm_widget_focus_get(cur)) break; 2720 if (ELM_WIDGET_FOCUS_GET(cur)) break;
2696 } 2721 }
2697 2722
2698 /* Focused object, but no focused sub item */ 2723 /* Focused object, but no focused sub item */
@@ -2748,6 +2773,29 @@ _elm_widget_focus_list_next_get(Eo *obj, void *_pd EINA_UNUSED, va_list *list)
2748} 2773}
2749 2774
2750EAPI void 2775EAPI void
2776elm_widget_parent_highlight_set(Evas_Object *obj,
2777 Eina_Bool highlighted)
2778{
2779 ELM_WIDGET_CHECK(obj);
2780 eo_do(obj, elm_wdg_parent_highlight_set(highlighted));
2781}
2782
2783
2784static void
2785_elm_widget_parent_highlight_set(Eo *obj, void *_pd, va_list *list)
2786{
2787 Eina_Bool highlighted = va_arg(*list, int);
2788 Elm_Widget_Smart_Data *sd = _pd;
2789 highlighted = !!highlighted;
2790
2791 Evas_Object *o = elm_widget_parent_get(obj);
2792
2793 if (o) elm_widget_parent_highlight_set(o, highlighted);
2794
2795 sd->highlighted = highlighted;
2796}
2797
2798EAPI void
2751elm_widget_signal_emit(Evas_Object *obj, 2799elm_widget_signal_emit(Evas_Object *obj,
2752 const char *emission, 2800 const char *emission,
2753 const char *source) 2801 const char *source)
@@ -5326,6 +5374,7 @@ _class_constructor(Eo_Class *klass)
5326 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CAN_FOCUS_GET), _elm_widget_can_focus_get), 5374 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CAN_FOCUS_GET), _elm_widget_can_focus_get),
5327 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET), _elm_widget_child_can_focus_get), 5375 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET), _elm_widget_child_can_focus_get),
5328 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_GET), _elm_widget_focus_get), 5376 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_GET), _elm_widget_focus_get),
5377 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_HIGHLIGHT_GET), _elm_widget_highlight_get),
5329 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET), _elm_widget_focused_object_get), 5378 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET), _elm_widget_focused_object_get),
5330 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TOP_GET), _elm_widget_top_get), 5379 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_TOP_GET), _elm_widget_top_get),
5331 5380
@@ -5396,7 +5445,7 @@ _class_constructor(Eo_Class *klass)
5396 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET), _elm_widget_focus_list_direction_get), 5445 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET), _elm_widget_focus_list_direction_get),
5397 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET), _elm_widget_focus_next_get), 5446 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET), _elm_widget_focus_next_get),
5398 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET), _elm_widget_focus_list_next_get), 5447 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET), _elm_widget_focus_list_next_get),
5399 5448 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_PARENT_HIGHLIGHT_SET), _elm_widget_parent_highlight_set),
5400 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET), _elm_widget_display_mode_set), 5449 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET), _elm_widget_display_mode_set),
5401 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET), _elm_widget_display_mode_get), 5450 EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET), _elm_widget_display_mode_get),
5402 5451
@@ -5458,6 +5507,7 @@ static const Eo_Op_Description op_desc[] = {
5458 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET, "description here"), 5507 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET, "description here"),
5459 5508
5460 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_GET, "description here"), 5509 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_GET, "description here"),
5510 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_HIGHLIGHT_GET, "description here"),
5461 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET, "description here"), 5511 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET, "description here"),
5462 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_TOP_GET, "description here"), 5512 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_TOP_GET, "description here"),
5463 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_PARENT_WIDGET_GET, "description here"), 5513 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_PARENT_WIDGET_GET, "description here"),
@@ -5530,6 +5580,7 @@ static const Eo_Op_Description op_desc[] = {
5530 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET, "Get near object in one direction of base object in list."), 5580 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET, "Get near object in one direction of base object in list."),
5531 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET, "Get next object in focus chain of object tree."), 5581 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET, "Get next object in focus chain of object tree."),
5532 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET, "Get next object in focus chain of object tree in list."), 5582 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET, "Get next object in focus chain of object tree in list."),
5583 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_PARENT_HIGHLIGHT_SET, "Set highlighted value from itself to top parent object."),
5533 5584
5534 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET, "Sets the widget and child widget's Evas_Display_Mode."), 5585 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET, "Sets the widget and child widget's Evas_Display_Mode."),
5535 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET, "Returns the widget's Evas_Display_Mode"), 5586 EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET, "Returns the widget's Evas_Display_Mode"),
diff --git a/legacy/elementary/src/lib/elm_widget.h b/legacy/elementary/src/lib/elm_widget.h
index 6fb9981..e31bb89 100644
--- a/legacy/elementary/src/lib/elm_widget.h
+++ b/legacy/elementary/src/lib/elm_widget.h
@@ -429,6 +429,7 @@ typedef struct _Elm_Widget_Smart_Data
429 * default */ 429 * default */
430 Eina_Bool still_in : 1; 430 Eina_Bool still_in : 1;
431 Eina_Bool can_access : 1; 431 Eina_Bool can_access : 1;
432 Eina_Bool highlighted : 1;
432} Elm_Widget_Smart_Data; 433} Elm_Widget_Smart_Data;
433 434
434/** 435/**
@@ -487,6 +488,11 @@ struct _Elm_Access_Info
487}; 488};
488 489
489void _elm_access_mouse_event_enabled_set(Eina_Bool enabled); 490void _elm_access_mouse_event_enabled_set(Eina_Bool enabled);
491/* elm_widget_focus_list_next_get();, elm_widget_focus_next_get();
492 and elm_widget_focus_cycle(); use _elm_access_read_mode to use
493 focus chain */
494void _elm_access_read_mode_set(Eina_Bool enabled);
495Eina_Bool _elm_access_read_mode_get();
490EAPI void _elm_access_clear(Elm_Access_Info *ac); 496EAPI void _elm_access_clear(Elm_Access_Info *ac);
491EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const char *text); 497EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const char *text);
492EAPI void _elm_access_callback_set(Elm_Access_Info *ac, int type, Elm_Access_Info_Cb func, const void *data); 498EAPI void _elm_access_callback_set(Elm_Access_Info *ac, int type, Elm_Access_Info_Cb func, const void *data);
@@ -580,6 +586,7 @@ EAPI Eina_Bool elm_widget_highlight_ignore_get(const Evas_Object *obj);
580EAPI void elm_widget_highlight_in_theme_set(Evas_Object *obj, Eina_Bool highlight); 586EAPI void elm_widget_highlight_in_theme_set(Evas_Object *obj, Eina_Bool highlight);
581EAPI Eina_Bool elm_widget_highlight_in_theme_get(const Evas_Object *obj); 587EAPI Eina_Bool elm_widget_highlight_in_theme_get(const Evas_Object *obj);
582EAPI Eina_Bool elm_widget_focus_get(const Evas_Object *obj); 588EAPI Eina_Bool elm_widget_focus_get(const Evas_Object *obj);
589EAPI Eina_Bool elm_widget_highlight_get(const Evas_Object *obj);
583EAPI Evas_Object *elm_widget_focused_object_get(const Evas_Object *obj); 590EAPI Evas_Object *elm_widget_focused_object_get(const Evas_Object *obj);
584EAPI Evas_Object *elm_widget_top_get(const Evas_Object *obj); 591EAPI Evas_Object *elm_widget_top_get(const Evas_Object *obj);
585EAPI Eina_Bool elm_widget_is(const Evas_Object *obj); 592EAPI Eina_Bool elm_widget_is(const Evas_Object *obj);
@@ -598,6 +605,7 @@ EAPI Eina_Bool elm_widget_focus_direction_get(const Evas_Object *obj, con
598EAPI Eina_Bool elm_widget_focus_next_get(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next); 605EAPI Eina_Bool elm_widget_focus_next_get(const Evas_Object *obj, Elm_Focus_Direction dir, Evas_Object **next);
599EAPI Eina_Bool elm_widget_focus_list_direction_get(const Evas_Object *obj, const Evas_Object *base, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), double degree, Evas_Object **direction, double *weight); 606EAPI Eina_Bool elm_widget_focus_list_direction_get(const Evas_Object *obj, const Evas_Object *base, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), double degree, Evas_Object **direction, double *weight);
600EAPI Eina_Bool elm_widget_focus_list_next_get(const Evas_Object *obj, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), Elm_Focus_Direction dir, Evas_Object **next); 607EAPI Eina_Bool elm_widget_focus_list_next_get(const Evas_Object *obj, const Eina_List *items, void *(*list_data_get)(const Eina_List *list), Elm_Focus_Direction dir, Evas_Object **next);
608EAPI void elm_widget_parent_highlight_set(Evas_Object *obj, Eina_Bool highlighted);
601EAPI void elm_widget_focus_set(Evas_Object *obj, int first); 609EAPI void elm_widget_focus_set(Evas_Object *obj, int first);
602EAPI void elm_widget_focused_object_clear(Evas_Object *obj); 610EAPI void elm_widget_focused_object_clear(Evas_Object *obj);
603EAPI Evas_Object *elm_widget_parent_get(const Evas_Object *obj); 611EAPI Evas_Object *elm_widget_parent_get(const Evas_Object *obj);
@@ -1034,6 +1042,7 @@ enum
1034 ELM_WIDGET_SUB_ID_CAN_FOCUS_GET, 1042 ELM_WIDGET_SUB_ID_CAN_FOCUS_GET,
1035 ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET, 1043 ELM_WIDGET_SUB_ID_CHILD_CAN_FOCUS_GET,
1036 ELM_WIDGET_SUB_ID_FOCUS_GET, 1044 ELM_WIDGET_SUB_ID_FOCUS_GET,
1045 ELM_WIDGET_SUB_ID_HIGHLIGHT_GET,
1037 ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET, 1046 ELM_WIDGET_SUB_ID_FOCUSED_OBJECT_GET,
1038 ELM_WIDGET_SUB_ID_TOP_GET, 1047 ELM_WIDGET_SUB_ID_TOP_GET,
1039 1048
@@ -1107,6 +1116,7 @@ enum
1107 ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET, 1116 ELM_WIDGET_SUB_ID_FOCUS_LIST_DIRECTION_GET,
1108 ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET, 1117 ELM_WIDGET_SUB_ID_FOCUS_NEXT_GET,
1109 ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET, 1118 ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET,
1119 ELM_WIDGET_SUB_ID_PARENT_HIGHLIGHT_SET,
1110 1120
1111 ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET, 1121 ELM_WIDGET_SUB_ID_DISPLAY_MODE_SET,
1112 ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET, 1122 ELM_WIDGET_SUB_ID_DISPLAY_MODE_GET,
@@ -1577,6 +1587,17 @@ typedef void * (*list_data_get_func_type)(const Eina_List * l);
1577#define elm_wdg_focus_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_GET), EO_TYPECHECK(Eina_Bool *, ret) 1587#define elm_wdg_focus_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_GET), EO_TYPECHECK(Eina_Bool *, ret)
1578 1588
1579/** 1589/**
1590 * @def elm_wdg_highlight_get
1591 * @since 1.8
1592 *
1593 * No description supplied by the EAPI.
1594 *
1595 * @param[out] ret
1596 *
1597 */
1598#define elm_wdg_highlight_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_HIGHLIGHT_GET), EO_TYPECHECK(Eina_Bool *, ret)
1599
1600/**
1580 * @def elm_wdg_focused_object_get 1601 * @def elm_wdg_focused_object_get
1581 * @since 1.8 1602 * @since 1.8
1582 * 1603 *
@@ -2281,6 +2302,16 @@ typedef void * (*list_data_get_func_type)(const Eina_List * l);
2281 */ 2302 */
2282#define elm_wdg_focus_list_next_get(items, list_data_get, dir, next, ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET), EO_TYPECHECK(const Eina_List *, items), EO_TYPECHECK(list_data_get_func_type, list_data_get), EO_TYPECHECK(Elm_Focus_Direction, dir), EO_TYPECHECK(Evas_Object **, next), EO_TYPECHECK(Eina_Bool *, ret) 2303#define elm_wdg_focus_list_next_get(items, list_data_get, dir, next, ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_LIST_NEXT_GET), EO_TYPECHECK(const Eina_List *, items), EO_TYPECHECK(list_data_get_func_type, list_data_get), EO_TYPECHECK(Elm_Focus_Direction, dir), EO_TYPECHECK(Evas_Object **, next), EO_TYPECHECK(Eina_Bool *, ret)
2283 2304
2305/**
2306 * @def elm_wdg_parent_highlight_set
2307 * @since 1.8
2308 *
2309 * No description supplied by the EAPI.
2310 *
2311 * @param[in] highlighted
2312 *
2313 */
2314#define elm_wdg_parent_highlight_set(highlighted) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_PARENT_HIGHLIGHT_SET), EO_TYPECHECK(Eina_Bool, highlighted)
2284 2315
2285/** 2316/**
2286 * @def elm_wdg_display_mode_set 2317 * @def elm_wdg_display_mode_set