From: Shilpa Singh Date: Thu, 17 Nov 2011 05:20:44 +0000 (+0530) Subject: [elm_searchbar]: edje externals updated. X-Git-Tag: REL_F_I9500_20111206_1~16^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7cfd76de0cb34d3cc146efd23881890a4ec8e24;hp=1743e43773ac4f78db65e854858b68fab96aa594;p=framework%2Fuifw%2Felementary.git [elm_searchbar]: edje externals updated. --- diff --git a/src/edje_externals/elm_searchbar.c b/src/edje_externals/elm_searchbar.c index 274d079..65b888c 100644 --- a/src/edje_externals/elm_searchbar.c +++ b/src/edje_externals/elm_searchbar.c @@ -3,8 +3,13 @@ typedef struct _Elm_Params_Searchbar { Elm_Params base; + Eina_Bool cancel_button_exists:1; + Eina_Bool cancel_button_visible:1; Eina_Bool cancel_button_animation:1; Eina_Bool cancel_button_animation_exists:1; + Eina_Bool boundary_rect_exists:1; + Eina_Bool boundary_rect:1; + const char *text; } Elm_Params_Searchbar; static void @@ -16,21 +21,50 @@ external_searchbar_state_set(void *data __UNUSED__, Evas_Object *obj, const void else if (from_params) p = from_params; else return; + if (p->cancel_button_exists) + elm_searchbar_cancel_button_set(obj, p->cancel_button_visible); if (p->cancel_button_animation_exists) elm_searchbar_cancel_button_animation_set(obj, p->cancel_button_animation); + if (p->boundary_rect_exists) + elm_searchbar_boundary_rect_set(obj, p->boundary_rect); + if (p->text) + elm_object_text_set(obj, p->text); } static Eina_Bool external_searchbar_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_External_Param *param) { - - if (!strcmp(param->name, "cancel_button_animation")) + if (!strcmp(param->name, "cancel_button_visible")) { - if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) - { - elm_searchbar_cancel_button_animation_set(obj, param->i); - return EINA_TRUE; - } + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + elm_searchbar_cancel_button_set(obj, param->i); + return EINA_TRUE; + } + } + else if (!strcmp(param->name, "cancel_button_animation")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + elm_searchbar_cancel_button_animation_set(obj, param->i); + return EINA_TRUE; + } + } + else if (!strcmp(param->name, "boundary_rect")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + elm_searchbar_boundary_rect_set(obj, param->i); + return EINA_TRUE; + } + } + else if (!strcmp(param->name, "text")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING) + { + elm_object_text_set(obj, param->s); + return EINA_TRUE; + } } ERR("unknown parameter '%s' of type '%s'", @@ -42,13 +76,35 @@ external_searchbar_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje static Eina_Bool external_searchbar_param_get(void *data __UNUSED__, const Evas_Object *obj __UNUSED__, Edje_External_Param *param) { - if (!strcmp(param->name, "cancel_button_animation")) + if (!strcmp(param->name, "cancel_button_visible")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + return param->i; + } + } + else if (!strcmp(param->name, "cancel_button_animation")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) + { + return param->i; + } + } + else if (!strcmp(param->name, "boundary_rect")) { if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL) { return param->i; } } + else if (!strcmp(param->name, "text")) + { + if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING) + { + param->s = elm_object_text_get(obj); + return EINA_TRUE; + } + } ERR("unknown parameter '%s' of type '%s'", param->name, edje_external_param_type_str(param->type)); @@ -71,11 +127,25 @@ external_searchbar_params_parse(void *data __UNUSED__, EINA_LIST_FOREACH(params, l, param) { + if (!strcmp(param->name, "cancel_button_visible")) + { + mem->cancel_button_visible = !!param->i; + mem->cancel_button_exists = EINA_TRUE; + } if (!strcmp(param->name, "cancel_button_animation")) { mem->cancel_button_animation = !!param->i; mem->cancel_button_animation_exists = EINA_TRUE; } + if (!strcmp(param->name, "boundary_rect")) + { + mem->boundary_rect = !!param->i; + mem->boundary_rect_exists = EINA_TRUE; + } + else if (!strcmp(param->name, "text")) + { + mem->text = eina_stringshare_add(param->s); + } } return mem; @@ -92,12 +162,18 @@ static Evas_Object *external_searchbar_content_get(void *data __UNUSED__, static void external_searchbar_params_free(void *params) { + Elm_Params_Searchbar *mem = params; + if (mem->text) + eina_stringshare_del(mem->text); free(params); } static Edje_External_Param_Info external_searchbar_params[] = { DEFINE_EXTERNAL_COMMON_PARAMS, + EDJE_EXTERNAL_PARAM_INFO_BOOL("cancel_button_visible"), EDJE_EXTERNAL_PARAM_INFO_BOOL("cancel_button_animation"), + EDJE_EXTERNAL_PARAM_INFO_BOOL("boundary_rect"), + EDJE_EXTERNAL_PARAM_INFO_STRING("text"), EDJE_EXTERNAL_PARAM_INFO_SENTINEL };