Hi all,
I am quite new at using ELF for developing wearable native applications and, after reading the full documentation and examples, there are several issues which I don't know how to fix them... I am not sure what it is wrong..
The idea is quite simple... when the app is launched, a list of several items is displayed. Once the user taps on one of them, a new screen will show up with information. I found an example of a similar app which did this with naviframes and displaying one on top of the other one.
The problem is the list is displayed correctly without using naviframes, but once I try to implement them .. a black screen is displayed with no sign of the list.
typedef struct appdata {
Evas_Object *win;
Evas_Object *conform;
Evas_Object *list;
Evas_Object *nf;
} appdata_s;
Code where the window is created and showed:
ad->win = elm_win_util_standard_add(PACKAGE, PACKAGE);
elm_win_autodel_set(ad->win, EINA_TRUE);
if (elm_win_wm_rotation_supported_get(ad->win)) {
int rots[4] = { 0, 90, 180, 270 };
elm_win_wm_rotation_available_rotations_set(ad->win, (const int *)(&rots), 4);
}
evas_object_smart_callback_add(ad->win, "delete,request", win_delete_request_cb, NULL);
eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad);
Conform:
ad->conform = elm_conformant_add(ad->win);
elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_SHOW);
elm_win_indicator_opacity_set(ad->win, ELM_WIN_INDICATOR_OPAQUE);
evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(ad->win, ad->conform);
evas_object_show(ad->conform);
Naviframe:
ad->nf = elm_naviframe_add(ad->conform);
elm_naviframe_prev_btn_auto_pushed_set(ad->nf, EINA_TRUE); /* since Tizen 2.4 */
elm_object_content_set(ad->conform, ad->nf);
evas_object_show(ad->nf);
List:
ad->list = elm_list_add(ad->nf);
elm_list_item_append(ad->list, "Nuevo", NULL, NULL, NULL, NULL);
elm_list_item_append(ad->list, "Relajación", NULL, NULL, NULL, ad);
elm_list_item_append(ad->list, "Test", NULL, NULL, NULL, NULL);
elm_list_item_append(ad->list, "Test", NULL, NULL, NULL, NULL);
elm_object_content_set(ad->nf, ad->list);
/* Change the scroller policy to fix the scroll only vertically */
elm_scroller_policy_set(ad->list, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
/* Enable bounce effect when the list reaches the vertical limits */
elm_scroller_bounce_set(ad->list, EINA_FALSE, EINA_TRUE);
evas_object_show(ad->list);
And at the end, I have this final code line:
/* Show window after base gui is set up */
evas_object_show(ad->win);
If I "elm_object_content_set" the list directly to the conform, it works; but if I do it through the naviframe, it does not.
Do you know why is this happening?
Thanks.