jackdanielz pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=f2c855f0403d388e8796d921416540e0ec2ee73d
commit f2c855f0403d388e8796d921416540e0ec2ee73d Author: Daniel Zaoui <[email protected]> Date: Sun Mar 23 13:49:26 2014 +0200 Eolian: Integration of Index --- src/lib/Makefile.am | 10 +- src/lib/elm_index.c | 577 ++++++++------------------------------------- src/lib/elm_index.eo | 373 +++++++++++++++++++++++++++++ src/lib/elm_index_eo.h | 3 + src/lib/elm_widget_index.h | 6 +- 5 files changed, 482 insertions(+), 487 deletions(-) diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 3215a35..c2a2d56 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -597,7 +597,9 @@ BUILT_SOURCES = \ elm_image.eo.c \ elm_image.eo.h \ elm_icon.eo.c \ - elm_icon.eo.h + elm_icon.eo.h \ + elm_index.eo.c \ + elm_index.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -636,7 +638,8 @@ EXTRA_DIST += \ elm_grid.eo \ elc_hoversel.eo \ elm_image.eo \ - elm_icon.eo + elm_icon.eo \ + elm_index.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -675,5 +678,6 @@ nodist_includesunstable_HEADERS = \ elm_grid.eo.h \ elc_hoversel.eo.h \ elm_image.eo.h \ - elm_icon.eo.h + elm_icon.eo.h \ + elm_index.eo.h diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c index 3c2f925..be504b3 100644 --- a/src/lib/elm_index.c +++ b/src/lib/elm_index.c @@ -9,8 +9,6 @@ #include "elm_widget_layout.h" #include "elm_widget_index.h" -EAPI Eo_Op ELM_OBJ_INDEX_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_INDEX_CLASS #define MY_CLASS_NAME "Elm_Index" @@ -55,7 +53,7 @@ _box_custom_layout(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) { - Elm_Index_Smart_Data *sd = data; + Elm_Index_Data *sd = data; _els_box_layout(o, priv, sd->horizontal, EINA_TRUE, EINA_FALSE); } @@ -122,7 +120,7 @@ _access_widget_item_register(Elm_Index_Item *it) static void _omit_calc(void *data, int num_of_items, int max_num_of_items) { - Elm_Index_Smart_Data *sd = data; + Elm_Index_Data *sd = data; int max_group_num, num_of_extra_items, i, g, size, sum, *group_pos, *omit_info; Elm_Index_Omit *o; @@ -317,18 +315,15 @@ _index_box_auto_fill(Evas_Object *obj, sd->level_active[level] = EINA_TRUE; } -static void -_elm_index_smart_theme(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_index_elm_widget_theme_apply(Eo *obj, Elm_Index_Data *sd) { Evas_Coord minw = 0, minh = 0; Elm_Index_Item *it; - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; - Elm_Index_Smart_Data *sd = _pd; - ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE); ELM_LAYOUT_DATA_GET(obj, ld); _index_box_clear(obj, 0); @@ -340,7 +335,7 @@ _elm_index_smart_theme(Eo *obj, void *_pd, va_list *list) eina_stringshare_replace(&ld->group, "base/vertical"); eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; elm_coords_finger_size_adjust(1, &minw, 1, &minh); evas_object_size_hint_min_set(sd->event_rect[0], minw, minh); @@ -397,15 +392,15 @@ _elm_index_smart_theme(Eo *obj, void *_pd, va_list *list) edje_object_signal_emit(VIEW(it), "elm,state,active", "elm"); } - if (ret) *ret = EINA_TRUE; - // ACCESS if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) _access_index_register(obj); + + return EINA_TRUE; } -static void -_elm_index_smart_sizing_eval(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_index_elm_layout_sizing_eval(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED) { Evas_Coord minw = -1, minh = -1; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); @@ -875,13 +870,12 @@ _index_resize_cb(void *data EINA_UNUSED, } } -static void -_elm_index_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_index_evas_smart_add(Eo *obj, Elm_Index_Data *priv) { Evas_Object *o; Evas_Coord minw = 0, minh = 0; - Elm_Index_Smart_Data *priv = _pd; ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); eo_do_super(obj, MY_CLASS, evas_obj_smart_add()); @@ -954,13 +948,11 @@ _elm_index_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) _access_index_register(obj); } -static void -_elm_index_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_index_evas_smart_del(Eo *obj, Elm_Index_Data *sd) { Elm_Index_Omit *o; - Elm_Index_Smart_Data *sd = _pd; - while (sd->items) elm_widget_item_del(sd->items->data); @@ -974,27 +966,21 @@ _elm_index_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) static Eina_Bool _elm_index_smart_focus_next_enable = EINA_FALSE; -static void -_elm_index_smart_focus_next_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_index_elm_widget_focus_next_manager_is(Eo *obj EINA_UNUSED, Elm_Index_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = _elm_index_smart_focus_next_enable; + return _elm_index_smart_focus_next_enable; } -static void -_elm_index_smart_focus_direction_manager_is(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_index_elm_widget_focus_direction_manager_is(Eo *obj EINA_UNUSED, Elm_Index_Data *_pd EINA_UNUSED) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - *ret = EINA_FALSE; + return EINA_FALSE; } -static void -_elm_index_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static Eina_Bool +_elm_index_elm_widget_focus_next(Eo *obj, Elm_Index_Data *sd, Elm_Focus_Direction dir, Evas_Object **next) { - Elm_Focus_Direction dir = va_arg(*list, Elm_Focus_Direction); - Evas_Object **next = va_arg(*list, Evas_Object **); - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; Eina_List *items = NULL; @@ -1003,8 +989,6 @@ _elm_index_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) Evas_Object *ao; Evas_Object *po; - Elm_Index_Smart_Data *sd = _pd; - if (!sd->autohide_disabled) elm_layout_signal_emit((Evas_Object *)obj, "elm,state,active", "elm"); @@ -1026,7 +1010,7 @@ _elm_index_smart_focus_next(Eo *obj, void *_pd EINA_UNUSED, va_list *list) if ((!sd->autohide_disabled) && (!int_ret)) elm_layout_signal_emit((Evas_Object *)obj, "elm,state,inactive", "elm"); - if (ret) *ret = int_ret; + return int_ret; } static void @@ -1071,10 +1055,10 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access) } } -static void -_elm_index_smart_access(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +EOLIAN static void +_elm_index_elm_widget_access(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED, Eina_Bool acs) { - _elm_index_smart_focus_next_enable = va_arg(*list, int); + _elm_index_smart_focus_next_enable = acs; _access_obj_process(obj, _elm_index_smart_focus_next_enable); } @@ -1087,8 +1071,8 @@ elm_index_add(Evas_Object *parent) return obj; } -static void -_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_index_eo_base_constructor(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED) { eo_do_super(obj, MY_CLASS, eo_constructor()); eo_do(obj, @@ -1096,20 +1080,9 @@ _constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED) evas_obj_smart_callbacks_descriptions_set(_smart_callbacks, NULL)); } -EAPI void -elm_index_autohide_disabled_set(Evas_Object *obj, - Eina_Bool disabled) -{ - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_autohide_disabled_set(disabled)); -} - -static void -_autohide_disabled_set(Eo *obj, void *_pd, va_list *list) +EOLIAN static void +_elm_index_autohide_disabled_set(Eo *obj, Elm_Index_Data *sd, Eina_Bool disabled) { - Eina_Bool disabled = va_arg(*list, int); - Elm_Index_Smart_Data *sd = _pd; - disabled = !!disabled; if (sd->autohide_disabled == disabled) return; sd->autohide_disabled = disabled; @@ -1125,56 +1098,23 @@ _autohide_disabled_set(Eo *obj, void *_pd, va_list *list) //FIXME: Should be update indicator based on the indicator visibility } -EAPI Eina_Bool -elm_index_autohide_disabled_get(const Evas_Object *obj) -{ - ELM_INDEX_CHECK(obj) EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *) obj, elm_obj_index_autohide_disabled_get(&ret)); - return ret; -} - -static void -_autohide_disabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->autohide_disabled; -} - -EAPI void -elm_index_item_level_set(Evas_Object *obj, - int level) +EOLIAN static Eina_Bool +_elm_index_autohide_disabled_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_item_level_set(level)); + return sd->autohide_disabled; } -static void -_item_level_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static void +_elm_index_item_level_set(Eo *obj EINA_UNUSED, Elm_Index_Data *sd, int level) { - int level = va_arg(*list, int); - Elm_Index_Smart_Data *sd = _pd; - if (sd->level == level) return; sd->level = level; } -EAPI int -elm_index_item_level_get(const Evas_Object *obj) -{ - ELM_INDEX_CHECK(obj) 0; - int ret = 0; - eo_do((Eo *) obj, elm_obj_index_item_level_get(&ret)); - return ret; -} - -static void -_item_level_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static int +_elm_index_item_level_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - int *ret = va_arg(*list, int *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->level; + return sd->level; } //FIXME: Should update indicator based on the autohidden status & indicator visibility @@ -1242,105 +1182,50 @@ elm_index_item_selected_set(Elm_Object_Item *it, } } -EAPI Elm_Object_Item * -elm_index_selected_item_get(const Evas_Object *obj, - int level) +EOLIAN static Elm_Object_Item* +_elm_index_selected_item_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd, int level) { - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do((Eo *) obj, elm_obj_index_selected_item_get(level, &ret)); - return ret; -} - -static void -_selected_item_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - int level = va_arg(*list, int); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - Eina_List *l; Elm_Index_Item *it; - Elm_Index_Smart_Data *sd = _pd; - EINA_LIST_FOREACH(sd->items, l, it) { if ((it->selected) && (it->level == level)) { - *ret = (Elm_Object_Item *)it; - return; + return (Elm_Object_Item *)it; } } - *ret = NULL; -} - -EAPI Elm_Object_Item * -elm_index_item_append(Evas_Object *obj, - const char *letter, - Evas_Smart_Cb func, - const void *data) -{ - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_append(letter, func, data, &ret)); - return ret; + return NULL; } -static void -_item_append(Eo *obj, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_index_item_append(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Smart_Cb func, const void *data) { - const char *letter = va_arg(*list, const char *); - Evas_Smart_Cb func = va_arg(*list, Evas_Smart_Cb); - const void *data = va_arg(*list, const void *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Index_Item *it; - Elm_Index_Smart_Data *sd = _pd; it = _item_new(obj, letter, func, data); - if (!it) return; + if (!it) return NULL; sd->items = eina_list_append(sd->items, it); _index_box_clear(obj, sd->level); - *ret = (Elm_Object_Item *)it; + return (Elm_Object_Item *)it; } -EAPI Elm_Object_Item * -elm_index_item_prepend(Evas_Object *obj, - const char *letter, - Evas_Smart_Cb func, - const void *data) +EOLIAN static Elm_Object_Item* +_elm_index_item_prepend(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Smart_Cb func, const void *data) { - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_prepend(letter, func, data, &ret)); - return ret; -} - -static void -_item_prepend(Eo *obj, void *_pd, va_list *list) -{ - const char *letter = va_arg(*list, const char *); - Evas_Smart_Cb func = va_arg(*list, Evas_Smart_Cb); - const void *data = va_arg(*list, const void *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Index_Item *it; - Elm_Index_Smart_Data *sd = _pd; - it = _item_new(obj, letter, func, data); - if (!it) return; + if (!it) return NULL; sd->items = eina_list_prepend(sd->items, it); _index_box_clear(obj, sd->level); - *ret = (Elm_Object_Item *)it; + return (Elm_Object_Item *)it; } EINA_DEPRECATED EAPI Elm_Object_Item * @@ -1353,129 +1238,50 @@ elm_index_item_prepend_relative(Evas_Object *obj, (obj, (Elm_Object_Item *)relative, letter, NULL, item); } -EAPI Elm_Object_Item * -elm_index_item_insert_after(Evas_Object *obj, - Elm_Object_Item *after, - const char *letter, - Evas_Smart_Cb func, - const void *data) +EOLIAN static Elm_Object_Item* +_elm_index_item_insert_after(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *after, const char *letter, Evas_Smart_Cb func, const void *data) { - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_insert_after(after, letter, func, data, &ret)); - return ret; -} - -static void -_item_insert_after(Eo *obj, void *_pd, va_list *list) -{ - Elm_Object_Item *after = va_arg(*list, Elm_Object_Item *); - const char *letter = va_arg(*list, const char *); - Evas_Smart_Cb func = va_arg(*list, Evas_Smart_Cb); - const void *data = va_arg(*list, const void *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Index_Item *it; - Elm_Index_Smart_Data *sd = _pd; - if (!after) - { - *ret = elm_index_item_append(obj, letter, func, data); - return; - } + if (!after) return elm_index_item_append(obj, letter, func, data); it = _item_new(obj, letter, func, data); - if (!it) return; + if (!it) return NULL; sd->items = eina_list_append_relative(sd->items, it, after); _index_box_clear(obj, sd->level); - *ret = (Elm_Object_Item *)it; -} - -EAPI Elm_Object_Item * -elm_index_item_insert_before(Evas_Object *obj, - Elm_Object_Item *before, - const char *letter, - Evas_Smart_Cb func, - const void *data) -{ - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_insert_before(before, letter, func, data, &ret)); - return ret; + return (Elm_Object_Item *)it; } -static void -_item_insert_before(Eo *obj, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_index_item_insert_before(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *before, const char *letter, Evas_Smart_Cb func, const void *data) { - Elm_Object_Item *before = va_arg(*list, Elm_Object_Item *); - const char *letter = va_arg(*list, const char *); - Evas_Smart_Cb func = va_arg(*list, Evas_Smart_Cb); - const void *data = va_arg(*list, const void *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Index_Item *it; - Elm_Index_Smart_Data *sd = _pd; - - if (!before) - { - *ret = elm_index_item_prepend(obj, letter, func, data); - return; - } + if (!before) return elm_index_item_prepend(obj, letter, func, data); it = _item_new(obj, letter, func, data); - if (!it) return; + if (!it) return NULL; sd->items = eina_list_prepend_relative(sd->items, it, before); _index_box_clear(obj, sd->level); - *ret = (Elm_Object_Item *)it; + return (Elm_Object_Item *)it; } -EAPI Elm_Object_Item * -elm_index_item_sorted_insert(Evas_Object *obj, - const char *letter, - Evas_Smart_Cb func, - const void *data, - Eina_Compare_Cb cmp_func, - Eina_Compare_Cb cmp_data_func) +EOLIAN static Elm_Object_Item* +_elm_index_item_sorted_insert(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func) { - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_sorted_insert(letter, func, data, cmp_func, cmp_data_func, &ret)); - return ret; -} - -static void -_item_sorted_insert(Eo *obj, void *_pd, va_list *list) -{ - const char *letter = va_arg(*list, const char *); - Evas_Smart_Cb func = va_arg(*list, Evas_Smart_Cb); - const void *data = va_arg(*list, const void *); - Eina_Compare_Cb cmp_func = va_arg(*list, Eina_Compare_Cb); - Eina_Compare_Cb cmp_data_func = va_arg(*list, Eina_Compare_Cb); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Index_Item *it; Eina_List *lnear; int cmp; - Elm_Index_Smart_Data *sd = _pd; - - if (!(sd->items)) - { - *ret = elm_index_item_append(obj, letter, func, data); - return; - } + if (!(sd->items)) return elm_index_item_append(obj, letter, func, data); it = _item_new(obj, letter, func, data); - if (!it) return; + if (!it) return NULL; lnear = eina_list_search_sorted_near_list(sd->items, cmp_func, it, &cmp); if (cmp < 0) @@ -1498,45 +1304,22 @@ _item_sorted_insert(Eo *obj, void *_pd, va_list *list) } _index_box_clear(obj, sd->level); - if (!it) - *ret = NULL; - else - *ret = (Elm_Object_Item *)it; -} - -EAPI Elm_Object_Item * -elm_index_item_find(Evas_Object *obj, - const void *data) -{ - ELM_INDEX_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_index_item_find(data, &ret)); - return ret; -} - -static void -_elm_index_item_find(Eo *obj, void *_pd EINA_UNUSED, va_list *list) -{ - const void *data = va_arg(*list, const void *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = (Elm_Object_Item *)_item_find(obj, data); + if (!it) return NULL; + else return (Elm_Object_Item *)it; } -EAPI void -elm_index_item_clear(Evas_Object *obj) +EOLIAN static Elm_Object_Item* +_elm_index_item_find(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED, const void *data) { - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_item_clear()); + return (Elm_Object_Item *)_item_find(obj, data); } -static void -_item_clear(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_index_item_clear(Eo *obj, Elm_Index_Data *sd) { Elm_Index_Item *it; Eina_List *l, *clear = NULL; - Elm_Index_Smart_Data *sd = _pd; - _index_box_clear(obj, sd->level); EINA_LIST_FOREACH(sd->items, l, it) { @@ -1547,20 +1330,10 @@ _item_clear(Eo *obj, void *_pd, va_list *list EINA_UNUSED) elm_widget_item_del(it); } -EAPI void -elm_index_level_go(Evas_Object *obj, - int level) -{ - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_level_go(level)); -} - -static void -_level_go(Eo *obj, void *_pd, va_list *list) +EOLIAN static void +_elm_index_level_go(Eo *obj, Elm_Index_Data *sd, int level) { - int level = va_arg(*list, int); (void) level; - Elm_Index_Smart_Data *sd = _pd; _index_box_clear(obj, 0); _index_box_auto_fill(obj, 0); if (sd->level == 1) @@ -1570,20 +1343,9 @@ _level_go(Eo *obj, void *_pd, va_list *list) } } -EAPI void -elm_index_indicator_disabled_set(Evas_Object *obj, - Eina_Bool disabled) +EOLIAN static void +_elm_index_indicator_disabled_set(Eo *obj, Elm_Index_Data *sd, Eina_Bool disabled) { - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_indicator_disabled_set(disabled)); -} - -static void -_indicator_disabled_set(Eo *obj, void *_pd, va_list *list) -{ - Eina_Bool disabled = va_arg(*list, int); - Elm_Index_Smart_Data *sd = _pd; - disabled = !!disabled; if (sd->indicator_disabled == disabled) return; sd->indicator_disabled = disabled; @@ -1594,21 +1356,10 @@ _indicator_disabled_set(Eo *obj, void *_pd, va_list *list) elm_layout_signal_emit(obj, "elm,indicator,state,active", "elm"); } -EAPI Eina_Bool -elm_index_indicator_disabled_get(const Evas_Object *obj) +EOLIAN static Eina_Bool +_elm_index_indicator_disabled_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - ELM_INDEX_CHECK(obj) EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *) obj, elm_obj_index_indicator_disabled_get(&ret)); - return ret; -} - -static void -_indicator_disabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->indicator_disabled; + return sd->indicator_disabled; } EAPI const char * @@ -1619,20 +1370,9 @@ elm_index_item_letter_get(const Elm_Object_Item *it) return ((Elm_Index_Item *)it)->letter; } -EAPI void -elm_index_horizontal_set(Evas_Object *obj, - Eina_Bool horizontal) +EOLIAN static void +_elm_index_horizontal_set(Eo *obj, Elm_Index_Data *sd, Eina_Bool horizontal) { - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_horizontal_set(horizontal)); -} - -static void -_horizontal_set(Eo *obj, void *_pd, va_list *list) -{ - Eina_Bool horizontal = va_arg(*list, int); - Elm_Index_Smart_Data *sd = _pd; - horizontal = !!horizontal; if (horizontal == sd->horizontal) return; @@ -1640,69 +1380,27 @@ _horizontal_set(Eo *obj, void *_pd, va_list *list) eo_do(obj, elm_obj_widget_theme_apply(NULL)); } -EAPI Eina_Bool -elm_index_horizontal_get(const Evas_Object *obj) -{ - ELM_INDEX_CHECK(obj) EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *) obj, elm_obj_index_horizontal_get(&ret)); - return ret; -} - -static void -_horizontal_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_index_horizontal_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->horizontal; + return sd->horizontal; } -EAPI void -elm_index_delay_change_time_set(Evas_Object *obj, double delay_change_time) +EOLIAN static void +_elm_index_delay_change_time_set(Eo *obj EINA_UNUSED, Elm_Index_Data *sd, double dtime) { - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_delay_change_time_set(delay_change_time)); -} - -static void -_delay_change_time_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - double dtime = va_arg(*list, double); - Elm_Index_Smart_Data *sd = _pd; sd->delay_change_time = dtime; } -EAPI double -elm_index_delay_change_time_get(const Evas_Object *obj) +EOLIAN static double +_elm_index_delay_change_time_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - ELM_INDEX_CHECK(obj) 0.0; - double ret = 0.0; - eo_do((Eo *)obj, elm_obj_index_delay_change_time_get(&ret)); - return ret; + return sd->delay_change_time; } -static void -_delay_change_time_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static void +_elm_index_omit_enabled_set(Eo *obj, Elm_Index_Data *sd, Eina_Bool enabled) { - double *ret = va_arg(*list, double *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->delay_change_time; -} - -EAPI void -elm_index_omit_enabled_set(Evas_Object *obj, - Eina_Bool enabled) -{ - ELM_INDEX_CHECK(obj); - eo_do(obj, elm_obj_index_omit_enabled_set(enabled)); -} - -static void -_omit_enabled_set(Eo *obj, void *_pd, va_list *list) -{ - Eina_Bool enabled = va_arg(*list, int); - Elm_Index_Smart_Data *sd = _pd; - if (sd->horizontal) return; enabled = !!enabled; @@ -1718,99 +1416,16 @@ _omit_enabled_set(Eo *obj, void *_pd, va_list *list) } } -EAPI Eina_Bool -elm_index_omit_enabled_get(const Evas_Object *obj) +EOLIAN static Eina_Bool +_elm_index_omit_enabled_get(Eo *obj EINA_UNUSED, Elm_Index_Data *sd) { - ELM_INDEX_CHECK(obj) EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - eo_do((Eo *) obj, elm_obj_index_omit_enabled_get(&ret)); - return ret; + return sd->omit_enabled; } static void -_omit_enabled_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +_elm_index_class_constructor(Eo_Class *klass) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Index_Smart_Data *sd = _pd; - *ret = sd->omit_enabled; -} - -static void -_class_constructor(Eo_Class *klass) -{ - const Eo_Op_Func_Description func_desc[] = { - EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor), - - EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_ADD), _elm_index_smart_add), - EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_index_smart_del), - - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_index_smart_theme), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT_MANAGER_IS), _elm_index_smart_focus_next_manager_is), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_NEXT), _elm_index_smart_focus_next), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_ACCESS), _elm_index_smart_access), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_FOCUS_DIRECTION_MANAGER_IS), _elm_index_smart_focus_direction_manager_is), - - EO_OP_FUNC(ELM_OBJ_LAYOUT_ID(ELM_OBJ_LAYOUT_SUB_ID_SIZING_EVAL), _elm_index_smart_sizing_eval), - - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET), _autohide_disabled_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET), _autohide_disabled_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET), _item_level_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET), _item_level_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET), _selected_item_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND), _item_append), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND), _item_prepend), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER), _item_insert_after), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE), _item_insert_before), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT), _item_sorted_insert), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_FIND), _elm_index_item_find), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR), _item_clear), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_LEVEL_GO), _level_go), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET), _indicator_disabled_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET), _indicator_disabled_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET), _horizontal_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET), _horizontal_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET), _delay_change_time_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET), _delay_change_time_get), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET), _omit_enabled_set), - EO_OP_FUNC(ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET), _omit_enabled_get), - EO_OP_FUNC_SENTINEL - }; - eo_class_funcs_set(klass, func_desc); - evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); } -static const Eo_Op_Description op_desc[] = { - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET, "Enable or disable auto hiding feature for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET, "Get whether auto hiding feature is enabled or not for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET, "Set the items level for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET, "Get the items level set for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET, "Returns the last selected item, for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND, "Append a new item on a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND, "Prepend a new item on a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER, "Insert a new item into the index object after item after."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE, "Insert a new item into the index object before item before."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT, "Insert a new item into the given index widget, using cmp_func."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_FIND, "Find a given index widget's item, <b>using item data</b>."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR, "Removes all items from a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_LEVEL_GO, "Go to a given items level on a index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET, "Set the indicator as to be disabled."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET, "Get the value of indicator's disabled status."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET, "Enable or disable horizontal mode on the index object."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET, "Get a value whether horizontal mode is enabled or not."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET, "Set a delay change time value for index object."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET, "Get a delay change time value for index object."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET, "Enable or disable omit feature for a given index widget."), - EO_OP_DESCRIPTION(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET, "Get whether omit feature is enabled or not for a given index widget."), - EO_OP_DESCRIPTION_SENTINEL -}; -static const Eo_Class_Description class_desc = { - EO_VERSION, - MY_CLASS_NAME, - EO_CLASS_TYPE_REGULAR, - EO_CLASS_DESCRIPTION_OPS(&ELM_OBJ_INDEX_BASE_ID, op_desc, ELM_OBJ_INDEX_SUB_ID_LAST), - NULL, - sizeof(Elm_Index_Smart_Data), - _class_constructor, - NULL -}; -EO_DEFINE_CLASS(elm_obj_index_class_get, &class_desc, ELM_OBJ_LAYOUT_CLASS, NULL); + +#include "elm_index.eo.c" diff --git a/src/lib/elm_index.eo b/src/lib/elm_index.eo new file mode 100644 index 0000000..fa25c1b --- /dev/null +++ b/src/lib/elm_index.eo @@ -0,0 +1,373 @@ +class Elm_Index (Elm_Layout) +{ + eo_prefix: elm_obj_index; + properties { + autohide_disabled { + set { + /*@ + Enable or disable auto hiding feature for a given index widget. + + @see elm_index_autohide_disabled_get() + + @ingroup Index */ + } + get { + /*@ + Get whether auto hiding feature is enabled or not for a given index widget. + + @return @c EINA_TRUE, if auto hiding is disabled, @c EINA_FALSE otherwise + + @see elm_index_autohide_disabled_set() for more details + + @ingroup Index */ + } + values { + Eina_Bool disabled; /*@ @c EINA_TRUE to disable auto hiding, @c EINA_FALSE to enable */ + } + } + omit_enabled { + set { + /*@ + Enable or disable omit feature for a given index widget. + + @see elm_index_omit_enabled_get() + + @since 1.8 + + @ingroup Index */ + } + get { + /*@ + Get whether omit feature is enabled or not for a given index widget. + + @return @c EINA_TRUE, if omit feature is enabled, @c EINA_FALSE otherwise + + @see elm_index_omit_enabled_set() + + @since 1.8 + + @ingroup Index */ + } + values { + Eina_Bool enabled; /*@ @c EINA_TRUE to enable omit feature, @c EINA_FALSE to disable */ + } + } + horizontal { + set { + /*@ + Enable or disable horizontal mode on the index object + + @note Vertical mode is set by default. + + On horizontal mode items are displayed on index from left to right, + instead of from top to bottom. Also, the index will scroll horizontally. + + @see elm_index_horizontal_get() + + @ingroup Index */ + } + get { + /*@ + Get a value whether horizontal mode is enabled or not. + + @return @c EINA_TRUE means horizontal mode selection is enabled. + @c EINA_FALSE indicates it's disabled. If @p obj is @c NULL, + @c EINA_FALSE is returned. + + @see elm_index_horizontal_set() for details. + + @ingroup Index */ + } + values { + Eina_Bool horizontal; /*@ @c EINA_TRUE to enable horizontal or @c EINA_FALSE to + disable it, i.e., to enable vertical mode. it's an area one @ref Fingers + "finger" wide on the bottom side of the index widget's container. */ + } + } + delay_change_time { + set { + /*@ + Set a delay change time for index object. + + @note delay time is 0.2 sec by default. + + @see elm_index_delay_change_time_get + + @ingroup Index */ + } + get { + /*@ + Get a delay change time for index object. + + @return delay change time in seconds + + @see elm_index_delay_change_time_set + + @ingroup Index */ + } + values { + double dtime; /*@ The delay change time to set. */ + } + } + indicator_disabled { + set { + /*@ + Set the indicator as to be disabled. + + In Index widget, Indicator notes popup text, which shows a letter has been selecting. + + @see elm_index_indicator_disabled_get() + + @ingroup Index */ + } + get { + /*@ + Get the value of indicator's disabled status. + + @return EINA_TRUE if the indicator is disabled. + + @see elm_index_indicator_disabled_set() + + @ingroup Index */ + } + values { + Eina_Bool disabled; /*@ @c EINA_TRUE to disable it, @c EINA_FALSE to enable it */ + } + } + item_level { + set { + /*@ + Set the items level for a given index widget. + + @see elm_index_item_level_get() + + @ingroup Index */ + } + get { + /*@ + Get the items level set for a given index widget. + + @return @c 0 or @c 1, which are the levels @p obj might be at. + + @see elm_index_item_level_set() for more information + + @ingroup Index */ + } + values { + int level; /*@ @c 0 or @c 1, the currently implemented levels. */ + } + } + } + methods { + level_go { + /*@ + Flush the changes made to the index items so they work correctly + + This flushes any changes made to items indicating the object is ready to + go. You should call this before any changes you expect to work. This + is similar to elm_list_go(). + + @warning If not called, it won't display the index properly. + + @ingroup Index */ + + params { + @in int level; /*@ The index level (one of @c 0 or @c 1) where changes were made */ + } + } + item_prepend { + /*@ + Prepend a new item on a given index widget. + + @return A handle to the item added or @c NULL, on errors + + Despite the most common usage of the @p letter argument is for + single char strings, one could use arbitrary strings as index + entries. + + @c item will be the pointer returned back on @c "changed", @c + "delay,changed" and @c "selected" smart events. + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in const char *letter; /*@ Letter under which the item should be indexed */ + @in Evas_Smart_Cb func; /*@ The function to call when the item is selected. */ + @in const void *data; /*@ The item data to set for the index's item */ + } + } + item_clear { + /*@ + Removes @b all items from a given index widget. + + If deletion callbacks are set, via elm_object_item_del_cb_set(), + that callback function will be called for each item in @p obj. + + @ingroup Index */ + + } + item_insert_after { + /*@ + Insert a new item into the index object after item @p after. + + @return A handle to the item added or @c NULL, on errors + + Despite the most common usage of the @p letter argument is for + single char strings, one could use arbitrary strings as index + entries. + + @c item will be the pointer returned back on @c "changed", @c + "delay,changed" and @c "selected" smart events. + + @note If @p relative is @c NULL this function will behave as + elm_index_item_append(). + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in Elm_Object_Item *after; /*@ The index item to insert after. */ + @in const char *letter; /*@ Letter under which the item should be indexed */ + @in Evas_Smart_Cb func; /*@ The function to call when the item is clicked. */ + @in const void *data; /*@ The item data to set for the index's item */ + } + } + item_find { + /*@ + Find a given index widget's item, <b>using item data</b>. + + @return The index item handle, if found, or @c NULL otherwise + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in const void *data; /*@ The item data pointed to by the desired index item */ + } + } + item_insert_before { + /*@ + Insert a new item into the index object before item @p before. + + @return A handle to the item added or @c NULL, on errors + + Despite the most common usage of the @p letter argument is for + single char strings, one could use arbitrary strings as index + entries. + + @c item will be the pointer returned back on @c "changed", @c + "delay,changed" and @c "selected" smart events. + + @note If @p relative is @c NULL this function will behave as + elm_index_item_prepend(). + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in Elm_Object_Item *before; /*@ The index item to insert after. */ + @in const char *letter; /*@ Letter under which the item should be indexed */ + @in Evas_Smart_Cb func; /*@ The function to call when the item is clicked. */ + @in const void *data; /*@ The item data to set for the index's item */ + } + } + item_append { + /*@ + Append a new item on a given index widget. + + @return A handle to the item added or @c NULL, on errors + + Despite the most common usage of the @p letter argument is for + single char strings, one could use arbitrary strings as index + entries. + + @c item will be the pointer returned back on @c "changed", @c + "delay,changed" and @c "selected" smart events. + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in const char *letter; /*@ Letter under which the item should be indexed */ + @in Evas_Smart_Cb func; /*@ The function to call when the item is selected. */ + @in const void *data; /*@ The item data to set for the index's item */ + } + } + selected_item_get { + /*@ + Returns the last selected item, for a given index widget. + + @return The last item @b selected on @p obj (or @c NULL, on errors). + + @ingroup Index */ + + const; + return Elm_Object_Item *; + params { + @in int level; /*@ @c 0 or @c 1, the currently implemented levels. */ + } + } + item_sorted_insert { + /*@ + Insert a new item into the given index widget, using @p cmp_func + function to sort items (by item handles). + + @return A handle to the item added or @c NULL, on errors + + Despite the most common usage of the @p letter argument is for + single char strings, one could use arbitrary strings as index + entries. + + @c item will be the pointer returned back on @c "changed", @c + "delay,changed" and @c "selected" smart events. + + @ingroup Index */ + + return Elm_Object_Item *; + params { + @in const char *letter; /*@ Letter under which the item should be indexed */ + @in Evas_Smart_Cb func; /*@ The function to call when the item is clicked. */ + @in const void *data; /*@ The item data to set for the index's item */ + @in Eina_Compare_Cb cmp_func; /*@ The comparing function to be used to sort index + items <b>by index item handles</b> */ + @in Eina_Compare_Cb cmp_data_func; /*@ A @b fallback function to be called for the + sorting of index items <b>by item data</b>). It will be used + when @p cmp_func returns @c 0 (equality), which means an index + item with provided item data already exists. To decide which + data item should be pointed to by the index item in question, @p + cmp_data_func will be used. If @p cmp_data_func returns a + non-negative value, the previous index item data will be + replaced by the given @p item pointer. If the previous data need + to be freed, it should be done by the @p cmp_data_func function, + because all references to it will be lost. If this function is + not provided (@c NULL is given), index items will be @b + duplicated, if @p cmp_func returns @c 0. */ + } + } + } + implements { + class::constructor; + Eo_Base::constructor; + Evas_Smart::add; + Evas_Smart::del; + Elm_Widget::theme_apply; + Elm_Widget::focus_next_manager_is; + Elm_Widget::focus_direction_manager_is; + Elm_Widget::access; + Elm_Widget::focus_next; + Elm_Layout::sizing_eval; + } + events { + changed; + delay,changed; + selected; + level,up; + level,down; + language,changed; + access,changed; + focused; + unfocused; + } + +} diff --git a/src/lib/elm_index_eo.h b/src/lib/elm_index_eo.h index 768c5f9..339573c 100644 --- a/src/lib/elm_index_eo.h +++ b/src/lib/elm_index_eo.h @@ -3,6 +3,8 @@ * * @{ */ +#include "elm_index.eo.h" +#if 0 #define ELM_OBJ_INDEX_CLASS elm_obj_index_class_get() const Eo_Class *elm_obj_index_class_get(void) EINA_CONST; @@ -310,6 +312,7 @@ enum */ #define elm_obj_index_omit_enabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET), EO_TYPECHECK(Eina_Bool *, ret) +#endif /** * @} diff --git a/src/lib/elm_widget_index.h b/src/lib/elm_widget_index.h index a80ba06..c975f2f 100644 --- a/src/lib/elm_widget_index.h +++ b/src/lib/elm_widget_index.h @@ -17,8 +17,8 @@ /** * Base layout smart data extended with index instance data. */ -typedef struct _Elm_Index_Smart_Data Elm_Index_Smart_Data; -struct _Elm_Index_Smart_Data +typedef struct _Elm_Index_Data Elm_Index_Data; +struct _Elm_Index_Data { Evas_Object *event_rect[2]; /**< rectangle objects for event handling */ Evas_Object *bx[2]; // 2 - for now all that's supported @@ -68,7 +68,7 @@ struct _Elm_Index_Omit * @} */ #define ELM_INDEX_DATA_GET(o, sd) \ - Elm_Index_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_INDEX_CLASS) + Elm_Index_Data * sd = eo_data_scope_get(o, ELM_OBJ_INDEX_CLASS) #define ELM_INDEX_DATA_GET_OR_RETURN(o, ptr) \ ELM_INDEX_DATA_GET(o, ptr); \ --
