4

I have a Tizen wear application that consists of 3 views and each one of the views is pushed to the naviframe. The three views are:

Genlist_A > Progressbar > Genlist_B

The layout of the views are shown by the arrows. When as user touches a genlist item in Genlist_A then the Progressbar is shown until Genlist_B has data to display.

This navigation works well as all the views display as they should. The problem is when trying to navigate from Genlist_B back to Genlist_A. When navigating back the Progressbar shows again and the only way to go see Genlist_A when this happens is to close the progressbar.

void _create_progressbar()
{
    Evas_Object *nf = local_ad->naviframe;
    Evas_Object *progressbar;
    Evas_Object *layout;

    layout = elm_layout_add(nf);
    elm_layout_file_set(layout, ELM_DEMO_EDJ, "progessbar");
    evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    progressbar = elm_progressbar_add(layout);
    elm_object_style_set(progressbar, "process");
    evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_show(progressbar);
    elm_progressbar_pulse(progressbar, EINA_TRUE);
    elm_object_part_content_set(layout, "process", progressbar);
    elm_object_content_set(layout, layout);
    elm_naviframe_item_push(nf, "ProgressBar", NULL, NULL, layout, "empty");
}

The code above shows the creation of the progressbar view. I have seen in some samples that elm_naviframe_item_pop_cb_set is used. I did the same thing and the progress bar is still shown when I click back.

nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, scroller, "empty");
elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad->win);

How do I pop the progress bar off when Genlist_B pulled its data?

Jonathan
  • 545
  • 1
  • 8
  • 27
  • Plz clarify the query. is it new view (which contains progressbar) don't popped after clicking back button once ? Check the link for Naviframe navigation. [link] (https://developer.tizen.org/ko/development/guides/native-application/user-interface/efl/ui-containers/creating-naviframe-navigation?langredirect=1) . Here an example of naviframe navigation is given and explain navigation process nicely. – Mehedi Alamgir Dec 02 '16 at 11:35
  • @MehediAlamgir It is a new view. The basic layout of the views is Genlist > Progressbar > Genlist with the genlist being new genlists. Meaning that the progressbar is on the naviframe and if I go back then the view it goes back to is the naviframe as that is the previous item in the naviframe. – Jonathan Dec 05 '16 at 04:19

1 Answers1

1

Update I found a solution to the problem. I was on the right track with popping the item off the naviframe using

nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, scroller, "empty");
elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad->win);

The changes that I made is inside of _naviframe_pop_cb

static Eina_Bool _naviframe_pop_cb(void *data, Elm_Object_Item *it)
{
    elm_naviframe_item_pop_to(local_ad->startview);
    return EINA_TRUE;
}

What this does is it jumps to a specified naviframe labeled as local_ad->startview and that was just simply set by means of setting the Elm_Object_Item inside of the genlist.

 nf_it = elm_naviframe_item_push(nf, NULL, NULL, NULL, genlist, "empty");

This worked for me.

Jonathan
  • 545
  • 1
  • 8
  • 27