From f0dee7602db4e02f19e74b65f38cc643a2b4400f Mon Sep 17 00:00:00 2001 From: Goun Lee Date: Mon, 6 Feb 2012 23:59:07 +0900 Subject: [PATCH] [multibuttonentry]Fixed Nabi[S1-1198]BS occured when edit and add more participant Change-Id: Ie8b9fe91a46d9e288634782e2cd2e532dd2a7adf --- src/lib/Elementary.h.in | 1 + src/lib/elc_multibuttonentry.c | 28 +++++++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index 85047af..11272e8 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -30165,6 +30165,7 @@ extern "C" { EAPI void *elm_multibuttonentry_item_data_get(const Elm_Multibuttonentry_Item *item); EAPI void elm_multibuttonentry_item_data_set(Elm_Multibuttonentry_Item *item, void *data); EAPI void elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttonentry_Item_Verify_Callback func, void *data); + EAPI void elm_multibuttonentry_view_mode(Evas_Object *obj, Eina_Bool view_mode); /** * @} diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c index 325f13f..aa77b19 100644 --- a/src/lib/elc_multibuttonentry.c +++ b/src/lib/elc_multibuttonentry.c @@ -66,6 +66,7 @@ struct _Widget_Data int contracted; Eina_Bool focused: 1; Eina_Bool last_btn_select: 1; + Eina_Bool view_mode; Elm_Multibuttonentry_Item_Verify_Callback add_callback; void *add_callback_data; }; @@ -313,8 +314,11 @@ _set_vis_guidetext(Evas_Object *obj) else { evas_object_hide(wd->guidetext); - elm_box_pack_end(wd->box, wd->entry); - evas_object_show(wd->entry); + if (!wd->view_mode) + { + elm_box_pack_end(wd->box, wd->entry); + evas_object_show(wd->entry); + } if (elm_widget_focus_get(obj) || wd->focused) if (!wd->current) elm_object_focus_set(wd->entry, EINA_TRUE); @@ -845,7 +849,7 @@ _add_button_item(Evas_Object *obj, const char *str, Multibuttonentry_Pos pos, co if (wd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT) _set_vis_guidetext(obj); if (wd->entry) - elm_box_pack_before(wd->box, btn, wd->entry); + if (!wd->view_mode) elm_box_pack_before(wd->box, btn, wd->entry); else elm_box_pack_end(wd->box, btn); } @@ -870,7 +874,7 @@ _add_button_item(Evas_Object *obj, const char *str, Multibuttonentry_Pos pos, co if (wd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT) _set_vis_guidetext(obj); if (wd->entry) - elm_box_pack_before(wd->box, btn, wd->entry); + if (!wd->view_mode) elm_box_pack_before(wd->box, btn, wd->entry); else elm_box_pack_end(wd->box, btn); } @@ -895,7 +899,7 @@ _add_button_item(Evas_Object *obj, const char *str, Multibuttonentry_Pos pos, co if (wd->view_state == MULTIBUTTONENTRY_VIEW_GUIDETEXT) _set_vis_guidetext(obj); if (wd->entry) - elm_box_pack_before(wd->box, btn, wd->entry); + if (!wd->view_mode) elm_box_pack_before(wd->box, btn, wd->entry); else elm_box_pack_end(wd->box, btn); } @@ -1684,3 +1688,17 @@ elm_multibuttonentry_item_verify_callback_set(Evas_Object *obj, Elm_Multibuttone wd->add_callback = func; wd->add_callback_data = data; } + +EAPI void +elm_multibuttonentry_view_mode(Evas_Object *obj, Eina_Bool view_mode) +{ + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + wd->view_mode = view_mode; + + if (view_mode) + { + elm_box_unpack(wd->box, wd->entry); + evas_object_hide(wd->entry); + } +} -- 2.7.4