3 typedef struct _Elm_Params_Icon
10 external_icon_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
12 const Elm_Params_Icon *p;
16 if (to_params) p = to_params;
17 else if (from_params) p = from_params;
22 edje = evas_object_smart_parent_get(obj);
23 edje_object_file_get(edje, &file, NULL);
25 if (!elm_icon_file_set(obj, file, p->icon))
26 elm_icon_standard_set(obj, p->icon);
31 external_icon_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_External_Param *param)
36 if (!strcmp(param->name, "icon"))
38 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
40 edje = evas_object_smart_parent_get(obj);
41 edje_object_file_get(edje, &file, NULL);
43 if (!elm_icon_file_set(obj, file, param->s))
44 elm_icon_standard_set(obj, param->s);
49 ERR("unknown parameter '%s' of type '%s'",
50 param->name, edje_external_param_type_str(param->type));
56 external_icon_param_get(void *data __UNUSED__, const Evas_Object *obj __UNUSED__, Edje_External_Param *param)
58 if (!strcmp(param->name, "icon"))
60 /* not easy to get icon name back from live object */
64 ERR("unknown parameter '%s' of type '%s'",
65 param->name, edje_external_param_type_str(param->type));
71 external_icon_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Eina_List *params)
74 Edje_External_Param *param;
77 mem = ELM_NEW(Elm_Params_Icon);
81 EINA_LIST_FOREACH(params, l, param)
83 if (!strcmp(param->name, "icon"))
85 mem->icon = eina_stringshare_add(param->s);
92 static Evas_Object *external_icon_content_get(void *data __UNUSED__,
93 const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
100 external_icon_params_free(void *params)
102 Elm_Params_Icon *mem = params;
105 eina_stringshare_del(mem->icon);
106 external_common_params_free(params);
109 static Edje_External_Param_Info external_icon_params[] = {
110 DEFINE_EXTERNAL_COMMON_PARAMS,
111 EDJE_EXTERNAL_PARAM_INFO_STRING("icon"),
112 EDJE_EXTERNAL_PARAM_INFO_SENTINEL
115 DEFINE_EXTERNAL_ICON_ADD(icon, "icon");
116 DEFINE_EXTERNAL_TYPE_SIMPLE(icon, "Icon");