From 2c34c8fe83282913db8593f2fdfdff58696c46b0 Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Mon, 24 Mar 2014 09:09:40 +0200 Subject: [PATCH] Eolian: Integration of Menu --- src/lib/Makefile.am | 10 +- src/lib/elm_menu.c | 278 +++++++++------------------------------------- src/lib/elm_menu.eo | 130 ++++++++++++++++++++++ src/lib/elm_menu_eo.h | 5 + src/lib/elm_widget_menu.h | 6 +- 5 files changed, 198 insertions(+), 231 deletions(-) create mode 100644 src/lib/elm_menu.eo diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 310ca43..03486e9 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -608,7 +608,9 @@ BUILT_SOURCES = \ elm_map_pan.eo.c \ elm_map_pan.eo.h \ elm_map.eo.c \ - elm_map.eo.h + elm_map.eo.h \ + elm_menu.eo.c \ + elm_menu.eo.h EXTRA_DIST += \ elm_widget.eo \ @@ -652,7 +654,8 @@ EXTRA_DIST += \ elm_inwin.eo \ elm_label.eo \ elm_map_pan.eo \ - elm_map.eo + elm_map.eo \ + elm_menu.eo nodist_includesunstable_HEADERS = \ elm_widget.eo.h \ @@ -696,5 +699,6 @@ nodist_includesunstable_HEADERS = \ elm_inwin.eo.h \ elm_label.eo.h \ elm_map_pan.eo.h \ - elm_map.eo.h + elm_map.eo.h \ + elm_menu.eo.h diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c index c6ecf8b..952255a 100644 --- a/src/lib/elm_menu.c +++ b/src/lib/elm_menu.c @@ -7,8 +7,6 @@ #include "elm_priv.h" #include "elm_widget_menu.h" -EAPI Eo_Op ELM_OBJ_MENU_BASE_ID = EO_NOOP; - #define MY_CLASS ELM_OBJ_MENU_CLASS #define MY_CLASS_NAME "Elm_Menu" @@ -28,18 +26,16 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = { }; #undef ELM_PRIV_MENU_SIGNALS -static void -_elm_menu_smart_translate(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_menu_elm_widget_translate(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - Elm_Menu_Smart_Data *sd = _pd; Elm_Menu_Item *it; Eina_List *l; EINA_LIST_FOREACH(sd->items, l, it) elm_widget_item_translate(it); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } static void @@ -192,13 +188,10 @@ _sizing_eval(Evas_Object *obj) if (item->submenu.open) _submenu_sizing_eval(item); } -static void -_elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list) +EOLIAN static Eina_Bool +_elm_menu_elm_widget_theme_apply(Eo *obj, Elm_Menu_Data *sd) { - Eina_Bool *ret = va_arg(*list, Eina_Bool *); - if (ret) *ret = EINA_FALSE; Eina_Bool int_ret = EINA_FALSE; - Elm_Menu_Smart_Data *sd = _pd; Eina_List *l, *_l, *_ll, *ll = NULL; Elm_Menu_Item *item; @@ -206,7 +199,7 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list) char style[1024]; eo_do_super(obj, MY_CLASS, elm_obj_widget_theme_apply(&int_ret)); - if (!int_ret) return; + if (!int_ret) return EINA_FALSE; if (sd->menu_bar) snprintf(style, sizeof(style), "main_menu/%s", elm_widget_style_get(obj)); @@ -268,7 +261,7 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list) _sizing_eval(obj); - if (ret) *ret = EINA_TRUE; + return EINA_TRUE; } static void @@ -489,10 +482,9 @@ _menu_item_inactivate_cb(void *data, if (item->submenu.open) _submenu_hide(item); } -static void -_elm_menu_smart_show(Eo *obj EINA_UNUSED, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_menu_evas_smart_show(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - Elm_Menu_Smart_Data *sd = _pd; evas_object_show(sd->hv); } @@ -602,11 +594,9 @@ _item_submenu_obj_create(Elm_Menu_Item *item) _menu_resize_cb, WIDGET(item)); } -static void -_elm_menu_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_menu_evas_smart_add(Eo *obj, Elm_Menu_Data *priv) { - Elm_Menu_Smart_Data *priv = _pd; - eo_do_super(obj, MY_CLASS, evas_obj_smart_add()); elm_widget_sub_object_parent_add(obj); @@ -630,11 +620,10 @@ _elm_menu_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED) (priv->bx, EVAS_CALLBACK_RESIZE, _menu_resize_cb, obj); } -static void -_elm_menu_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_menu_evas_smart_del(Eo *obj, Elm_Menu_Data *sd) { Elm_Menu_Item *item; - Elm_Menu_Smart_Data *sd = _pd; _elm_dbus_menu_unregister(obj); @@ -719,10 +708,9 @@ elm_menu_add(Evas_Object *parent) return obj; } -static void -_constructor(Eo *obj, void *_pd, va_list *list EINA_UNUSED) +EOLIAN static void +_elm_menu_eo_base_constructor(Eo *obj, Elm_Menu_Data *sd) { - Elm_Menu_Smart_Data *sd = _pd; Eo *parent; eo_do_super(obj, MY_CLASS, eo_constructor()); @@ -748,11 +736,9 @@ elm_menu_parent_set(Evas_Object *obj, eo_do(obj, elm_obj_widget_parent_set(parent)); } -static void -_parent_set(Eo *obj, void *_pd, va_list *list) +EOLIAN static void +_elm_menu_elm_widget_parent_set(Eo *obj, Elm_Menu_Data *sd, Evas_Object *parent) { - Evas_Object *parent = va_arg(*list, Evas_Object *); - Elm_Menu_Smart_Data *sd = _pd; Eina_List *l, *_l, *_ll, *ll = NULL; Elm_Menu_Item *item; @@ -801,46 +787,23 @@ elm_menu_parent_get(const Evas_Object *obj) return ret; } -static void -_parent_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Evas_Object **ret = va_arg(*list, Evas_Object **); - Elm_Menu_Smart_Data *sd = _pd; - *ret = sd->parent; -} - -EAPI void -elm_menu_move(Evas_Object *obj, - Evas_Coord x, - Evas_Coord y) +EOLIAN static Evas_Object* +_elm_menu_elm_widget_parent_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - ELM_MENU_CHECK(obj); - eo_do(obj, elm_obj_menu_move(x, y)); + return sd->parent; } -static void -_move(Eo *obj, void *_pd, va_list *list) +EOLIAN static void +_elm_menu_move(Eo *obj, Elm_Menu_Data *sd, Evas_Coord x, Evas_Coord y) { - Evas_Coord x = va_arg(*list, Evas_Coord); - Evas_Coord y = va_arg(*list, Evas_Coord); - Elm_Menu_Smart_Data *sd = _pd; - sd->xloc = x; sd->yloc = y; _sizing_eval(obj); } -EAPI void -elm_menu_close(Evas_Object *obj) +EOLIAN static void +_elm_menu_close(Eo *obj, Elm_Menu_Data *sd) { - ELM_MENU_CHECK(obj); - eo_do(obj, elm_obj_menu_close()); -} - -static void -_menu_close(Eo *obj, void *_pd, va_list *list EINA_UNUSED) -{ - Elm_Menu_Smart_Data *sd = _pd; _menu_hide(obj, sd->hv, NULL); } @@ -897,7 +860,7 @@ static void _elm_menu_item_add_helper(Evas_Object *obj, Elm_Menu_Item *parent, Elm_Menu_Item *subitem, - Elm_Menu_Smart_Data *sd) + Elm_Menu_Data *sd) { if (parent) { @@ -942,44 +905,20 @@ _item_del_pre_hook(Elm_Object_Item *it) return EINA_TRUE; } -EAPI Elm_Object_Item * -elm_menu_item_add(Evas_Object *obj, - Elm_Object_Item *parent, - const char *icon, - const char *label, - Evas_Smart_Cb func, - const void *data) -{ - ELM_MENU_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_menu_item_add(parent, icon, label, func, data, &ret)); - return ret; -} - -static void -_item_add(Eo *obj, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_menu_item_add(Eo *obj, Elm_Menu_Data *sd, Elm_Object_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) { - Elm_Object_Item *parent = va_arg(*list, Elm_Object_Item *); - const char *icon = va_arg(*list, const char *); - const char *label = 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 **); - if (ret) *ret = NULL; - Elm_Menu_Item *it; Evas_Object *icon_obj; - Elm_Menu_Smart_Data *sd = _pd; - icon_obj = elm_icon_add(obj); - if (!icon_obj) return; + if (!icon_obj) return NULL; it = elm_widget_item_new(obj, Elm_Menu_Item); if (!it) { evas_object_del(icon_obj); - return; + return NULL; } elm_widget_item_del_pre_hook_set(it, _item_del_pre_hook); @@ -1009,7 +948,7 @@ _item_add(Eo *obj, void *_pd, va_list *list) it->dbus_idx = _elm_dbus_menu_item_add(sd->dbus_menu, (Elm_Object_Item *)it); it->dbus_menu = sd->dbus_menu; } - if (ret) *ret = (Elm_Object_Item *)it; + return (Elm_Object_Item *)it; } EAPI unsigned int @@ -1045,43 +984,27 @@ elm_menu_item_icon_name_set(Elm_Object_Item *it, _sizing_eval(WIDGET(item)); } -EAPI Elm_Object_Item * -elm_menu_item_separator_add(Evas_Object *obj, - Elm_Object_Item *parent) -{ - ELM_MENU_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do(obj, elm_obj_menu_item_separator_add(parent, &ret)); - return ret; -} - -static void -_item_separator_add(Eo *obj, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_menu_item_separator_add(Eo *obj, Elm_Menu_Data *sd, Elm_Object_Item *parent) { - Elm_Object_Item *parent = va_arg(*list, Elm_Object_Item *); - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; - Elm_Menu_Item *subitem; Elm_Menu_Item *p_item = (Elm_Menu_Item *)parent; - Elm_Menu_Smart_Data *sd = _pd; - /* don't add a separator as the first item */ - if (!sd->items) return; + if (!sd->items) return NULL; /* don't allow adding more than one separator in a row */ if (p_item) { - if (!p_item->submenu.items) return; + if (!p_item->submenu.items) return NULL; subitem = eina_list_last(p_item->submenu.items)->data; } else subitem = eina_list_last(sd->items)->data; - if (subitem->separator) return; + if (subitem->separator) return NULL; subitem = elm_widget_item_new(obj, Elm_Menu_Item); - if (!subitem) return; + if (!subitem) return NULL; elm_widget_item_del_pre_hook_set(subitem, _item_del_pre_hook); elm_widget_item_disable_hook_set(subitem, _item_disable_hook); @@ -1110,7 +1033,7 @@ _item_separator_add(Eo *obj, void *_pd, va_list *list) if (sd->dbus_menu) subitem->dbus_idx = _elm_dbus_menu_item_add(sd->dbus_menu, (Elm_Object_Item *)subitem); - *ret = (Elm_Object_Item *)subitem; + return (Elm_Object_Item *)subitem; } EAPI const char * @@ -1149,21 +1072,10 @@ elm_menu_item_subitems_clear(Elm_Object_Item *it) elm_object_item_del(sub_it); } -EAPI const Eina_List * -elm_menu_items_get(const Evas_Object *obj) -{ - ELM_MENU_CHECK(obj) NULL; - const Eina_List *ret = NULL; - eo_do((Eo *) obj, elm_obj_menu_items_get(&ret)); - return ret; -} - -static void -_items_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static const Eina_List* +_elm_menu_items_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - const Eina_List **ret = va_arg(*list, const Eina_List **); - Elm_Menu_Smart_Data *sd = _pd; - *ret = sd->items; + return sd->items; } EAPI void @@ -1253,121 +1165,37 @@ elm_menu_item_next_get(const Elm_Object_Item *it) return NULL; } -EAPI Elm_Object_Item * -elm_menu_first_item_get(const Evas_Object *obj) -{ - ELM_MENU_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do((Eo *) obj, elm_obj_menu_first_item_get(&ret)); - return ret; -} - -static void -_first_item_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) -{ - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - Elm_Menu_Smart_Data *sd = _pd; - *ret = (sd->items ? sd->items->data : NULL); -} - -EAPI Elm_Object_Item * -elm_menu_last_item_get(const Evas_Object *obj) +EOLIAN static Elm_Object_Item* +_elm_menu_first_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - ELM_MENU_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do((Eo *) obj, elm_obj_menu_last_item_get(&ret)); - return ret; + return (sd->items ? sd->items->data : NULL); } -static void -_last_item_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_menu_last_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - Elm_Menu_Smart_Data *sd = _pd; - Eina_List *l = eina_list_last(sd->items); - *ret = (l ? l->data : NULL); -} - -EAPI Elm_Object_Item * -elm_menu_selected_item_get(const Evas_Object *obj) -{ - ELM_MENU_CHECK(obj) NULL; - Elm_Object_Item *ret = NULL; - eo_do((Eo *) obj, elm_obj_menu_selected_item_get(&ret)); - return ret; + return (l ? l->data : NULL); } -static void -_selected_item_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list) +EOLIAN static Elm_Object_Item* +_elm_menu_selected_item_get(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd) { - Elm_Object_Item **ret = va_arg(*list, Elm_Object_Item **); - *ret = NULL; Eina_List *l; Elm_Menu_Item *item; - Elm_Menu_Smart_Data *sd = _pd; - EINA_LIST_FOREACH(sd->items, l, item) { - if (item->selected) - { - *ret = (Elm_Object_Item *)item; - return; - } + if (item->selected) return (Elm_Object_Item *)item; } + + return NULL; } static void -_class_constructor(Eo_Class *klass) +_elm_menu_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_menu_smart_add), - EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_DEL), _elm_menu_smart_del), - EO_OP_FUNC(EVAS_OBJ_SMART_ID(EVAS_OBJ_SMART_SUB_ID_SHOW), _elm_menu_smart_show), - - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_THEME_APPLY), _elm_menu_smart_theme), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_TRANSLATE), _elm_menu_smart_translate), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_PARENT_SET), _parent_set), - EO_OP_FUNC(ELM_OBJ_WIDGET_ID(ELM_OBJ_WIDGET_SUB_ID_PARENT_GET), _parent_get), - - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_MOVE), _move), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_CLOSE), _menu_close), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_ITEM_ADD), _item_add), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_ITEM_SEPARATOR_ADD), _item_separator_add), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_ITEMS_GET), _items_get), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_FIRST_ITEM_GET), _first_item_get), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_LAST_ITEM_GET), _last_item_get), - EO_OP_FUNC(ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_SELECTED_ITEM_GET), _selected_item_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_MENU_SUB_ID_MOVE, "Move the menu to a new position."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_CLOSE, "Close a opened menu."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_ITEM_ADD, "Add an item at the end of the given menu widget."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_ITEM_SEPARATOR_ADD, "Add a separator item to menu obj under parent."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_ITEMS_GET, "Returns a list of item's items."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_FIRST_ITEM_GET, "Get the first item in the menu."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_LAST_ITEM_GET, "Get the last item in the menu."), - EO_OP_DESCRIPTION(ELM_OBJ_MENU_SUB_ID_SELECTED_ITEM_GET, "Get the selected item in the menu."), - 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_MENU_BASE_ID, op_desc, ELM_OBJ_MENU_SUB_ID_LAST), - NULL, - sizeof(Elm_Menu_Smart_Data), - _class_constructor, - NULL -}; -EO_DEFINE_CLASS(elm_obj_menu_class_get, &class_desc, ELM_OBJ_WIDGET_CLASS, EVAS_SMART_CLICKABLE_INTERFACE, NULL); +#include "elm_menu.eo.c" diff --git a/src/lib/elm_menu.eo b/src/lib/elm_menu.eo new file mode 100644 index 0000000..4dba007 --- /dev/null +++ b/src/lib/elm_menu.eo @@ -0,0 +1,130 @@ +class Elm_Menu (Elm_Widget, Evas_Clickable_Interface) +{ + eo_prefix: elm_obj_menu; + properties { + selected_item { + get { + /*@ + @brief Get the selected item in the menu + + @return The selected item, or NULL if none + + @see elm_menu_item_selected_get() + @see elm_menu_item_selected_set() + + @ingroup Menu */ + return Elm_Object_Item *; + } + } + items { + get { + /*@ + @brief Returns a list of @p item's items. + + @return An Eina_List* of @p item's items + + @ingroup Menu */ + return const Eina_List *; + } + } + first_item { + get { + /*@ + @brief Get the first item in the menu + + @return The first item, or NULL if none + + @ingroup Menu */ + return Elm_Object_Item *; + } + } + last_item { + get { + /*@ + @brief Get the last item in the menu + + @return The last item, or NULL if none + + @ingroup Menu */ + return Elm_Object_Item *; + } + } + } + methods { + move { + /*@ + @brief Move the menu to a new position + + Sets the top-left position of the menu to (@p x,@p y). + + @note @p x and @p y coordinates are relative to parent. + + @ingroup Menu */ + + params { + @in Evas_Coord x; /*@ The new position. */ + @in Evas_Coord y; /*@ The new position. */ + } + } + item_add { + /*@ + @brief Add an item at the end of the given menu widget + + @return Returns the new item. + + @note This function does not accept relative icon path. + + @ingroup Menu */ + + return Elm_Object_Item *; + params { + @in Elm_Object_Item *parent; /*@ The parent menu item (optional) */ + @in const char *icon; /*@ An icon display on the item. The icon will be destroyed by the menu. */ + @in const char *label; /*@ The label of the item. */ + @in Evas_Smart_Cb func; /*@ Function called when the user select the item. */ + @in const void *data; /*@ Data sent by the callback. */ + } + } + close { + /*@ + @brief Close a opened menu + + @return void + + Hides the menu and all it's sub-menus. + + @ingroup Menu */ + + } + item_separator_add { + /*@ + @brief Add a separator item to menu @p obj under @p parent. + + @return The created item or NULL on failure + + This is item is a @ref Separator. + + @ingroup Menu */ + + return Elm_Object_Item *; + params { + @in Elm_Object_Item *parent; /*@ The item to add the separator under */ + } + } + } + implements { + class::constructor; + Eo_Base::constructor; + Evas_Smart::show; + Evas_Smart::add; + Evas_Smart::del; + Elm_Widget::parent; + Elm_Widget::theme_apply; + Elm_Widget::translate; + } + events { + language,changed; + access,changed; + } + +} diff --git a/src/lib/elm_menu_eo.h b/src/lib/elm_menu_eo.h index e6c8a77..475c3dd 100644 --- a/src/lib/elm_menu_eo.h +++ b/src/lib/elm_menu_eo.h @@ -1,3 +1,6 @@ +#include "elm_menu.eo.h" + +#if 0 #define ELM_OBJ_MENU_CLASS elm_obj_menu_class_get() const Eo_Class *elm_obj_menu_class_get(void) EINA_CONST; @@ -137,3 +140,5 @@ enum * @ingroup Menu */ #define elm_obj_menu_selected_item_get(ret) ELM_OBJ_MENU_ID(ELM_OBJ_MENU_SUB_ID_SELECTED_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret) +#endif + diff --git a/src/lib/elm_widget_menu.h b/src/lib/elm_widget_menu.h index 22cac8f..04fe244 100644 --- a/src/lib/elm_widget_menu.h +++ b/src/lib/elm_widget_menu.h @@ -17,8 +17,8 @@ /** * Base widget smart data extended with menu instance data. */ -typedef struct _Elm_Menu_Smart_Data Elm_Menu_Smart_Data; -struct _Elm_Menu_Smart_Data +typedef struct _Elm_Menu_Data Elm_Menu_Data; +struct _Elm_Menu_Data { Evas_Object *hv, *bx, *location, *parent; @@ -60,7 +60,7 @@ struct _Elm_Menu_Item */ #define ELM_MENU_DATA_GET(o, sd) \ - Elm_Menu_Smart_Data * sd = eo_data_scope_get(o, ELM_OBJ_MENU_CLASS) + Elm_Menu_Data * sd = eo_data_scope_get(o, ELM_OBJ_MENU_CLASS) #define ELM_MENU_DATA_GET_OR_RETURN(o, ptr) \ ELM_MENU_DATA_GET(o, ptr); \ -- 2.7.4