Revert Efl.Ui.Multibuttonentry to create new one.
authorWoochan Lee <wc0917.lee@samsung.com>
Thu, 19 Apr 2018 13:20:29 +0000 (22:20 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 29 May 2018 04:06:53 +0000 (13:06 +0900)
Summary:
Revert e02b2f04c2945ad60fab5612af1e02b0838b7ff5.

I couldnt make a revert commit for many commit has been related with above commit.

I will create a new MBE eo class ASAP. (https://phab.enlightenment.org/T5358)

Reviewers: cedric, woohyun, Jaehyun_Cho, SanghyeonLee, herb

Reviewed By: Jaehyun_Cho

Subscribers: cedric

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

po/POTFILES.in
src/Makefile_Elementary.am
src/bin/elementary/test_part_bg.c
src/lib/elementary/efl_ui_multibuttonentry.h [deleted file]
src/lib/elementary/elc_multibuttonentry.c [moved from src/lib/elementary/efl_ui_multibuttonentry.c with 81% similarity]
src/lib/elementary/elc_multibuttonentry.h
src/lib/elementary/elc_multibuttonentry_eo.h [moved from src/lib/elementary/efl_ui_multibuttonentry_eo.h with 51% similarity]
src/lib/elementary/elm_multibuttonentry.eo [moved from src/lib/elementary/efl_ui_multibuttonentry.eo with 89% similarity]
src/lib/elementary/elm_multibuttonentry_part.eo [moved from src/lib/elementary/efl_ui_multibuttonentry_part.eo with 68% similarity]
src/lib/elementary/elm_widget_multibuttonentry.h [moved from src/lib/elementary/efl_ui_multibuttonentry_private.h with 87% similarity]

index 425f35c..4c906e9 100644 (file)
@@ -97,7 +97,7 @@ src/lib/elementary/elc_fileselector.c
 src/lib/elementary/elc_fileselector_button.c
 src/lib/elementary/elc_fileselector_entry.c
 src/lib/elementary/elc_hoversel.c
-src/lib/elementary/efl_ui_multibuttonentry.c
+src/lib/elementary/elc_multibuttonentry.c
 src/lib/elementary/elc_naviframe.c
 src/lib/elementary/elc_player.c
 src/lib/elementary/elc_popup.c
index 94fd88e..5a468e2 100644 (file)
@@ -14,7 +14,6 @@ elm_public_eolian_files = \
        lib/elementary/efl_ui_image.eo \
        lib/elementary/efl_ui_image_zoomable.eo \
        lib/elementary/efl_ui_layout.eo \
-       lib/elementary/efl_ui_multibuttonentry.eo \
        lib/elementary/efl_ui_nstate.eo \
        lib/elementary/efl_ui_panes.eo \
        lib/elementary/efl_ui_progressbar.eo \
@@ -75,7 +74,6 @@ elm_public_eolian_files = \
        lib/elementary/efl_ui_view_list_pan.eo \
        lib/elementary/efl_ui_view_list_segarray.eo \
        lib/elementary/efl_ui_view_list_relayout.eo \
-       lib/elementary/efl_ui_multibuttonentry_part.eo \
        lib/elementary/efl_ui_panes_part.eo \
        lib/elementary/efl_ui_progressbar_part.eo \
        lib/elementary/efl_ui_slider_part_indicator.eo \
@@ -152,7 +150,6 @@ elm_legacy_eolian_files = \
        lib/elementary/efl_ui_slider_legacy.eo \
        lib/elementary/efl_ui_panes_legacy.eo \
        lib/elementary/efl_ui_image_zoomable_legacy.eo \
-       lib/elementary/efl_ui_multibuttonentry_legacy.eo \
        lib/elementary/efl_ui_flip_legacy.eo \
        lib/elementary/efl_ui_win_legacy.eo \
        lib/elementary/efl_ui_image_legacy.eo \
@@ -184,6 +181,7 @@ elm_legacy_eolian_files = \
        lib/elementary/elm_map.eo \
        lib/elementary/elm_map_pan.eo \
        lib/elementary/elm_menu.eo \
+       lib/elementary/elm_multibuttonentry.eo \
        lib/elementary/elm_notify.eo \
        lib/elementary/elm_panel.eo \
        lib/elementary/elm_player.eo \
@@ -199,6 +197,7 @@ elm_legacy_eolian_files = \
        lib/elementary/elm_dayselector_item.eo \
        lib/elementary/elm_flipselector_item.eo \
        lib/elementary/elm_menu_item.eo \
+       lib/elementary/elm_multibuttonentry_part.eo \
        lib/elementary/elm_ctxpopup_item.eo \
        lib/elementary/elm_index_item.eo \
        lib/elementary/elm_widget_item_static_focus.eo \
@@ -355,7 +354,7 @@ includesunstable_HEADERS = \
        lib/elementary/elm_widget_map.h \
        lib/elementary/elm_widget_mapbuf.h \
        lib/elementary/elm_widget_menu.h \
-       lib/elementary/efl_ui_multibuttonentry_private.h \
+       lib/elementary/elm_widget_multibuttonentry.h \
        lib/elementary/elm_widget_naviframe.h \
        lib/elementary/elm_widget_notify.h \
        lib/elementary/elm_widget_panel.h \
@@ -396,7 +395,6 @@ includesunstable_HEADERS = \
        lib/elementary/elm_code_file.h \
        lib/elementary/elm_code_parse.h \
        lib/elementary/elm_code_syntax.h \
-       lib/elementary/efl_ui_multibuttonentry.h \
        lib/elementary/efl_ui_widget_scroller.h \
        lib/elementary/efl_ui_widget_scroll_manager.h \
        lib/elementary/efl_ui_widget_pan.h \
@@ -423,7 +421,6 @@ includesub_HEADERS = \
        lib/elementary/elc_hoversel.h \
        lib/elementary/elc_hoversel_legacy.h \
        lib/elementary/elc_multibuttonentry.h \
-       lib/elementary/efl_ui_multibuttonentry_eo.h \
        lib/elementary/elc_multibuttonentry_legacy.h \
        lib/elementary/elc_multibuttonentry_common.h \
        lib/elementary/elc_naviframe.h \
@@ -631,7 +628,7 @@ lib_elementary_libelementary_la_SOURCES = \
        lib/elementary/elc_fileselector_button.c \
        lib/elementary/elc_fileselector_entry.c \
        lib/elementary/elc_hoversel.c \
-       lib/elementary/efl_ui_multibuttonentry.c \
+       lib/elementary/elc_multibuttonentry.c \
        lib/elementary/elc_naviframe.c \
        lib/elementary/elc_player.c \
        lib/elementary/elc_popup.c \
index ce54e10..807dbe9 100644 (file)
@@ -3,7 +3,7 @@
 #endif
 #include <Elementary.h>
 
-#define MAX_NUM_OF_CONTENT 19
+#define MAX_NUM_OF_CONTENT 18
 
 const Efl_Class *content_class[MAX_NUM_OF_CONTENT];
 
@@ -126,22 +126,21 @@ test_part_background(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
    content_class[0] = EFL_UI_CALENDAR_CLASS;
    content_class[1] = EFL_UI_SLIDER_CLASS;
    content_class[2] = EFL_UI_SLIDER_INTERVAL_CLASS;
-   content_class[3] = EFL_UI_MULTIBUTTONENTRY_CLASS;
-   content_class[4] = EFL_UI_PROGRESSBAR_CLASS;
-   content_class[5] = EFL_UI_CLOCK_CLASS;
-   content_class[6] = EFL_UI_BUTTON_CLASS;
-   content_class[7] = EFL_UI_CHECK_CLASS;
-   content_class[8] = EFL_UI_RADIO_CLASS;
-   content_class[9] = EFL_UI_TEXT_CLASS;
-   content_class[10] = EFL_UI_FLIP_CLASS;
-   content_class[11] = EFL_UI_PANES_CLASS;
-   content_class[12] = EFL_UI_VIDEO_CLASS;
-   content_class[13] = EFL_UI_BG_WIDGET_CLASS;
-   content_class[14] = EFL_UI_IMAGE_CLASS;
-   content_class[15] = EFL_UI_IMAGE_ZOOMABLE_CLASS;
-   content_class[16] = EFL_UI_NSTATE_CLASS;
-   content_class[17] = EFL_UI_SPIN_CLASS;
-   content_class[18] = EFL_UI_SPIN_BUTTON_CLASS;
+   content_class[3] = EFL_UI_PROGRESSBAR_CLASS;
+   content_class[4] = EFL_UI_CLOCK_CLASS;
+   content_class[5] = EFL_UI_BUTTON_CLASS;
+   content_class[6] = EFL_UI_CHECK_CLASS;
+   content_class[7] = EFL_UI_RADIO_CLASS;
+   content_class[8] = EFL_UI_TEXT_CLASS;
+   content_class[9] = EFL_UI_FLIP_CLASS;
+   content_class[10] = EFL_UI_PANES_CLASS;
+   content_class[11] = EFL_UI_VIDEO_CLASS;
+   content_class[12] = EFL_UI_BG_WIDGET_CLASS;
+   content_class[13] = EFL_UI_IMAGE_CLASS;
+   content_class[14] = EFL_UI_IMAGE_ZOOMABLE_CLASS;
+   content_class[15] = EFL_UI_NSTATE_CLASS;
+   content_class[16] = EFL_UI_SPIN_CLASS;
+   content_class[17] = EFL_UI_SPIN_BUTTON_CLASS;
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                  efl_text_set(efl_added, "Widget Part Background"),
diff --git a/src/lib/elementary/efl_ui_multibuttonentry.h b/src/lib/elementary/efl_ui_multibuttonentry.h
deleted file mode 100644 (file)
index 3d9a759..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * @defgroup efl_ui_multibuttonentry
- * @ingroup Elementary
- *
- * @image html multibuttonentry_inheritance_tree.png
- * @image latex multibuttonentry_inheritance_tree.eps
- *
- * A multi-button entry is a widget letting an user enter text and
- * each chunk of text managed as a set of buttons. Each text button is
- * inserted by pressing the "return" key. If there is no space in the
- * current row, a new button is added to the next row. When a text
- * button is pressed, it will become focused. Backspace removes the
- * focus. When the multi-button entry loses focus, items longer than
- * one line are shrunk to one line.
- *
- * The typical use case of multi-button entry is composing
- * emails/messages to a group of addresses, each of which is an item
- * that can be clicked for further actions.
- *
- * This widget inherits from the @ref Layout one, so that all the
- * functions acting on it also work for multi-button entry objects (since 1.8).
- *
- * This widget emits the following signals, besides the ones sent from
- * @ref Layout:
- * - @c "item,selected" - this is called when an item is selected by
- *       api, user interaction, and etc. this is also called when a
- *       user press back space while cursor is on the first field of
- *       entry.
- * - @c "item,added" - when a new multi-button entry item is added.
- * - @c "item,deleted" - when a multi-button entry item is deleted.
- * - @c "item,clicked" - this is called when an item is clicked by user
- *       interaction. Both "item,selected" and "item,clicked" are needed.
- * - @c "item,longpressed" - when multi-button entry item is pressed for a long time.
- * - @c "clicked" - when multi-button entry is clicked.
- * - @c "focused" - when multi-button entry is focused.
- * - @c "unfocused" - when multi-button entry is unfocused.
- * - @c "expanded" - when multi-button entry is expanded.
- * - @c "contracted" - when multi-button entry is contracted.
- * - @c "expand,state,changed" - when shrink mode state of
- *       multi-button entry is changed.
- *
- * Default text parts of the multi-button entry widget that you can use are:
- * @li "default" - A label of the multi-button entry
- *
- * Default text parts of multi-button entry @b items that you can use are:
- * @li "default" - A label of the multi-button entry item
- *
- * Supported elm_object_item common APIs.
- * @li @ref elm_object_item_del
- * @li @ref elm_object_item_part_text_set
- * @li @ref elm_object_item_part_text_get
- */
-
-
-/**
- * @addtogroup Multibuttonentry
- * @{
- */
-
-#ifdef EFL_EO_API_SUPPORT
-#include "efl_ui_multibuttonentry_eo.h"
-#endif
-#ifndef EFL_NOLEGACY_API_SUPPORT
-#include "elc_multibuttonentry_legacy.h"
-#endif
-/**
- * @}
- */
similarity index 81%
rename from src/lib/elementary/efl_ui_multibuttonentry.c
rename to src/lib/elementary/elc_multibuttonentry.c
index d368ce8..687b4a1 100644 (file)
@@ -4,20 +4,21 @@
 
 #define EFL_ACCESS_PROTECTED
 #define ELM_WIDGET_ITEM_PROTECTED
+//#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
 #define EFL_ACCESS_WIDGET_ACTION_PROTECTED
 #define EFL_UI_TRANSLATABLE_PROTECTED
 
 #include <Elementary.h>
 #include "elm_priv.h"
-#include "efl_ui_multibuttonentry_private.h"
-#include "efl_ui_multibuttonentry_part.eo.h"
+#include "elm_widget_multibuttonentry.h"
+#include "elm_multibuttonentry_part.eo.h"
 #include "elm_entry.eo.h"
 #include "elm_part_helper.h"
 
-#define MY_CLASS EFL_UI_MULTIBUTTONENTRY_CLASS
-#define MY_CLASS_PFX efl_ui_multibuttonentry
+#define MY_CLASS ELM_MULTIBUTTONENTRY_CLASS
 
-#define MY_CLASS_NAME "Efl.Ui.Multibuttonentry"
+#define MY_CLASS_NAME "Elm_Multibuttonentry"
+#define MY_CLASS_NAME_LEGACY "elm_multibuttonentry"
 
 #define MAX_STR     256
 #define MIN_W_ENTRY 10
@@ -62,8 +63,8 @@ static const char PART_NAME_LABEL[] = "label";
 //static const char PART_NAME_CLOSED_BUTTON[] = "closedbutton";
 static const char PART_NAME_NUMBER[] = "number";
 
-static Eina_Bool _efl_ui_multibuttonentry_smart_focus_next_enable = EINA_FALSE;
-static Eina_Bool _efl_ui_multibuttonentry_smart_focus_direction_enable = EINA_TRUE;
+static Eina_Bool _elm_multibuttonentry_smart_focus_next_enable = EINA_FALSE;
+static Eina_Bool _elm_multibuttonentry_smart_focus_direction_enable = EINA_TRUE;
 
 static void _entry_changed_cb(void *data, const Efl_Event *event);
 static void _entry_focus_changed_cb(void *data, const Efl_Event *event);
@@ -76,7 +77,7 @@ EFL_CALLBACKS_ARRAY_DEFINE(_multi_buttonentry_cb,
 );
 
 EOLIAN static void
-_efl_ui_multibuttonentry_efl_ui_translatable_translation_update(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_efl_ui_translatable_translation_update(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    Elm_Object_Item *it;
    Eina_List *l;
@@ -97,7 +98,7 @@ _format_count(int count, void *data EINA_UNUSED)
 }
 
 EOLIAN static Efl_Ui_Theme_Apply
-_efl_ui_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, Elm_Multibuttonentry_Data *sd)
 {
    const char *str;
    int hpad = 0, vpad = 0;
@@ -151,7 +152,7 @@ _efl_ui_multibuttonentry_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Multibuttonen
 static void
 _visual_guide_text_set(Evas_Object *obj)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    elm_box_unpack(sd->box, sd->guide_text);
    elm_box_unpack(sd->box, sd->entry);
@@ -194,7 +195,7 @@ _shrink_mode_set(Evas_Object *obj,
    Eina_List *l;
    Elm_Object_Item *eo_item;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    if (!sd->items) return;
    if (sd->view_state == MULTIBUTTONENTRY_VIEW_ENTRY)
@@ -208,7 +209,6 @@ _shrink_mode_set(Evas_Object *obj,
      {
         Evas_Coord w = 0;
         Evas_Coord box_inner_item_width_padding = 0;
-        Eina_Value val;
 
         elm_box_padding_get(sd->box, &box_inner_item_width_padding, NULL);
         // unpack all items and entry
@@ -225,9 +225,7 @@ _shrink_mode_set(Evas_Object *obj,
         if (sd->label && sd->label_packed)
           {
              elm_box_pack_end(sd->box, sd->label);
-             Eina_Size2D label_min =
-                efl_gfx_size_hint_combined_min_get(sd->label);
-             w -= label_min.w;
+             w -= efl_gfx_size_hint_combined_min_get(sd->label).w;
              w -= box_inner_item_width_padding;
           }
 
@@ -237,28 +235,26 @@ _shrink_mode_set(Evas_Object *obj,
         EINA_LIST_FOREACH(sd->items, l, eo_item)
           {
              Evas_Coord w_label_count = 0, h = 0;
+             char *buf;
 
              ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
              elm_box_pack_end(sd->box, VIEW(item));
              evas_object_show(VIEW(item));
              item->visible = EINA_TRUE;
 
-             Eina_Size2D item_min =
-                efl_gfx_size_hint_combined_min_get(VIEW(item));
-
-             w -= item_min.w;
+             w -= efl_gfx_size_hint_combined_min_get(VIEW(item)).w;
              w -= box_inner_item_width_padding;
              count--;
 
-             eina_value_setup(&val, EINA_VALUE_TYPE_INT);
-
              if (count > 0)
                {
-                  eina_strbuf_reset(sd->format_strbuf);
-                  eina_value_set(&val, count);
-                  sd->format_cb(sd->format_cb_data, sd->format_strbuf, val);
-                  edje_object_part_text_escaped_set(sd->end, "elm.text",
-                                                    eina_strbuf_string_get(sd->format_strbuf));
+                  buf = sd->format_func(count, (void *)sd->format_func_data);
+                  if (buf)
+                    {
+                       edje_object_part_text_escaped_set
+                           (sd->end, "elm.text", buf);
+                       free(buf);
+                    }
 
                   edje_object_size_min_calc(sd->end, &w_label_count, NULL);
                   elm_coords_finger_size_adjust(1, &w_label_count, 1, NULL);
@@ -271,12 +267,13 @@ _shrink_mode_set(Evas_Object *obj,
                   item->visible = EINA_FALSE;
                   count++;
 
-                  eina_strbuf_reset(sd->format_strbuf);
-
-                  eina_value_set(&val, count);
-                  sd->format_cb(sd->format_cb_data, sd->format_strbuf, val);
-                  edje_object_part_text_escaped_set(sd->end, "elm.text",
-                                                    eina_strbuf_string_get(sd->format_strbuf));
+                  buf = sd->format_func(count, (void *)sd->format_func_data);
+                  if (buf)
+                    {
+                       edje_object_part_text_escaped_set
+                           (sd->end, "elm.text", buf);
+                       free(buf);
+                    }
 
                   edje_object_size_min_calc(sd->end, &w_label_count, &h);
                   elm_coords_finger_size_adjust(1, &w_label_count, 1, &h);
@@ -301,10 +298,8 @@ _shrink_mode_set(Evas_Object *obj,
           {
              sd->view_state = MULTIBUTTONENTRY_VIEW_SHRINK;
              efl_event_callback_legacy_call
-               (obj, EFL_UI_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)1);
+               (obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)1);
           }
-
-        eina_value_flush(&val);
      }
    else
      {
@@ -340,36 +335,36 @@ _shrink_mode_set(Evas_Object *obj,
           {
              sd->view_state = MULTIBUTTONENTRY_VIEW_NONE;
              efl_event_callback_legacy_call
-               (obj, EFL_UI_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)(uintptr_t)sd->shrink);
+               (obj, ELM_MULTIBUTTONENTRY_EVENT_EXPAND_STATE_CHANGED, (void *)(uintptr_t)sd->shrink);
           }
      }
 
    if (sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK)
-     _efl_ui_multibuttonentry_smart_focus_direction_enable = EINA_FALSE;
+     _elm_multibuttonentry_smart_focus_direction_enable = EINA_FALSE;
    else
-     _efl_ui_multibuttonentry_smart_focus_direction_enable = EINA_TRUE;
+     _elm_multibuttonentry_smart_focus_direction_enable = EINA_TRUE;
 
    if (sd->view_state != MULTIBUTTONENTRY_VIEW_SHRINK)
      _visual_guide_text_set(obj);
 }
 
 static void
-_view_update(Efl_Ui_Multibuttonentry_Data *sd)
+_view_update(Elm_Multibuttonentry_Data *sd)
 {
-   Eina_Size2D min = { 1, 1 };
+   Evas_Coord width = 1, height = 1;
    Evas_Object *obj = sd->parent;
 
    if (sd->w_box <= 0) return;
 
    // update label
    if (sd->label)
-     min = efl_gfx_size_hint_combined_min_get(sd->label);
+     evas_object_size_hint_combined_min_get(sd->label, &width, &height);
 
    if (sd->guide_text)
      {
-        Evas_Coord guide_text_width = sd->w_box - min.w;
+        Evas_Coord guide_text_width = sd->w_box - width;
 
-        evas_object_size_hint_min_set(sd->guide_text, guide_text_width, min.h);
+        evas_object_size_hint_min_set(sd->guide_text, guide_text_width, height);
      }
 
    // update buttons in shrink mode
@@ -385,13 +380,13 @@ _item_del(Elm_Multibuttonentry_Item_Data *item)
 {
    Evas_Object *obj = WIDGET(item);
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    sd->items = eina_list_remove(sd->items, EO_OBJ(item));
    elm_box_unpack(sd->box, VIEW(item));
 
    efl_event_callback_legacy_call
-     (obj, EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_DELETED, EO_OBJ(item));
+     (obj, ELM_MULTIBUTTONENTRY_EVENT_ITEM_DELETED, EO_OBJ(item));
 
    if (sd->selected_it == item)
      sd->selected_it = NULL;
@@ -412,7 +407,7 @@ _current_item_state_change(Evas_Object *obj,
 {
    Elm_Multibuttonentry_Item_Data *item;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    item = sd->selected_it;
 
@@ -423,7 +418,7 @@ _current_item_state_change(Evas_Object *obj,
       case MULTIBUTTONENTRY_BUTTON_STATE_SELECTED:
         elm_layout_signal_emit(VIEW(item), "elm,state,focused", "elm");
         efl_event_callback_legacy_call
-          (obj, EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_SELECTED, EO_OBJ(item));
+          (obj, ELM_MULTIBUTTONENTRY_EVENT_ITEM_SELECTED, EO_OBJ(item));
         break;
       case MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT:
       default:
@@ -440,7 +435,7 @@ _current_item_change(Evas_Object *obj,
    Eina_List *l;
    Elm_Object_Item *eo_temp_it;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
    ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
 
    // change the state of previous item to "default"
@@ -463,7 +458,7 @@ static void
 _item_select(Evas_Object *obj,
                Elm_Multibuttonentry_Item_Data *it)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    if (it)
      {
@@ -516,7 +511,7 @@ _on_item_clicked(void *data,
    Elm_Object_Item *eo_it = data;
 
    ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
    _item_select(WIDGET(it), it);
 
@@ -527,7 +522,7 @@ _on_item_clicked(void *data,
 
    if (sd->selected_it)
      efl_event_callback_legacy_call
-       (WIDGET(it), EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_CLICKED, eo_it);
+       (WIDGET(it), ELM_MULTIBUTTONENTRY_EVENT_ITEM_CLICKED, eo_it);
 }
 
 static void
@@ -541,14 +536,14 @@ _on_item_deleted(void *data,
    Elm_Object_Item *eo_temp_it;
 
    ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_it, it);
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
    // change the current
    EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
      {
         ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_temp_it, temp_it);
         if (VIEW(temp_it) == obj)
           {
-             efl_del(eo_temp_it);
+             elm_object_item_del(eo_temp_it);
              break;
           }
      }
@@ -562,7 +557,7 @@ _on_item_focused(void *data,
    Elm_Multibuttonentry_Item_Data *it = data;
    if (!it) return;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
    sd->focused_it = it;
 }
@@ -575,7 +570,7 @@ _on_item_unfocused(void *data,
    Elm_Multibuttonentry_Item_Data *it = data;
    if (!it) return;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
    sd->focused_it = NULL;
 }
@@ -585,12 +580,12 @@ _long_press_cb(void *data)
 {
    Elm_Multibuttonentry_Item_Data *it = data;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET(WIDGET(it), sd);
 
    sd->longpress_timer = NULL;
 
    efl_event_callback_legacy_call
-     (WIDGET(it), EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_LONGPRESSED, EO_OBJ(it));
+     (WIDGET(it), ELM_MULTIBUTTONENTRY_EVENT_ITEM_LONGPRESSED, EO_OBJ(it));
 
    return ECORE_CALLBACK_CANCEL;
 }
@@ -604,7 +599,7 @@ _mouse_down_cb(void  *data,
    Elm_Multibuttonentry_Item_Data *it = data;
    Evas_Event_Mouse_Down *ev = event_info;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
    if (ev->button != 1) return;
 
@@ -621,7 +616,7 @@ _mouse_up_cb(void *data,
 {
    Elm_Multibuttonentry_Item_Data *it = data;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(it), sd);
 
    ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del);
 }
@@ -643,7 +638,7 @@ _elm_multibuttonentry_item_elm_widget_item_part_text_set(Eo *eo_item EINA_UNUSED
 {
    const char *dest_part = NULL;
    Evas_Coord minw = -1, minh = -1, boxw;
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(item), sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(WIDGET(item), sd);
 
    if (!part || !strcmp(part, "elm.text"))
      dest_part = "elm.btn.text";
@@ -694,7 +689,7 @@ _elm_multibuttonentry_item_efl_object_destructor(Eo *eo_it,
 static void
 _access_multibuttonentry_label_register(Evas_Object *obj, Eina_Bool is_access)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
    Evas_Object *po;
 
    po = (Evas_Object *)edje_object_part_object_get(sd->label, "elm.text");
@@ -799,7 +794,7 @@ _elm_multibuttonentry_item_efl_object_constructor(Eo *eo_item, Elm_Multibuttonen
 }
 
 static Elm_Object_Item *
-_item_new(Efl_Ui_Multibuttonentry_Data *sd,
+_item_new(Elm_Multibuttonentry_Data *sd,
                  const char *str,
                  Multibuttonentry_Pos pos,
                  Elm_Object_Item *efl_reference,
@@ -813,8 +808,7 @@ _item_new(Efl_Ui_Multibuttonentry_Data *sd,
       efl_data_scope_get(efl_reference, ELM_MULTIBUTTONENTRY_ITEM_CLASS):
       NULL;
    Evas_Object *obj;
-   Eina_Size2D min;
-   Evas_Coord boxw;
+   int minw, minh, boxw;
 
    obj = sd->parent;
 
@@ -867,14 +861,14 @@ _item_new(Efl_Ui_Multibuttonentry_Data *sd,
    evas_object_show(VIEW(item));
 
    evas_object_smart_calculate(VIEW(item));
-   min = efl_gfx_size_hint_combined_min_get(VIEW(item));
+   evas_object_size_hint_combined_min_get(VIEW(item), &minw, &minh);
    evas_object_geometry_get(sd->box, NULL, NULL, &boxw, NULL);
 
-   if (sd->w_box && min.w > boxw)
+   if (sd->w_box && minw > boxw)
      {
-        elm_coords_finger_size_adjust(1, &boxw, 1, &min.h);
-        evas_object_size_hint_min_set(VIEW(item), boxw, min.h);
-        evas_object_resize(VIEW(item), boxw, min.h);
+        elm_coords_finger_size_adjust(1, &boxw, 1, &minh);
+        evas_object_size_hint_min_set(VIEW(item), boxw, minh);
+        evas_object_resize(VIEW(item), boxw, minh);
      }
 
    elm_object_focus_allow_set(VIEW(item), EINA_TRUE);
@@ -1003,7 +997,7 @@ _item_new(Efl_Ui_Multibuttonentry_Data *sd,
 
 
    efl_event_callback_legacy_call
-     (obj, EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_ADDED, eo_item);
+     (obj, ELM_MULTIBUTTONENTRY_EVENT_ITEM_ADDED, eo_item);
 
    //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
    //register/unregister access objects accordingly.
@@ -1017,7 +1011,7 @@ _item_new(Efl_Ui_Multibuttonentry_Data *sd,
 //FIXME: having an empty event handling function and reacting on Evas
 //events on specific objects is crazy, someone should fix that.
 EOLIAN static Eina_Bool
-_efl_ui_multibuttonentry_efl_ui_widget_widget_event(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED, const Efl_Event *eo_event EINA_UNUSED, Evas_Object *src EINA_UNUSED)
+_elm_multibuttonentry_efl_ui_widget_widget_event(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd EINA_UNUSED, const Efl_Event *eo_event EINA_UNUSED, Evas_Object *src EINA_UNUSED)
 {
    // ACCESS
    if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) return EINA_FALSE;
@@ -1027,7 +1021,7 @@ _efl_ui_multibuttonentry_efl_ui_widget_widget_event(Eo *obj EINA_UNUSED, Efl_Ui_
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED)
+_elm_multibuttonentry_elm_layout_sizing_eval(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED)
 {
    Evas_Coord minw = -1, minh = -1, maxw = -1, maxh = -1;
 
@@ -1047,12 +1041,9 @@ _mouse_clicked_signal_cb(void *data EINA_UNUSED,
                          const char *emission EINA_UNUSED,
                          const char *source EINA_UNUSED)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
-   //FIXME: Change this when efl interface theme merged.
-   //if (sd->editable) efl_ui_text_input_panel_show(sd->entry);
    if (sd->editable) elm_entry_input_panel_show(sd->entry);
-   //
 
    efl_event_callback_legacy_call(obj, EFL_UI_EVENT_CLICKED, NULL);
 }
@@ -1063,13 +1054,12 @@ _box_resize_cb(void *data,
                Evas_Object *obj EINA_UNUSED,
                void *event EINA_UNUSED)
 {
-   Evas_Coord w, h;
-   Eina_Size2D min;
+   Evas_Coord w, h, mnw, mnh;
    Eina_List *l;
    Elm_Object_Item *eo_it;
    int hpad;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    evas_object_geometry_get(sd->box, NULL, NULL, &w, &h);
    if ((w <= elm_config_finger_size_get()) || (h <= elm_config_finger_size_get())) return;
@@ -1078,10 +1068,10 @@ _box_resize_cb(void *data,
 
    if (sd->h_box < h)
      efl_event_callback_legacy_call
-       (sd->parent, EFL_UI_MULTIBUTTONENTRY_EVENT_EXPANDED, NULL);
+       (sd->parent, ELM_MULTIBUTTONENTRY_EVENT_EXPANDED, NULL);
    else if (sd->h_box > h)
      efl_event_callback_legacy_call
-       (sd->parent, EFL_UI_MULTIBUTTONENTRY_EVENT_CONTRACTED, NULL);
+       (sd->parent, ELM_MULTIBUTTONENTRY_EVENT_CONTRACTED, NULL);
 
    if (sd->items && sd->w_box != w)
      {
@@ -1092,13 +1082,13 @@ _box_resize_cb(void *data,
              elm_layout_sizing_eval(VIEW(it));
              evas_object_smart_calculate(VIEW(it));
 
-             min = efl_gfx_size_hint_combined_min_get(VIEW(it));
+             evas_object_size_hint_combined_min_get(VIEW(it), &mnw, &mnh);
 
-             if (min.w > w - hpad)
+             if (mnw > w - hpad)
                {
-                  min.w = w - hpad;
-                  evas_object_size_hint_min_set(VIEW(it), min.w, min.h);
-                  evas_object_resize(VIEW(it), min.w, min.h);
+                  mnw = w - hpad;
+                  evas_object_size_hint_min_set(VIEW(it), mnw, mnh);
+                  evas_object_resize(VIEW(it), mnw, mnh);
                }
           }
      }
@@ -1116,7 +1106,7 @@ _entry_resize_cb(void *data,
                  Evas_Object *obj EINA_UNUSED,
                  void *event_info EINA_UNUSED)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    if (elm_object_focus_get(sd->parent))
      elm_widget_show_region_set(sd->entry, efl_gfx_geometry_get(sd->entry), EINA_TRUE);
@@ -1125,20 +1115,17 @@ _entry_resize_cb(void *data,
 static void
 _entry_changed_cb(void *data, const Efl_Event *event EINA_UNUSED)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    const char *str;
 
-   //FIXME: Change this when efl interface theme merged.
-   //str = efl_text_get(sd->entry);
    str = elm_object_text_get(sd->entry);
-   //
    sd->n_str = str ? strlen(str) : 0;
 }
 
 static void
 _entry_focus_changed_cb(void *data, const Efl_Event *event)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    if (elm_object_focus_get(event->object))
      {
@@ -1167,7 +1154,7 @@ _entry_focus_changed_cb(void *data, const Efl_Event *event)
 static void
 _entry_clicked_cb(void *data, const Efl_Event *event EINA_UNUSED)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
 
    _current_item_state_change(sd->parent, MULTIBUTTONENTRY_BUTTON_STATE_DEFAULT);
    elm_object_focus_set(sd->entry, EINA_TRUE);
@@ -1179,7 +1166,7 @@ _layout_key_down_cb(void *data,
                   Evas_Object *obj EINA_UNUSED,
                   void *event_info)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *)event_info;
 
    if (!sd->box) return;
@@ -1193,7 +1180,7 @@ _layout_key_down_cb(void *data,
              Elm_Multibuttonentry_Item_Data *item = sd->selected_it;
              if (item && sd->editable)
                {
-                  efl_del(EO_OBJ(item));
+                  elm_object_item_del(EO_OBJ(item));
                   elm_object_focus_set(sd->entry, EINA_TRUE);
                }
           }
@@ -1227,7 +1214,7 @@ _entry_key_down_cb(void *data,
                    Evas_Object *obj EINA_UNUSED,
                    void *event_info)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Down *ev = (Evas_Event_Key_Down *)event_info;
 
    if (sd->n_str == 1 &&
@@ -1241,16 +1228,13 @@ _entry_key_up_cb(void *data,
                  Evas_Object *obj EINA_UNUSED,
                  void *event_info)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(data, sd);
    Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *)event_info;
    const char *str;
 
    if (!sd->box) return;
 
-   //FIXME: Change this when efl interface theme merged.
-   //str = efl_text_get(sd->entry);
    str = elm_object_text_get(sd->entry);
-   //
    if (!str) return;
 
    if (strlen(str) &&
@@ -1264,7 +1248,7 @@ _entry_key_up_cb(void *data,
 static void
 _callbacks_register(Evas_Object *obj)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
    //TIZEN_ONLY(20160524): Layout click signal change.
@@ -1296,7 +1280,7 @@ _label_set(Evas_Object *obj,
 {
    Evas_Coord width, height;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    if (!str) return;
 
@@ -1328,7 +1312,7 @@ static void
 _guide_text_set(Evas_Object *obj,
                 const char *str)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    if (!str) return;
 
@@ -1382,38 +1366,36 @@ _box_min_size_calculate(Evas_Object *box,
                         int *line_height,
                         void *data EINA_UNUSED)
 {
-   Evas_Coord w, linew = 0, lineh = 0;
-   Eina_Size2D box_min;
-   Eina_Size2D min;
+   Evas_Coord mnw, mnh, w, minw, minh = 0, linew = 0, lineh = 0;
    int line_num;
    Eina_List *l;
    Evas_Object_Box_Option *opt;
 
    evas_object_geometry_get(box, NULL, NULL, &w, NULL);
-   box_min = efl_gfx_size_hint_combined_min_get(box);
+   evas_object_size_hint_combined_min_get(box, &minw, NULL);
 
    if (!w) return EINA_FALSE;
 
    line_num = 1;
    EINA_LIST_FOREACH(priv->children, l, opt)
      {
-        min = efl_gfx_size_hint_combined_min_get(opt->obj);
+        evas_object_size_hint_combined_min_get(opt->obj, &mnw, &mnh);
 
-        linew += min.w;
-        if (lineh < min.h) lineh = min.h;
+        linew += mnw;
+        if (lineh < mnh) lineh = mnh;
 
         if (linew > w)
           {
-             linew = min.w;
+             linew = mnw;
              line_num++;
           }
 
         if ((linew != 0) && (l != eina_list_last(priv->children)))
           linew += priv->pad.h;
      }
-   box_min.h = lineh * line_num + (line_num - 1) * priv->pad.v;
+   minh = lineh * line_num + (line_num - 1) * priv->pad.v;
 
-   evas_object_size_hint_min_set(box, box_min.w, box_min.h);
+   evas_object_size_hint_min_set(box, minw, minh);
    *line_height = lineh;
 
    return EINA_TRUE;
@@ -1425,8 +1407,7 @@ _box_layout_cb(Evas_Object *o,
                void *data)
 {
    Evas_Coord x, y, w, h, xx, yy;
-   Evas_Coord linew = 0, lineh = 0;
-   Eina_Size2D min;
+   Evas_Coord minw, minh, linew = 0, lineh = 0;
    Evas_Object_Box_Option *opt;
    const Eina_List *l, *l_next;
    Evas_Object *obj;
@@ -1437,21 +1418,21 @@ _box_layout_cb(Evas_Object *o,
 
    evas_object_geometry_get(o, &x, &y, &w, &h);
 
-   min = efl_gfx_size_hint_combined_min_get(o);
+   evas_object_size_hint_combined_min_get(o, &minw, &minh);
    evas_object_size_hint_align_get(o, &ax, &ay);
 
    rtl = efl_ui_mirrored_get(data);
    if (rtl) ax = 1.0 - ax;
 
-   if (w < min.w)
+   if (w < minw)
      {
-        x = x + ((w - min.w) * (1.0 - ax));
-        w = min.w;
+        x = x + ((w - minw) * (1.0 - ax));
+        w = minw;
      }
-   if (h < min.h)
+   if (h < minh)
      {
-        y = y + ((h - min.h) * (1.0 - ay));
-        h = min.h;
+        y = y + ((h - minh) * (1.0 - ay));
+        h = minh;
      }
 
    xx = x;
@@ -1459,7 +1440,7 @@ _box_layout_cb(Evas_Object *o,
 
    EINA_LIST_FOREACH_SAFE(priv->children, l, l_next, opt)
      {
-        Eina_Size2D obj_min;
+        Evas_Coord mnw, mnh;
         Evas_Coord ww, hh, ow, oh;
         double wx, wy;
         int fw, fh;
@@ -1467,14 +1448,14 @@ _box_layout_cb(Evas_Object *o,
         obj = opt->obj;
         evas_object_size_hint_align_get(obj, &ax, &ay);
         evas_object_size_hint_weight_get(obj, &wx, &wy);
-        obj_min = efl_gfx_size_hint_combined_min_get(obj);
+        evas_object_size_hint_combined_min_get(obj, &mnw, &mnh);
 
         fw = fh = EINA_FALSE;
         if (EINA_DBL_EQ(ax, -1)) {fw = 1; ax = 0.5; }
         if (EINA_DBL_EQ(ay, -1)) {fh = 1; ay = 0.5; }
         if (rtl) ax = 1.0 - ax;
 
-        ww = obj_min.w;
+        ww = mnw;
         if (!EINA_DBL_EQ(wx, 0))
           {
              if (ww <= w - linew) ww = w - linew;
@@ -1482,9 +1463,9 @@ _box_layout_cb(Evas_Object *o,
           }
         hh = lineh;
 
-        ow = obj_min.w;
+        ow = mnw;
         if (fw) ow = ww;
-        oh = obj_min.h;
+        oh = mnh;
         if (fh) oh = hh;
 
         linew += ww;
@@ -1522,7 +1503,7 @@ _box_layout_cb(Evas_Object *o,
 }
 
 static void
-_view_init(Evas_Object *obj, Efl_Ui_Multibuttonentry_Data *sd)
+_view_init(Evas_Object *obj, Elm_Multibuttonentry_Data *sd)
 {
    const char *str;
    double pad_scale;
@@ -1602,7 +1583,6 @@ _view_init(Evas_Object *obj, Efl_Ui_Multibuttonentry_Data *sd)
    evas_object_size_hint_weight_set
      (sd->entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(sd->entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
    elm_box_pack_end(sd->box, sd->entry);
    evas_object_show(sd->entry);
    //
@@ -1634,7 +1614,7 @@ _view_init(Evas_Object *obj, Efl_Ui_Multibuttonentry_Data *sd)
 }
 
 static void
-_efl_ui_multibuttonentry_text_set(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED, const char *part, const char *label)
+_elm_multibuttonentry_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, const char *part, const char *label)
 {
    if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
      {
@@ -1648,8 +1628,8 @@ _efl_ui_multibuttonentry_text_set(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA
      efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
 }
 
-static const char*
-_efl_ui_multibuttonentry_text_get(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd, const char *part)
+EOLIAN static const char*
+_elm_multibuttonentry_text_get(Eo *obj, Elm_Multibuttonentry_Data *sd, const char *part)
 {
    const char *text = NULL;
 
@@ -1675,7 +1655,7 @@ _access_info_cb(void *data EINA_UNUSED, Evas_Object *obj)
    Eina_List *l = NULL;
    Elm_Object_Item *eo_item;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(obj, sd, NULL);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(obj, sd, NULL);
 
    if (sd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT)
      {
@@ -1707,7 +1687,7 @@ _access_info_cb(void *data EINA_UNUSED, Evas_Object *obj)
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Multibuttonentry_Data *priv)
+_elm_multibuttonentry_efl_canvas_group_group_add(Eo *obj, Elm_Multibuttonentry_Data *priv)
 {
    ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
@@ -1727,8 +1707,7 @@ _efl_ui_multibuttonentry_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Multibuttone
    priv->last_it_select = EINA_TRUE;
    priv->editable = EINA_TRUE;
    priv->parent = obj;
-
-   efl_ui_format_string_set(obj, "+%d");
+          priv->format_func = _format_count;
 
    _view_init(obj, priv);
    _callbacks_register(obj);
@@ -1742,7 +1721,7 @@ _efl_ui_multibuttonentry_efl_canvas_group_group_add(Eo *obj, Efl_Ui_Multibuttone
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_efl_canvas_group_group_del(Eo *obj, Elm_Multibuttonentry_Data *sd)
 {
    Eina_List *l;
    Elm_Object_Item *eo_item;
@@ -1764,9 +1743,6 @@ _efl_ui_multibuttonentry_efl_canvas_group_group_del(Eo *obj, Efl_Ui_Multibuttone
    evas_object_del(sd->end);
    ecore_timer_del(sd->longpress_timer);
 
-   efl_ui_format_cb_set(obj, NULL, NULL, NULL);
-   eina_strbuf_free(sd->format_strbuf);
-
    EINA_LIST_FREE(sd->filter_list, _item_filter)
      _filter_free(_item_filter);
 
@@ -1779,7 +1755,7 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
    Eina_List *l;
    Elm_Object_Item *it;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
 
    /* label */
    _access_multibuttonentry_label_register(obj, is_access);
@@ -1809,10 +1785,17 @@ _atspi_obj_process(Evas_Object *obj, Eina_Bool is_atspi)
 //
 
 EOLIAN static void
-_efl_ui_multibuttonentry_efl_ui_widget_on_access_update(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool acs)
+_elm_multibuttonentry_efl_ui_widget_on_access_update(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool acs)
+{
+   _elm_multibuttonentry_smart_focus_next_enable = acs;
+   _access_obj_process(obj, _elm_multibuttonentry_smart_focus_next_enable);
+}
+
+EAPI Evas_Object *
+elm_multibuttonentry_add(Evas_Object *parent)
 {
-   _efl_ui_multibuttonentry_smart_focus_next_enable = acs;
-   _access_obj_process(obj, _efl_ui_multibuttonentry_smart_focus_next_enable);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
+   return efl_add(MY_CLASS, parent, efl_canvas_object_legacy_ctor(efl_added));
 }
 
 //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
@@ -1834,7 +1817,7 @@ _legacy_focused(void *data, const Efl_Event *ev)
 {
    Efl_Ui_Focus_Object *new_focus;
    Eina_Bool meaningful_focus_in = EINA_FALSE, meaningful_focus_out = EINA_FALSE;
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET(data, pd);
+   ELM_MULTIBUTTONENTRY_DATA_GET(data, pd);
 
    new_focus = efl_ui_focus_manager_focus_get(ev->object);
 
@@ -1867,7 +1850,7 @@ _legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
 }
 
 EOLIAN static Eo *
-_efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED)
+_elm_multibuttonentry_efl_object_constructor(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED)
 {
    obj = efl_constructor(efl_super(obj, MY_CLASS));
    evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
@@ -1880,20 +1863,31 @@ _efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry
 }
 
 EOLIAN static Evas_Object*
-_efl_ui_multibuttonentry_entry_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_entry_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return sd->entry;
 }
 
 EOLIAN static Eina_Bool
-_efl_ui_multibuttonentry_expanded_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_expanded_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK ?
           EINA_FALSE : EINA_TRUE;
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_expanded_set(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd, Eina_Bool expanded)
+_elm_multibuttonentry_format_function_set(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Format_Cb f_func, const void *data)
+{
+   sd->format_func = f_func;
+   if (!sd->format_func) sd->format_func = _format_count;
+
+   sd->format_func_data = data;
+
+   _view_update(sd);
+}
+
+EOLIAN static void
+_elm_multibuttonentry_expanded_set(Eo *obj, Elm_Multibuttonentry_Data *sd, Eina_Bool expanded)
 {
    if (((sd->view_state == MULTIBUTTONENTRY_VIEW_SHRINK) ?
         EINA_FALSE : EINA_TRUE) == expanded) return;
@@ -1905,7 +1899,7 @@ _efl_ui_multibuttonentry_expanded_set(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd,
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_editable_set(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Eina_Bool editable)
+_elm_multibuttonentry_editable_set(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Eina_Bool editable)
 {
    editable = !!editable;
    if (sd->editable == editable) return;
@@ -1924,55 +1918,55 @@ _efl_ui_multibuttonentry_editable_set(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonent
 }
 
 EOLIAN static Eina_Bool
-_efl_ui_multibuttonentry_editable_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_editable_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return sd->editable;
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_item_prepend(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
+_elm_multibuttonentry_item_prepend(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
 {
    return _item_new(sd, label, MULTIBUTTONENTRY_POS_START, NULL, func, data);
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_item_append(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
+_elm_multibuttonentry_item_append(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, const char *label, Evas_Smart_Cb func, void *data)
 {
    return _item_new(sd, label, MULTIBUTTONENTRY_POS_END, NULL, func, data);
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_item_insert_before(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Elm_Object_Item *before, const char *label, Evas_Smart_Cb func, void *data)
+_elm_multibuttonentry_item_insert_before(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Object_Item *before, const char *label, Evas_Smart_Cb func, void *data)
 {
    return _item_new(sd, label, MULTIBUTTONENTRY_POS_BEFORE, before, func, data);
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_item_insert_after(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Elm_Object_Item *after, const char *label, Evas_Smart_Cb func, void *data)
+_elm_multibuttonentry_item_insert_after(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Object_Item *after, const char *label, Evas_Smart_Cb func, void *data)
 {
    return _item_new(sd, label, MULTIBUTTONENTRY_POS_AFTER, after, func, data);
 }
 
 EOLIAN static const Eina_List*
-_efl_ui_multibuttonentry_items_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_items_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return sd->items;
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_first_item_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_first_item_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return eina_list_data_get(sd->items);
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_last_item_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_last_item_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return eina_list_data_get(eina_list_last(sd->items));
 }
 
 EOLIAN static Elm_Object_Item*
-_efl_ui_multibuttonentry_selected_item_get(const Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_selected_item_get(const Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    return EO_OBJ(sd->selected_it);
 }
@@ -1990,7 +1984,7 @@ EOLIAN static Eina_Bool
 _elm_multibuttonentry_item_selected_get(const Eo *eo_item,
                                         Elm_Multibuttonentry_Item_Data *item)
 {
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE);
    if (!eo_item) return EINA_FALSE;
    if (EO_OBJ(sd->selected_it) == eo_item)
       return EINA_TRUE;
@@ -1999,10 +1993,10 @@ _elm_multibuttonentry_item_selected_get(const Eo *eo_item,
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_clear(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_clear(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
 {
    while (sd->items)
-     efl_del(eina_list_data_get(sd->items));
+     elm_object_item_del(eina_list_data_get(sd->items));
 
    sd->selected_it = NULL;
    _view_update(sd);
@@ -2015,7 +2009,7 @@ _elm_multibuttonentry_item_prev_get(const Eo *eo_it,
    Eina_List *l;
    Elm_Object_Item *eo_temp_it;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
 
    EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
      {
@@ -2036,7 +2030,7 @@ _elm_multibuttonentry_item_next_get(const Eo *eo_it,
    Eina_List *l;
    Elm_Object_Item *eo_temp_it;
 
-   EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
+   ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(WIDGET(it), sd, NULL);
 
    EINA_LIST_FOREACH(sd->items, l, eo_temp_it)
      {
@@ -2076,7 +2070,7 @@ elm_multibuttonentry_item_data_set(Elm_Object_Item *it,
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_item_filter_append(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
+_elm_multibuttonentry_item_filter_append(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 {
    Elm_Multibuttonentry_Item_Filter *new_item_filter = NULL;
    Elm_Multibuttonentry_Item_Filter *_item_filter = NULL;
@@ -2100,7 +2094,7 @@ _efl_ui_multibuttonentry_item_filter_append(Eo *obj EINA_UNUSED, Efl_Ui_Multibut
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_item_filter_prepend(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
+_elm_multibuttonentry_item_filter_prepend(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 {
    Elm_Multibuttonentry_Item_Filter *new_item_filter = NULL;
    Elm_Multibuttonentry_Item_Filter *_item_filter = NULL;
@@ -2125,7 +2119,7 @@ _efl_ui_multibuttonentry_item_filter_prepend(Eo *obj EINA_UNUSED, Efl_Ui_Multibu
 }
 
 EOLIAN static void
-_efl_ui_multibuttonentry_item_filter_remove(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
+_elm_multibuttonentry_item_filter_remove(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd, Elm_Multibuttonentry_Item_Filter_Cb func, void *data)
 {
    Eina_List *l;
    Elm_Multibuttonentry_Item_Filter *item_filter;
@@ -2144,32 +2138,17 @@ _efl_ui_multibuttonentry_item_filter_remove(Eo *obj EINA_UNUSED, Efl_Ui_Multibut
      }
 }
 
-EOLIAN static void
-_efl_ui_multibuttonentry_efl_ui_format_format_cb_set(Eo *obj EINA_UNUSED, Efl_Ui_Multibuttonentry_Data *sd, void *func_data, Efl_Ui_Format_Func_Cb func, Eina_Free_Cb func_free_cb)
-{
-   if (sd->format_cb_data == func_data && sd->format_cb == func)
-     return;
-
-   if (sd->format_cb_data && sd->format_free_cb)
-     sd->format_free_cb(sd->format_cb_data);
-
-   sd->format_cb = func;
-   sd->format_cb_data = func_data;
-   sd->format_free_cb = func_free_cb;
-   if (!sd->format_strbuf) sd->format_strbuf = eina_strbuf_new();
-
-   _view_update(sd);
-}
-
 static void
-_efl_ui_multibuttonentry_class_constructor(Efl_Class *klass EINA_UNUSED)
+_elm_multibuttonentry_class_constructor(Efl_Class *klass)
 {
+   evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
+
    if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
-     _efl_ui_multibuttonentry_smart_focus_next_enable = EINA_TRUE;
+      _elm_multibuttonentry_smart_focus_next_enable = EINA_TRUE;
 }
 
 EOLIAN static Eina_List*
-_efl_ui_multibuttonentry_efl_access_access_children_get(const Eo *obj, Efl_Ui_Multibuttonentry_Data *sd)
+_elm_multibuttonentry_efl_access_access_children_get(const Eo *obj, Elm_Multibuttonentry_Data *sd)
 {
    Eina_List *ret = NULL;
    //TIZEN_ONLY(20160527) : Improve MBE atspi support
@@ -2234,7 +2213,7 @@ _key_action_longpress(Eo *obj, const char *params EINA_UNUSED)
 {
    ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(obj, it);
    efl_event_callback_legacy_call
-     (WIDGET(it), EFL_UI_MULTIBUTTONENTRY_EVENT_ITEM_LONGPRESSED, obj);
+     (WIDGET(it), ELM_MULTIBUTTONENTRY_EVENT_ITEM_LONGPRESSED, obj);
    return EINA_TRUE;
 }
 
@@ -2250,98 +2229,19 @@ _elm_multibuttonentry_item_efl_access_widget_action_elm_actions_get(const Eo *ob
    return &atspi_actions[0];
 }
 
-static Eina_Bool
-_part_is_efl_ui_multibutton_entry_part(const Eo *obj, const char *part)
-{
-   return (((elm_widget_is_legacy(obj)) && (eina_streq(part, "default"))) ||
-            (eina_streq(part, "guide")));
-}
+/* Efl.Part begin */
 
-ELM_PART_OVERRIDE_PARTIAL(efl_ui_multibuttonentry, EFL_UI_MULTIBUTTONENTRY,
-  Efl_Ui_Multibuttonentry_Data, _part_is_efl_ui_multibutton_entry_part)
-ELM_PART_OVERRIDE_TEXT_SET(efl_ui_multibuttonentry, EFL_UI_MULTIBUTTONENTRY, Efl_Ui_Multibuttonentry_Data)
-ELM_PART_OVERRIDE_TEXT_GET(efl_ui_multibuttonentry, EFL_UI_MULTIBUTTONENTRY, Efl_Ui_Multibuttonentry_Data)
-#include "efl_ui_multibuttonentry_part.eo.c"
+ELM_PART_OVERRIDE(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
+ELM_PART_OVERRIDE_TEXT_SET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
+ELM_PART_OVERRIDE_TEXT_GET(elm_multibuttonentry, ELM_MULTIBUTTONENTRY, Elm_Multibuttonentry_Data)
+#include "elm_multibuttonentry_part.eo.c"
 
 /* Efl.Part end */
 /* Internal EO APIs and hidden overrides */
 
-#define EFL_UI_MULTIBUTTONENTRY_EXTRA_OPS \
-   ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_multibuttonentry), \
-   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_multibuttonentry)
+#define ELM_MULTIBUTTONENTRY_EXTRA_OPS \
+   ELM_LAYOUT_SIZING_EVAL_OPS(elm_multibuttonentry), \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_multibuttonentry)
 
 #include "elm_multibuttonentry_item.eo.c"
-#include "efl_ui_multibuttonentry.eo.c"
-
-#include "efl_ui_multibuttonentry_legacy.eo.h"
-#define MY_CLASS_NAME_LEGACY "elm_multibuttonentry"
-
-static void
-_efl_ui_multibuttonentry_legacy_class_constructor(Efl_Class *klass)
-{
-   evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
-}
-
-EOLIAN static Eo *
-_efl_ui_multibuttonentry_legacy_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
-{
-   obj = efl_constructor(efl_super(obj, EFL_UI_MULTIBUTTONENTRY_LEGACY_CLASS));
-   efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
-   return obj;
-}
-
-EAPI Evas_Object *
-elm_multibuttonentry_add(Evas_Object *parent)
-{
-   EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
-   return elm_legacy_add(EFL_UI_MULTIBUTTONENTRY_LEGACY_CLASS, parent);
-}
-
-/* Legacy APIs */
-
-typedef struct
-{
-   Elm_Multibuttonentry_Format_Cb format_cb;
-   void *data;
-} Mbe_Format_Wrapper_Data ;
-
-static void
-_format_legacy_to_format_eo_cb(void *data, Eina_Strbuf *str, const Eina_Value value)
-{
-   Mbe_Format_Wrapper_Data *mfwd = data;
-   char *buf;
-   int count = 0;
-
-   const Eina_Value_Type *type = eina_value_type_get(&value);
-
-   if (type == EINA_VALUE_TYPE_INT)
-     eina_value_get(&value, &count);
-
-   buf = mfwd->format_cb(count, mfwd->data);
-   if (buf)
-     eina_strbuf_append(str, buf);
-   free(buf);
-}
-
-static void
-_format_legacy_to_format_eo_free_cb(void *data)
-{
-   Mbe_Format_Wrapper_Data *mfwd = data;
-
-   free(mfwd);
-}
-
-EAPI void
-elm_multibuttonentry_format_function_set(Eo *obj, Elm_Multibuttonentry_Format_Cb format_function, const void *data)
-{
-   Mbe_Format_Wrapper_Data *mfwd = malloc(sizeof(Mbe_Format_Wrapper_Data));
-
-   mfwd->format_cb = format_function;
-   if (!mfwd->format_cb) mfwd->format_cb = _format_count;
-
-   mfwd->data = (void *)data;
-
-   efl_ui_format_cb_set(obj, mfwd, _format_legacy_to_format_eo_cb, _format_legacy_to_format_eo_free_cb);
-}
-
-#include "efl_ui_multibuttonentry_legacy.eo.c"
+#include "elm_multibuttonentry.eo.c"
index b878f78..75fe7a1 100644 (file)
@@ -59,7 +59,7 @@
 
 #include "elc_multibuttonentry_common.h"
 #ifdef EFL_EO_API_SUPPORT
-#include "efl_ui_multibuttonentry_eo.h"
+#include "elc_multibuttonentry_eo.h"
 #endif
 #ifndef EFL_NOLEGACY_API_SUPPORT
 #include "elc_multibuttonentry_legacy.h"
@@ -1,2 +1,2 @@
 #include "elm_multibuttonentry_item.eo.h"
-#include "efl_ui_multibuttonentry.eo.h"
+#include "elm_multibuttonentry.eo.h"
similarity index 89%
rename from src/lib/elementary/efl_ui_multibuttonentry.eo
rename to src/lib/elementary/elm_multibuttonentry.eo
index 0f92405..ec12759 100644 (file)
@@ -1,10 +1,12 @@
 type Elm_Multibuttonentry_Item_Filter_Cb: __undefined_type; [[Elementary multibuttonentry item filter callback type]]
-type Efl_Ui_Multibuttonentry_Format_Cb: __undefined_type; [[Elementary multibuttonentry format callback type]]
+type Elm_Multibuttonentry_Format_Cb: __undefined_type; [[Elementary multibuttonentry format callback type]]
 
-class Efl.Ui.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Format)
+class Elm.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable)
 {
    [[Elementary multibuttonentry class]]
    legacy_prefix: elm_multibuttonentry;
+   eo_prefix: elm_obj_multibuttonentry;
+   event_prefix: elm_multibuttonentry;
    methods {
       @property editable {
          [[Control if the multibuttonentry is to be editable or not.
@@ -29,7 +31,21 @@ class Efl.Ui.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Format)
          }
          values {
             expanded: bool; [[The value of expanded state. Set this to $true for expanded state. Set
-                       this to $false for single line state.]]
+                            this to $false for single line state.]]
+         }
+      }
+      @property format_function {
+         set {
+            [[Set a function to format the string that will be used to display the hidden items counter.
+
+              If $format_function is $NULL, the default format will be used,
+              which is $"... + %d".
+
+              @since 1.9]]
+         }
+         values {
+            format_function: Elm_Multibuttonentry_Format_Cb @nullable; [[Format_function The actual format function]]
+            data: const(void_ptr) @optional; [[Data User data to passed to $format_function]]
          }
       }
       @property items {
@@ -166,15 +182,14 @@ class Efl.Ui.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Format)
       Efl.Ui.Widget.on_access_update;
       Efl.Ui.Translatable.translation_update;
       Efl.Ui.Widget.widget_event;
+      Efl.Access.access_children { get; }
+      Efl.Part.part;
       //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
       //register/unregister access objects accordingly.
       // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
       Efl.Ui.Widget.screen_reader;
       //
       //
-      Efl.Access.access_children { get; }
-      Efl.Part.part;
-      Efl.Ui.Format.format_cb { set; }
    }
    events {
       item,selected; [[Called when item was selected]]
@@ -1,4 +1,4 @@
-class Efl.Ui.Multibuttonentry.Part (Efl.Ui.Layout.Part_Text)
+class Elm.Multibuttonentry.Part (Efl.Ui.Layout.Part_Legacy)
 {
    [[Elementary multibuttonentry internal part class]]
    data: null;
@@ -70,9 +70,9 @@ typedef struct _Elm_Multibuttonentry_Item_Filter
    void                               *data;
 } Elm_Multibuttonentry_Item_Filter;
 
-typedef struct _Efl_Ui_Multibuttonentry_Data
-  Efl_Ui_Multibuttonentry_Data;
-struct _Efl_Ui_Multibuttonentry_Data
+typedef struct _Elm_Multibuttonentry_Data
+  Elm_Multibuttonentry_Data;
+struct _Elm_Multibuttonentry_Data
 {
    Evas_Object                        *parent;
    Evas_Object                        *box;
@@ -94,6 +94,9 @@ struct _Efl_Ui_Multibuttonentry_Data
    Elm_Multibuttonentry_Item_Data     *selected_it; /* selected item */
    Elm_Multibuttonentry_Item_Data     *focused_it;
 
+   Elm_Multibuttonentry_Format_Cb      format_func;
+   const void                         *format_func_data;
+
    const char                         *label_str, *guide_text_str;
 
    int                                 n_str;
@@ -113,7 +116,7 @@ struct _Efl_Ui_Multibuttonentry_Data
 
    Eina_Bool                           last_it_select : 1;
    Eina_Bool                           editable : 1;
-   Eina_Bool                           focused : 1;
+   Eina_Bool                           focused : 1; // avoids infinite loop on focus in/out
    Eina_Bool                           label_packed : 1;
 };
 
@@ -121,11 +124,11 @@ struct _Efl_Ui_Multibuttonentry_Data
  * @}
  */
 
-#define EFL_UI_MULTIBUTTONENTRY_DATA_GET(o, sd) \
-  Efl_Ui_Multibuttonentry_Data *sd = efl_data_scope_get(o, EFL_UI_MULTIBUTTONENTRY_CLASS);
+#define ELM_MULTIBUTTONENTRY_DATA_GET(o, sd) \
+  Elm_Multibuttonentry_Data *sd = efl_data_scope_get(o, ELM_MULTIBUTTONENTRY_CLASS);
 
-#define EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(o, ptr) \
-  EFL_UI_MULTIBUTTONENTRY_DATA_GET(o, ptr);                \
+#define ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(o, ptr) \
+  ELM_MULTIBUTTONENTRY_DATA_GET(o, ptr);                \
   if (EINA_UNLIKELY(!ptr))                              \
     {                                                   \
        ERR("No widget data for object %p (%s)",         \
@@ -133,8 +136,8 @@ struct _Efl_Ui_Multibuttonentry_Data
        return;                                          \
     }
 
-#define EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
-  Efl_Ui_Multibuttonentry_Data * ptr = efl_data_scope_get(o, EFL_UI_MULTIBUTTONENTRY_CLASS); \
+#define ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
+  Elm_Multibuttonentry_Data * ptr = efl_data_scope_get(o, ELM_MULTIBUTTONENTRY_CLASS); \
   if (EINA_UNLIKELY(!ptr))                                       \
     {                                                            \
        ERR("No widget data for object %p (%s)",                  \