2018-04-30 12:59 GMT+02:00 조재현 <[email protected]>:

> Dear Davide Andreoli,
>
> Sorry for inconvenience.
> I fixed the make check fail by the commit ec59f8053a9a7ee7ff848a1bab1d0d
> 980d914bc3
>
> Best Regards,
> Jaehyun Cho.
>

Great thanks :)


>
> -----Original Message-----
> From: "Davide Andreoli"<[email protected]>
> To: "Enlightenment developer list"<enlightenment-devel@
> lists.sourceforge.net>;
> Cc:
> Sent: 2018-04-28 (토) 19:51:17
> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: Revert
> Efl.Ui.Multibuttonentry to create new one.
>
> I think this one broke 'make check'
>
> The full test suite is now failing at:
> tests/elementary/elm_test_multibuttonentry.c:20:F:elm_
> multibuttonentry_legacy_type_check:0:
>
> Assertion '!strcmp(type, "Elm_Multibuttonentry")' failed
>
> I'm not really sure this is the correct commit to blame, but it's the first
> one under my look.
>
>
> 2018-04-19 15:29 GMT+02:00 Woochan Lee <[email protected]>:
>
> > jaehyun pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=
> > 939690a8a99b04d9e67b6b90bc80de639a7e8941
> >
> > commit 939690a8a99b04d9e67b6b90bc80de639a7e8941
> > Author: Woochan Lee <[email protected]>
> > Date:   Thu Apr 19 22:20:29 2018 +0900
> >
> >     Revert Efl.Ui.Multibuttonentry to create new one.
> >
> >     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                                     |   2 +-
> >  src/Makefile_Elementary.am                         |  11 +-
> >  src/bin/elementary/test_part_bg.c                  |  33 +-
> >  src/lib/elementary/efl_ui_multibuttonentry.h       |  68 ---
> >  ...i_multibuttonentry.c => elc_multibuttonentry.c} | 466
> > +++++++++------------
> >  src/lib/elementary/elc_multibuttonentry.h          |   2 +-
> >  ...ibuttonentry_eo.h => elc_multibuttonentry_eo.h} |   2 +-
> >  ...multibuttonentry.eo => elm_multibuttonentry.eo} |  33 +-
> >  ...nentry_part.eo => elm_multibuttonentry_part.eo} |   2 +-
> >  ...try_private.h => elm_widget_multibuttonentry.h} |  23 +-
> >  10 files changed, 248 insertions(+), 394 deletions(-)
> >
> > diff --git a/po/POTFILES.in b/po/POTFILES.in
> > index 425f35c5ad..4c906e905b 100644
> > --- a/po/POTFILES.in
> > +++ b/po/POTFILES.in
> > @@ -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
> > diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
> > index 02008ee6e1..0ae0a2d21b 100644
> > --- a/src/Makefile_Elementary.am
> > +++ b/src/Makefile_Elementary.am
> > @@ -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 \
> > @@ -150,7 +148,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 \
> > @@ -182,6 +179,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 \
> > @@ -197,6 +195,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 \
> > @@ -348,7 +347,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 \
> > @@ -389,7 +388,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 \
> > @@ -416,7 +414,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 \
> > @@ -624,7 +621,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 \
> > diff --git a/src/bin/elementary/test_part_bg.c
> b/src/bin/elementary/test_
> > part_bg.c
> > index ce54e105f7..807dbe9bf2 100644
> > --- a/src/bin/elementary/test_part_bg.c
> > +++ b/src/bin/elementary/test_part_bg.c
> > @@ -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
> > index 3d9a75912d..0000000000
> > --- a/src/lib/elementary/efl_ui_multibuttonentry.h
> > +++ /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
> > -/**
> > - * @}
> > - */
> > diff --git a/src/lib/elementary/efl_ui_multibuttonentry.c
> > b/src/lib/elementary/elc_multibuttonentry.c
> > similarity index 79%
> > rename from src/lib/elementary/efl_ui_multibuttonentry.c
> > rename to src/lib/elementary/elc_multibuttonentry.c
> > index 2a504374bd..25cf78256d 100644
> > --- a/src/lib/elementary/efl_ui_multibuttonentry.c
> > +++ b/src/lib/elementary/elc_multibuttonentry.c
> > @@ -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
> > @@ -55,8 +56,8 @@ static const char PART_NAME_GUIDE_TEXT[] = "guidetext";
> >  static const char PART_NAME_LABEL[] = "label";
> >  static const char PART_NAME_CLOSED_BUTTON[] = "closedbutton";
> >
> > -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);
> > @@ -69,7 +70,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;
> > @@ -90,7 +91,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;
> > @@ -130,7 +131,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);
> > @@ -173,7 +174,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)
> > @@ -187,7 +188,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
> > @@ -204,9 +204,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;
> >            }
> >
> > @@ -216,28 +214,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);
> > @@ -250,12 +246,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);
> > @@ -272,10 +269,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
> >       {
> > @@ -307,36 +302,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
> > @@ -352,13 +347,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;
> > @@ -379,7 +374,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;
> >
> > @@ -390,7 +385,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:
> > @@ -407,7 +402,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"
> > @@ -430,7 +425,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)
> >       {
> > @@ -483,7 +478,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);
> >
> > @@ -494,7 +489,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
> > @@ -508,14 +503,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;
> >            }
> >       }
> > @@ -529,7 +524,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;
> >  }
> > @@ -542,7 +537,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;
> >  }
> > @@ -552,12 +547,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;
> >  }
> > @@ -571,7 +566,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;
> >
> > @@ -588,7 +583,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);
> >  }
> > @@ -610,7 +605,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";
> > @@ -661,7 +656,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");
> > @@ -715,7 +710,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,
> > @@ -729,8 +724,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;
> >
> > @@ -780,14 +774,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);
> > @@ -916,7 +910,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);
> >
> >     if (_elm_config->atspi_mode)
> >       {
> > @@ -930,7 +924,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;
> > @@ -940,7 +934,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;
> >
> > @@ -960,9 +954,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);
> >
> > -   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);
> >  }
> > @@ -973,13 +967,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;
> > @@ -988,10 +981,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)
> >       {
> > @@ -1002,13 +995,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);
> >                 }
> >            }
> >       }
> > @@ -1026,7 +1019,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);
> > @@ -1035,17 +1028,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;
> >
> > -   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))
> >       {
> > @@ -1071,7 +1064,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);
> > @@ -1083,7 +1076,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;
> > @@ -1097,7 +1090,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);
> >                 }
> >            }
> > @@ -1131,7 +1124,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 &&
> > @@ -1145,13 +1138,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;
> >
> > -   str = efl_text_get(sd->entry);
> > +   str = elm_object_text_get(sd->entry);
> >     if (!str) return;
> >
> >     if (strlen(str) &&
> > @@ -1165,7 +1158,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);
> >
> >     elm_layout_signal_callback_add
> > @@ -1193,7 +1186,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;
> >
> > @@ -1225,7 +1218,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;
> >
> > @@ -1271,38 +1264,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;
> > @@ -1314,8 +1305,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;
> > @@ -1326,21 +1316,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;
> > @@ -1348,7 +1338,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;
> > @@ -1356,14 +1346,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;
> > @@ -1371,9 +1361,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;
> > @@ -1411,7 +1401,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;
> > @@ -1441,20 +1431,18 @@ _view_init(Evas_Object *obj,
> > Efl_Ui_Multibuttonentry_Data *sd)
> >     if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
> >       _access_multibuttonentry_label_register(obj, EINA_TRUE);
> >
> > -   sd->entry = efl_add(EFL_UI_TEXT_CLASS, sd->box,
> > -                       efl_text_multiline_set(efl_added, EINA_FALSE),
> > -                       efl_text_set(efl_added, ""),
> > -                       efl_ui_text_cnp_mode_set(efl_added,
> > EFL_SELECTION_FORMAT_MARKUP),
> > -                       efl_ui_text_input_panel_enabled_set(efl_added,
> > EINA_FALSE),
> > -                       efl_ui_text_interactive_editable_set(efl_added,
> > EINA_TRUE),
> > -                       efl_composite_attach(obj, efl_added));
> > -
> > +   sd->entry = elm_entry_add(obj);
> > +   if (!sd->entry) return;
> > +   elm_entry_single_line_set(sd->entry, EINA_TRUE);
> > +   elm_entry_cnp_mode_set(sd->entry, ELM_CNP_MODE_PLAINTEXT);
> > +   elm_object_text_set(sd->entry, "");
> > +   elm_entry_input_panel_enabled_set(sd->entry, EINA_FALSE);
> >     evas_object_size_hint_min_set(sd->entry, MIN_W_ENTRY, 0);
> >     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);
> >
> >     sd->view_state = MULTIBUTTONENTRY_VIEW_ENTRY;
> >
> > @@ -1473,7 +1461,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"))
> >       {
> > @@ -1487,8 +1475,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;
> >
> > @@ -1514,7 +1502,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)
> >       {
> > @@ -1546,7 +1534,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);
> >
> > @@ -1566,8 +1554,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);
> > @@ -1581,7 +1568,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;
> > @@ -1603,9 +1590,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);
> >
> > @@ -1618,7 +1602,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);
> > @@ -1629,10 +1613,17 @@ _access_obj_process(Evas_Object *obj, Eina_Bool
> > is_access)
> >  }
> >
> >  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)
> >  {
> > -   _efl_ui_multibuttonentry_smart_focus_next_enable = acs;
> > -   _access_obj_process(obj, _efl_ui_multibuttonentry_
> > smart_focus_next_enable);
> > +   _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)
> > +{
> > +   EINA_SAFETY_ON_NULL_RETURN_VAL(parent, NULL);
> > +   return efl_add(MY_CLASS, parent, efl_canvas_object_legacy_ctor(
> > efl_added));
> >  }
> >
> >  static void
> > @@ -1640,7 +1631,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);
> >
> > @@ -1673,7 +1664,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);
> > @@ -1686,20 +1677,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;
> > @@ -1711,7 +1713,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;
> > @@ -1730,55 +1732,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);
> >  }
> > @@ -1796,7 +1798,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;
> > @@ -1805,10 +1807,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);
> > @@ -1821,7 +1823,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)
> >       {
> > @@ -1842,7 +1844,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)
> >       {
> > @@ -1882,7 +1884,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;
> > @@ -1906,7 +1908,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;
> > @@ -1931,7 +1933,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;
> > @@ -1950,35 +1952,20 @@ _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;
> > -   ret = efl_access_children_get(efl_super(obj,
> > EFL_UI_MULTIBUTTONENTRY_CLASS));
> > +   ret = efl_access_children_get(efl_super(obj,
> > ELM_MULTIBUTTONENTRY_CLASS));
> >     return eina_list_merge(eina_list_clone(sd->items), ret);
> >  }
> >
> > @@ -2032,7 +2019,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;
> >  }
> >
> > @@ -2048,98 +2035,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"
> > diff --git a/src/lib/elementary/elc_multibuttonentry.h
> > b/src/lib/elementary/elc_multibuttonentry.h
> > index b878f7829c..75fe7a1b99 100644
> > --- a/src/lib/elementary/elc_multibuttonentry.h
> > +++ b/src/lib/elementary/elc_multibuttonentry.h
> > @@ -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"
> > diff --git a/src/lib/elementary/efl_ui_multibuttonentry_eo.h
> > b/src/lib/elementary/elc_multibuttonentry_eo.h
> > similarity index 51%
> > rename from src/lib/elementary/efl_ui_multibuttonentry_eo.h
> > rename to src/lib/elementary/elc_multibuttonentry_eo.h
> > index b6158a8927..4d958bd55b 100644
> > --- a/src/lib/elementary/efl_ui_multibuttonentry_eo.h
> > +++ b/src/lib/elementary/elc_multibuttonentry_eo.h
> > @@ -1,2 +1,2 @@
> >  #include "elm_multibuttonentry_item.eo.h"
> > -#include "efl_ui_multibuttonentry.eo.h"
> > +#include "elm_multibuttonentry.eo.h"
> > diff --git a/src/lib/elementary/efl_ui_multibuttonentry.eo
> > b/src/lib/elementary/elm_multibuttonentry.eo
> > similarity index 86%
> > rename from src/lib/elementary/efl_ui_multibuttonentry.eo
> > rename to src/lib/elementary/elm_multibuttonentry.eo
> > index 388aa0653e..1385c1941f 100644
> > --- a/src/lib/elementary/efl_ui_multibuttonentry.eo
> > +++ b/src/lib/elementary/elm_multibuttonentry.eo
> > @@ -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 {
> > @@ -162,13 +178,12 @@ class Efl.Ui.Multibuttonentry (Efl.Ui.Layout,
> > Efl.Ui.Clickable, Efl.Ui.Format)
> >     implements {
> >        class.constructor;
> >        Efl.Object.constructor;
> > -      Efl.Ui.Widget.theme_apply;
> > -      Efl.Ui.Widget.on_access_update;
> > -      Efl.Ui.Translatable.translation_update;
> > -      Efl.Ui.Widget.widget_event;
> > -      Efl.Access.access_children { get; }
> > +         Efl.Ui.Widget.theme_apply;
> > +         Efl.Ui.Widget.on_access_update;
> > +         Efl.Ui.Translatable.translation_update;
> > +         Efl.Ui.Widget.widget_event;
> > +         Efl.Access.access_children { get; }
> >        Efl.Part.part;
> > -      Efl.Ui.Format.format_cb { set; }
> >     }
> >     events {
> >        item,selected; [[Called when item was selected]]
> > diff --git a/src/lib/elementary/efl_ui_multibuttonentry_part.eo
> > b/src/lib/elementary/elm_multibuttonentry_part.eo
> > similarity index 68%
> > rename from src/lib/elementary/efl_ui_multibuttonentry_part.eo
> > rename to src/lib/elementary/elm_multibuttonentry_part.eo
> > index 111cf18da4..cd2f84943e 100644
> > --- a/src/lib/elementary/efl_ui_multibuttonentry_part.eo
> > +++ b/src/lib/elementary/elm_multibuttonentry_part.eo
> > @@ -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;
> > diff --git a/src/lib/elementary/efl_ui_multibuttonentry_private.h
> > b/src/lib/elementary/elm_widget_multibuttonentry.h
> > similarity index 86%
> > rename from src/lib/elementary/efl_ui_multibuttonentry_private.h
> > rename to src/lib/elementary/elm_widget_multibuttonentry.h
> > index 2d2f1734d1..1da716622b 100644
> > --- a/src/lib/elementary/efl_ui_multibuttonentry_private.h
> > +++ b/src/lib/elementary/elm_widget_multibuttonentry.h
> > @@ -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;
> > @@ -88,6 +88,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;
> > @@ -107,7 +110,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;
> >  };
> >
> > @@ -115,11 +118,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)",         \
> > @@ -127,8 +130,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)",                  \
> >
> > --
> >
> >
> >
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to