static Evas_Object* create_text_only_scrollable_tabbar(Evas_Object *parent) { Evas_Object *obj; Elm_Object_Item *item[8]; /* create toolbar */ obj = elm_toolbar_add(parent); elm_object_style_set(obj, "navigationbar"); elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_transverse_expanded_set(obj, EINA_TRUE); elm_toolbar_align_set(obj, 0.0); elm_toolbar_homogeneous_set(obj, EINA_FALSE); item[0] = elm_toolbar_item_append(obj, NULL, "Main", toolbar_it_cb, parent); item[1] = elm_toolbar_item_append(obj, NULL, "Playlist", toolbar_it_cb, parent); item[2] = elm_toolbar_item_append(obj, NULL, "Artists list", toolbar_it_cb, parent); elm_object_item_disabled_set(item[2], EINA_TRUE); item[3] = elm_toolbar_item_append(obj, NULL, "Songs", toolbar_it_cb, parent); item[4] = elm_toolbar_item_append(obj, NULL, "Dialer for call", toolbar_it_cb, parent); item[5] = elm_toolbar_item_append(obj, NULL, "Playlist", toolbar_it_cb, parent); item[6] = elm_toolbar_item_append(obj, NULL, "Songs", toolbar_it_cb, parent); item[7] = elm_toolbar_item_append(obj, NULL, "Dialer for call", toolbar_it_cb, parent); return obj; }
static Evas_Object* create_text_only_2_items_tabbar(Evas_Object *parent) { Evas_Object *toolbar; /* create toolbar */ toolbar = elm_toolbar_add(parent); elm_object_style_set(toolbar, "navigationbar"); elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE); elm_toolbar_align_set(toolbar, 0.0); elm_toolbar_homogeneous_set(toolbar, EINA_FALSE); elm_toolbar_item_append(toolbar, NULL, "Main", toolbar_it_cb, parent); elm_toolbar_item_append(toolbar, NULL, "Playlist", toolbar_it_cb, parent); return toolbar; }
int quick_settings_view_init() { g_debug("Initializing the quick-settings screen"); Evas_Object *win; int ret; ret = ui_utils_view_init(VIEW_PTR(view), ELM_WIN_BASIC, D_("Quick-settings"), NULL, NULL, NULL); if (ret) { g_critical("Failed to init quick-settings view"); return ret; } win = ui_utils_view_window_get(VIEW_PTR(view)); ui_utils_view_delete_callback_set(VIEW_PTR(view), _delete_cb); ui_utils_view_layout_set(VIEW_PTR(view), phoneui_theme, "phoneui/settings/quick-settings"); view.pager = elm_naviframe_add(win); ui_utils_view_swallow(VIEW_PTR(view), "pager", view.pager); _init_network_page(); _init_profiles_power_page(); evas_object_show(view.pager); view.toolbar = elm_toolbar_add(win); ui_utils_view_swallow(VIEW_PTR(view), "toolbar", view.toolbar); elm_toolbar_homogeneous_set(view.toolbar, EINA_TRUE); elm_toolbar_shrink_mode_set(view.toolbar, ELM_TOOLBAR_SHRINK_NONE); elm_toolbar_align_set(view.toolbar, 0.0); elm_toolbar_icon_size_set(view.toolbar, 16); evas_object_size_hint_weight_set(view.toolbar, 0.0, 0.0); evas_object_size_hint_align_set(view.toolbar, EVAS_HINT_FILL, 0.0); Elm_Object_Item *tbitem = elm_toolbar_item_append(view.toolbar, "icon/profile", D_("Profile/Power"), _toolbar_clicked, view.layout1); elm_toolbar_item_append(view.toolbar, "icon/network", D_("Network"), _toolbar_clicked, view.layout2); evas_object_show(view.toolbar); elm_toolbar_item_selected_set(tbitem, EINA_TRUE); return 0; }
int phone_log_view_init() { g_debug("Initializing the phonelog screen"); Evas_Object *win; int ret; //char buf[PATH_MAX]; ret = ui_utils_view_init(VIEW_PTR(view), ELM_WIN_BASIC, D_("Phonelog"), NULL, _hide_cb, NULL); if (ret) { g_critical("Failed to init phonelog view"); return ret; } win = ui_utils_view_window_get(VIEW_PTR(view)); ui_utils_view_delete_callback_set(VIEW_PTR(view), _delete_cb); ui_utils_view_layout_set(VIEW_PTR(view), phoneui_theme, "phoneui/phonelog/phonelog"); elm_theme_extension_add(NULL, phoneui_theme); view.pager = elm_naviframe_add(win); ui_utils_view_swallow(VIEW_PTR(view), "pager", view.pager); evas_object_show(view.pager); view.list_in = _add_genlist(win); elm_naviframe_item_simple_push(view.pager, view.list_in); view.list_out = _add_genlist(win); elm_naviframe_item_simple_push(view.pager, view.list_out); view.list_all = _add_genlist(win); elm_naviframe_item_simple_push(view.pager, view.list_all); view.list_missed = _add_genlist(win); elm_naviframe_item_simple_push(view.pager, view.list_missed); itc.item_style = "phonelog"; itc.func.text_get = gl_text_get; itc.func.content_get = gl_content_get; itc.func.state_get = gl_state_get; itc.func.del = gl_del; view.toolbar = elm_toolbar_add(win); ui_utils_view_swallow(VIEW_PTR(view), "toolbar", view.toolbar); elm_toolbar_homogeneous_set(view.toolbar, 1); elm_toolbar_shrink_mode_set(view.toolbar, ELM_TOOLBAR_SHRINK_NONE); elm_toolbar_align_set(view.toolbar, 0.0); elm_toolbar_icon_size_set(view.toolbar, 16); evas_object_size_hint_weight_set(view.toolbar, 0.0, 0.0); evas_object_size_hint_align_set(view.toolbar, EVAS_HINT_FILL, 0.0); elm_toolbar_item_append(view.toolbar, "icon/phonelog-incoming", D_("received"), _toolbar_changed, view.list_in); elm_toolbar_item_append(view.toolbar, "icon/phonelog-outgoing", D_("outgoing"), _toolbar_changed, view.list_out); view.toolbar_missed = elm_toolbar_item_append(view.toolbar, "icon/phonelog-missed", D_("missed"), _toolbar_changed, view.list_missed); elm_toolbar_item_append(view.toolbar, "icon/phonelog-all", D_("all"), _toolbar_changed, view.list_all); evas_object_show(view.toolbar); elm_toolbar_item_selected_set(view.toolbar_missed, EINA_TRUE); view.calls = g_ptr_array_new(); view.count = 25; // FIXME: make the limit configurable !!! */ phoneui_utils_calls_get(&view.count,_get_callback, NULL); phoneui_info_register_call_changes(_call_changed_handler, NULL); phoneui_info_register_contact_changes(_contact_changed_handler, NULL); return 0; }
/* public functions */ EM_INTERN Eina_Bool em_gui_init(void) { Evas_Object *o, *oo; /* allocate our object */ gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); if (!gui) return EINA_FALSE; /* create window */ gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); elm_win_title_set(gui->w_win, "Emote"); elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA); evas_object_smart_callback_add(gui->w_win, "delete,request", _em_gui_cb_win_del, NULL); /* create background */ o = elm_bg_add(gui->w_win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(gui->w_win, o); evas_object_show(o); o = elm_box_add(gui->w_win); elm_box_homogeneous_set(o, EINA_FALSE); elm_win_resize_object_add(gui->w_win, o); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_align_set(o, 0.5, 0.5); evas_object_show(o); /* create main toolbar */ gui->w_tb = elm_toolbar_add(gui->w_win); elm_toolbar_icon_size_set(gui->w_tb, (8 * elm_config_scale_get())); elm_toolbar_align_set(gui->w_tb, 1.0); elm_toolbar_shrink_mode_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"), _em_gui_cb_settings, NULL); elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"), _em_gui_cb_quit, NULL); evas_object_size_hint_weight_set(gui->w_tb, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); evas_object_show(gui->w_tb); elm_box_pack_start(o, gui->w_tb); /* create packing box */ gui->w_box = elm_panes_add(gui->w_win); elm_panes_fixed_set(gui->w_box, EINA_FALSE); elm_panes_horizontal_set(gui->w_box, EINA_FALSE); elm_panes_content_left_size_set(gui->w_box, 0.20); evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(gui->w_box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(o, gui->w_box); evas_object_show(gui->w_box); gui->w_chansel_itc = elm_genlist_item_class_new(); gui->w_chansel_itc->item_style = "default"; gui->w_chansel_itc->func.text_get = _em_gui_chansel_cb_label_get; gui->w_chansel_itc->func.content_get = NULL; gui->w_chansel_itc->func.state_get = NULL; gui->w_chansel_itc->func.del = NULL; /* create channel selector w/ frame */ gui->w_chansel = elm_genlist_add(gui->w_win); elm_genlist_mode_set(gui->w_chansel, ELM_LIST_SCROLL); evas_object_size_hint_min_set(gui->w_chansel, 200, MIN_WIN_HEIGHT); evas_object_size_hint_weight_set(gui->w_chansel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gui->w_chansel); o = elm_frame_add(gui->w_win); elm_object_part_text_set(o, "default", "Channels"); oo = elm_frame_add(gui->w_win); elm_object_style_set(oo, "pad_small"); elm_object_part_content_set(o, "default", oo); elm_object_part_content_set(oo, "default", gui->w_chansel); elm_object_part_content_set(gui->w_box, "left", o); evas_object_show(oo); evas_object_show(o); /* set min size of window and show it */ evas_object_show(gui->w_win); evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); gui->servers = eina_hash_string_small_new(_em_gui_server_del); return EINA_TRUE; }
EAPI_MAIN int elm_main(int argc, char *argv[]) { Evas_Object *win, *bg, *box, *box2, *btn, *ic, *url, *naviframe, *tabs, *web; Evas *e; Evas_Modifier_Mask ctrl_mask; App_Data *ad; if (!elm_need_web()) return -1; ad = calloc(1, sizeof(App_Data)); if (!ad) return -1; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_add(NULL, "example-web", ELM_WIN_BASIC); elm_win_autodel_set(win, EINA_TRUE); e = evas_object_evas_get(win); ctrl_mask = evas_key_modifier_mask_get(e, "Control"); if (!evas_object_key_grab(win, "f", ctrl_mask, 0, EINA_TRUE)) fprintf(stderr, "Could not grab trigger for search dialog\n"); evas_object_smart_callback_add(win, "delete,request", _win_del_request_cb, ad); evas_object_event_callback_add(win, EVAS_CALLBACK_KEY_DOWN, _win_search_trigger_cb, ad); evas_object_event_callback_add(win, EVAS_CALLBACK_FREE, _win_free_cb, ad); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); url = elm_entry_add(win); elm_entry_single_line_set(url, EINA_TRUE); elm_entry_scrollable_set(url, EINA_TRUE); evas_object_size_hint_weight_set(url, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(url, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, url); evas_object_show(url); evas_object_smart_callback_add(url, "activated", _url_activated_cb, ad); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); elm_object_part_content_set(url, "icon", box2); elm_entry_icon_visible_set(url, EINA_FALSE); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.back = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "arrow_left"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_back_cb, ad); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.refresh = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "refresh"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_refresh_cb, ad); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ad->nav.fwd = btn; ic = elm_icon_add(win); elm_icon_standard_set(ic, "arrow_right"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _nav_fwd_cb, ad); box2 = elm_box_add(win); elm_box_horizontal_set(box2, EINA_TRUE); evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, box2); evas_object_show(box2); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(win); elm_icon_standard_set(ic, "file"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _add_tab_cb, ad); tabs = elm_toolbar_add(win); elm_toolbar_align_set(tabs, 0.0); elm_toolbar_select_mode_set(tabs, ELM_OBJECT_SELECT_MODE_ALWAYS); elm_toolbar_homogeneous_set(tabs, EINA_FALSE); elm_toolbar_shrink_mode_set(tabs, ELM_TOOLBAR_SHRINK_MENU); evas_object_size_hint_weight_set(tabs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(tabs, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box2, tabs); evas_object_show(tabs); btn = elm_button_add(win); elm_box_pack_end(box2, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _close_tab_cb, ad); ic = elm_icon_add(win); elm_icon_standard_set(ic, "close"); elm_object_part_content_set(btn, "icon", ic); naviframe = elm_naviframe_add(win); evas_object_size_hint_weight_set(naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(naviframe, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, naviframe); evas_object_show(naviframe); elm_toolbar_menu_parent_set(tabs, naviframe); web = elm_web_add(win); elm_web_window_create_hook_set(web, _web_create_window_cb, ad); elm_web_history_enabled_set(web, EINA_FALSE); evas_object_size_hint_weight_set(web, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(web, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_naviframe_item_simple_push(naviframe, web); default_content_set(web); ad->win = win; ad->main_box = box; ad->naviframe = naviframe; ad->url = url; ad->default_web = web; ad->tabs = tabs; ad->close_tab = btn; evas_object_resize(win, 480, 640); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
/* public functions */ EM_INTERN Eina_Bool em_gui_init(void) { Evas_Object *o; /* allocate our object */ gui = EM_OBJECT_ALLOC(Em_Gui, EM_GUI_TYPE, _em_gui_cb_free); if (!gui) return EINA_FALSE; // Set finger size to 4 to avoid huge widgets // elm_finger_size_set(4); /* create window */ gui->w_win = elm_win_add(NULL, "emote", ELM_WIN_BASIC); elm_win_title_set(gui->w_win, "Emote"); elm_win_keyboard_mode_set(gui->w_win, ELM_WIN_KEYBOARD_ALPHA); evas_object_smart_callback_add(gui->w_win, "delete-request", _em_gui_cb_win_del, NULL); /* create background */ o = elm_bg_add(gui->w_win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); // evas_object_size_hint_min_set(o, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); elm_win_resize_object_add(gui->w_win, o); evas_object_show(o); /* create packing box */ gui->w_box = elm_box_add(gui->w_win); elm_win_resize_object_add(gui->w_win, gui->w_box); evas_object_size_hint_weight_set(gui->w_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(gui->w_box); /* create main toolbar */ gui->w_tb = elm_toolbar_add(gui->w_win); elm_toolbar_icon_size_set(gui->w_tb, (16 * elm_scale_get())); elm_toolbar_align_set(gui->w_tb, 0.0); elm_toolbar_mode_shrink_set(gui->w_tb, ELM_TOOLBAR_SHRINK_SCROLL); evas_object_size_hint_weight_set(gui->w_tb, 0.0, 0.0); evas_object_size_hint_align_set(gui->w_tb, EVAS_HINT_FILL, 0.0); elm_toolbar_item_append(gui->w_tb, "preferences-system", _("Settings"), _em_gui_cb_settings, NULL); elm_toolbar_item_append(gui->w_tb, "application-exit", _("Quit"), _em_gui_cb_quit, NULL); evas_object_show(gui->w_tb); elm_box_pack_start(gui->w_box, gui->w_tb); /* create channel selector */ gui->w_chansel = elm_toolbar_add(gui->w_win); elm_toolbar_homogeneous_set(gui->w_chansel, EINA_FALSE); elm_toolbar_align_set(gui->w_chansel, 0.0); elm_toolbar_mode_shrink_set(gui->w_chansel, ELM_TOOLBAR_SHRINK_SCROLL); evas_object_size_hint_weight_set(gui->w_chansel, 0.0, 0.0); evas_object_size_hint_align_set(gui->w_chansel, EVAS_HINT_FILL, 0.0); evas_object_show(gui->w_chansel); elm_box_pack_end(gui->w_box, gui->w_chansel); /* set min size of window and show it */ // evas_object_size_hint_min_set(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); evas_object_resize(gui->w_win, MIN_WIN_WIDTH, MIN_WIN_HEIGHT); evas_object_show(gui->w_win); gui->servers = eina_hash_string_small_new(_em_gui_server_del); return EINA_TRUE; }