void create_list_view(appdata_s *ad) { Evas_Object *list; Evas_Object *btn; Evas_Object *nf = ad->navi; Elm_Object_Item *nf_it; /* List */ list = elm_list_add(nf); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); /* Main Menu Items Here */ elm_list_item_append(list, "Wait Connection", NULL, NULL, _wait_cb, ad); elm_list_item_append(list, "Gesture Setting", NULL, NULL, _setting_cb, ad); elm_list_go(list); /* This button is set for devices which doesn't have H/W back key. */ btn = elm_button_add(nf); elm_object_style_set(btn, "naviframe/end_btn/default"); // 네비프레임 맨위를 설정한다. nf_it = elm_naviframe_item_push(nf, "Gear Presentor", btn, NULL, list, NULL); elm_naviframe_item_pop_cb_set(nf_it, _naviframe_pop_cb, ad); }
static void create_main_view(appdata_s *ad) { Evas_Object *genlist; Evas_Object *circle_genlist; Evas_Object *btn; Evas_Object *nf = ad->nf; Elm_Object_Item *nf_it; Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new(); Elm_Genlist_Item_Class *ttc = elm_genlist_item_class_new(); Elm_Genlist_Item_Class *ptc = elm_genlist_item_class_new(); item_data *id; int index = 0; /* Genlist */ genlist = elm_genlist_add(nf); elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); evas_object_smart_callback_add(genlist, "selected", gl_selected_cb, NULL); circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface); eext_circle_object_genlist_scroller_policy_set(circle_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); /* Genlist Title Item style */ ttc->item_style = "title"; ttc->func.text_get = _gl_menu_title_text_get; ttc->func.del = _gl_menu_del; /* Genlist Item style */ itc->item_style = "default"; itc->func.text_get = _gl_menu_text_get; itc->func.del = _gl_menu_del; /* Genlist Padding Item style */ ptc->item_style = "padding"; ptc->func.del = _gl_menu_del; /* Title Items Here */ elm_genlist_item_append(genlist, ttc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); /* Main Menu Items Here */ id = (item_data *)calloc(sizeof(item_data), 1); id->index = index++; id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, index_cb, ad); id = (item_data *)calloc(sizeof(item_data), 1); id->index = index++; id->item = elm_genlist_item_append(genlist, itc, id, NULL, ELM_GENLIST_ITEM_NONE, index_cb, ad); elm_genlist_item_append(genlist, ptc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); elm_genlist_item_class_free(itc); elm_genlist_item_class_free(ttc); elm_genlist_item_class_free(ptc); /* This button is set for devices which doesn't have H/W back key. */ btn = elm_button_add(nf); elm_object_style_set(btn, "naviframe/end_btn/default"); nf_it = elm_naviframe_item_push(nf, NULL, btn, NULL, genlist, "empty"); elm_naviframe_item_pop_cb_set(nf_it, naviframe_pop_cb, ad->win); }
static void create_list_view(appdata_s *ad) { Evas_Object *list; Evas_Object *btn; Evas_Object *nf = ad->nf; Elm_Object_Item *nf_it; // List list = elm_list_add(nf); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, "selected", list_selected_cb, NULL); // Main Menu Items Here elm_list_item_append(list, "Group APIs", NULL, NULL, group_cb, nf); elm_list_item_append(list, "Configuration APIs", NULL, NULL, configuration_cb, nf); elm_list_go(list); // This button is set for devices which doesn't have H/W back key. btn = elm_button_add(nf); elm_object_style_set(btn, "naviframe/end_btn/default"); nf_it = elm_naviframe_item_push(nf, "Things Manager", btn, NULL, list, NULL); elm_naviframe_item_pop_cb_set(nf_it, naviframe_pop_cb, ad->win); }
PREFIX value ml_elm_naviframe_item_pop_cb_set(value v_it, value v_fun) { CAMLparam2(v_it, v_fun); value* data = caml_stat_alloc(sizeof(value)); caml_register_global_root(data); elm_naviframe_item_pop_cb_set((Elm_Object_Item*) v_it, ml_Elm_Naviframe_Item_Pop_Cb, data); CAMLreturn(Val_unit); }
static int oicapp_create(void *data) { oicappData *ad = data; Elm_Object_Item *it; oicapp_init_itcs(ad); /* create window */ ad->win = consumerapp_create_win(PACKAGE); if(NULL == ad->win) return -1; ad->bg = consumerapp_create_bg(ad->win); if(NULL == ad->bg) return -1; ad->conform = consumerapp_create_conform(ad->win); if(NULL == ad->conform) return -1; /* create layout */ ad->base = consumerapp_create_base_layout(ad->conform); if(NULL == ad->base) return -1; elm_object_content_set(ad->conform , ad->base); ad->navi = elm_naviframe_add(ad->base); elm_object_part_content_set(ad->base , "elm.swallow.content" , ad->navi); ea_object_event_callback_add(ad->navi , EA_CALLBACK_BACK , ea_naviframe_back_cb , NULL); ad->genlist = consumerapp_create_genlist(ad->navi); it = elm_naviframe_item_push(ad->navi , "IoT Notification Sample App" , NULL , NULL , ad->genlist , NULL); elm_naviframe_item_pop_cb_set(it , _back_cb , ad); ad->ipAddr = oicapp_util_wifi(); if(NULL == ad->ipAddr) { ERR("wifi is not connected"); oicapp_fail_popup(ad , "Error" , "No WIFI connection" , 3); } else { INFO("IP Address = %s" , ad->ipAddr); } oicapp_client_start(ad); consumerapp_append_contents(ad); return 0; }
uib_view_context* initialize() { memset(&g_uib_device_info, 0x00, sizeof(uib_device_info_st)); uib_util_get_device_info(&g_uib_device_info); window_obj* win_obj = uib_views_get_instance()->create_window_obj(); uib_util_rotation_set(win_obj->win, e_rotation_fullSensor); uib_view_context* vc = uib_views_get_instance()->startup_view_create(win_obj); Evas_Object* nf = win_obj->app_naviframe; Elm_Object_Item* nf_it = elm_naviframe_bottom_item_get(nf); eext_object_event_callback_add(nf, EEXT_CALLBACK_BACK, nf_hw_back_cb, vc); evas_object_show(nf); elm_naviframe_item_pop_cb_set(nf_it, nf_root_it_pop_cb, win_obj->win); elm_app_base_scale_set(g_uib_device_info.base_scale); evas_object_smart_callback_add(win_obj->win, "delete,request", win_del_request_cb, NULL); return vc; }
void datetime_cb(void *data, Evas_Object *obj, void *event_info) { appdata_s *ad = data; Elm_Object_Item *it; Evas_Object *box, *layout; datetimedata_s *dd = calloc(1, sizeof(datetimedata_s)); dd->nf = ad->nf; time_t local_time = time(NULL); char buff[200] = {0}; struct tm *time_info = localtime(&local_time); dd->saved_time = *time_info; layout = elm_layout_add(ad->nf); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_layout_file_set(layout, ELM_DEMO_EDJ, "white_bg_layout"); box = elm_box_add(layout); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_padding_set(box, 0, ELM_SCALE_SIZE(70)); elm_object_part_content_set(layout, "elm.swallow.content", box); strftime(buff, 200, DATE_FORMAT, &dd->saved_time); dd->button1 = create_button(dd, box, buff, DATE_FORMAT); strftime(buff, 200, TIME_12_FORMAT, &dd->saved_time); dd->button2 = create_button(dd, box, buff, TIME_12_FORMAT); strftime(buff, 200, TIME_24_FORMAT, &dd->saved_time); dd->button3 = create_button(dd, box, buff, TIME_24_FORMAT); it = elm_naviframe_item_push(ad->nf, "DateTime", NULL, NULL, layout, NULL); elm_naviframe_item_pop_cb_set(it, naviframe_pop_cb, dd); }