3 typedef struct _Elm_Params_Naviframe
6 Eina_Bool preserve_on_pop:1;
7 Eina_Bool preserve_on_pop_exists:1;
8 Eina_Bool prev_btn_auto_push:1;
9 Eina_Bool prev_btn_auto_push_exists:1;
10 } Elm_Params_Naviframe;
13 external_naviframe_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params,
14 const void *to_params, float pos __UNUSED__)
16 const Elm_Params_Naviframe *p;
18 if (to_params) p = to_params;
19 else if (from_params) p = from_params;
22 if (p->preserve_on_pop_exists)
23 elm_naviframe_content_preserve_on_pop_set(obj, p->preserve_on_pop);
24 if (p->prev_btn_auto_push_exists)
25 elm_naviframe_prev_btn_auto_pushed_set(obj, p->prev_btn_auto_push);
29 external_naviframe_param_set(void *data __UNUSED__, Evas_Object *obj,
30 const Edje_External_Param *param)
32 if (!strcmp(param->name, "preserve on pop"))
34 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
36 elm_naviframe_content_preserve_on_pop_set(obj, param->i);
40 else if (!strcmp(param->name, "prev btn auto push"))
42 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
44 elm_naviframe_prev_btn_auto_pushed_set(obj, param->i);
49 ERR("unknown parameter '%s' of type '%s'",
50 param->name, edje_external_param_type_str(param->type));
56 external_naviframe_param_get(void *data __UNUSED__, const Evas_Object *obj,
57 Edje_External_Param *param)
59 if (!strcmp(param->name, "preserve on pop"))
61 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
63 param->i = elm_naviframe_content_preserve_on_pop_get(obj);
67 else if (!strcmp(param->name, "prev btn auto push"))
69 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
71 param->i = elm_naviframe_prev_btn_auto_pushed_get(obj);
76 ERR("unknown parameter '%s' of type '%s'",
77 param->name, edje_external_param_type_str(param->type));
83 external_naviframe_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__,
84 const Eina_List *params)
86 Elm_Params_Naviframe *mem;
87 Edje_External_Param *param;
90 mem = ELM_NEW(Elm_Params_Naviframe);
94 EINA_LIST_FOREACH(params, l, param)
96 if (!strcmp(param->name, "preserve on pop"))
98 mem->preserve_on_pop = !!param->i;
99 mem->preserve_on_pop_exists = EINA_TRUE;
101 else if (!strcmp(param->name, "prev btn auto push"))
103 mem->prev_btn_auto_push = !!param->i;
104 mem->prev_btn_auto_push_exists = EINA_TRUE;
111 static Evas_Object *external_naviframe_content_get(void *data __UNUSED__,
112 const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
119 external_naviframe_params_free(void *params)
121 Elm_Params_Naviframe *mem = params;
125 static Edje_External_Param_Info external_naviframe_params[] = {
126 DEFINE_EXTERNAL_COMMON_PARAMS,
127 EDJE_EXTERNAL_PARAM_INFO_BOOL("preserve on pop"),
128 EDJE_EXTERNAL_PARAM_INFO_BOOL("prev btn auto push"),
129 EDJE_EXTERNAL_PARAM_INFO_SENTINEL
132 DEFINE_EXTERNAL_ICON_ADD(naviframe, "naviframe");
133 DEFINE_EXTERNAL_TYPE_SIMPLE(naviframe, "Naviframe");