EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bx, *ds; unsigned int i; static const char *lbl[] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("diskselector", "Diskselector Example"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); /* default */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); evas_object_show(ds); /* set round mode and define side label length */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_round_enabled_set(ds, EINA_TRUE); elm_diskselector_side_text_max_length_set(ds, 2); evas_object_show(ds); /* display more than 3 items */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_diskselector_display_item_num_set(ds, 5); printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(ds)); evas_object_show(ds); /* set bounce and scroller policy */ ds = elm_diskselector_add(win); evas_object_size_hint_weight_set(ds, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ds, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, ds); for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++) elm_diskselector_item_append(ds, lbl[i], NULL, NULL, NULL); elm_scroller_bounce_set(ds, EINA_TRUE, EINA_TRUE); elm_scroller_policy_set(ds, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_ON); evas_object_show(ds); evas_object_resize(win, 320, 480); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
void create_gui(Evas_Object *win) { int i; char no[2], *tystr, buf[255]; Evas_Object *bg, *hbox, *prop_button, *sc, *ic, *bx1; Evas_Object *vbox, *bx, *hbox1, *bt, *save_button, *note_button; //add background bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, 1.0, 1.0); evas_object_show(bg); //add vbox vbox = elm_box_add(win); elm_win_resize_object_add(win, vbox); evas_object_size_hint_weight_set(vbox, 1.0, 1.0); evas_object_show(vbox); //add hbox to vbox hbox = elm_box_add(win); elm_box_horizontal_set(hbox, 1); evas_object_size_hint_weight_set(hbox, 1.0, 0.0); evas_object_size_hint_align_set(hbox, -1.0, 0.0); elm_box_pack_end(vbox, hbox); evas_object_show(hbox); //add hover for priority hv = elm_hover_add(win); //add box for hover bx = elm_box_add(win); elm_box_pack_end(hbox, bx); //evas_object_size_hint_weight_set(bx, 0.0, 1.0); //evas_object_size_hint_align_set(bx, 0.0, -1.0); evas_object_show(bx); pr_bt = elm_button_add(win); elm_object_text_set(pr_bt, "Pr"); evas_object_smart_callback_add(pr_bt, "clicked", my_hover_bt_1, hv); elm_box_pack_end(bx, pr_bt); evas_object_show(pr_bt); elm_hover_parent_set(hv, win); elm_hover_target_set(hv, pr_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Pr"); elm_object_part_content_set(hv, "middle", bt); evas_object_show(bt); bx = elm_box_add(win); //add 5 buttons for (i=1; i<6; i++) { bt = elm_button_add(win); sprintf(no, "%d", i); elm_object_text_set(bt, no); elm_box_pack_end(bx, bt); tystr = strdup(no); evas_object_smart_callback_add(bt, "clicked", set_priority, (char *)tystr); evas_object_show(bt); } evas_object_show(bx); elm_object_part_content_set(hv, "bottom", bx); //add scroller for entry sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); evas_object_size_hint_weight_set(sc, 1.0, 0.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(hbox, sc); //add entry for task tk = elm_entry_add(win); elm_entry_single_line_set(tk ,1); elm_entry_entry_set(tk, "Task"); evas_object_size_hint_weight_set(tk, 1.0, 0.0); evas_object_size_hint_align_set(tk, -1.0, 0.0); elm_object_content_set(sc, tk); evas_object_show(tk); evas_object_show(sc); //add hover for date date_hs = elm_hover_add(win); //add box for hover bx1 = elm_box_add(win); elm_box_pack_end(hbox, bx1); evas_object_size_hint_weight_set(bx1, 0.0, 0.0); evas_object_size_hint_align_set(bx1, 0.0, -1.0); evas_object_show(bx1); date_bt = elm_button_add(win); elm_object_text_set(date_bt, "Date"); evas_object_smart_callback_add(date_bt, "clicked", my_hover_bt_1, date_hs); elm_box_pack_end(bx1, date_bt); evas_object_show(date_bt); elm_hover_parent_set(date_hs, win); elm_hover_target_set(date_hs, date_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Date"); elm_object_part_content_set(date_hs, "middle", bt); evas_object_show(bt); bx1 = elm_box_add(win); add_dates(win, bx1, bt); evas_object_show(bx1); elm_object_part_content_set(date_hs, "bottom", bx1); //add save button save_button = elm_button_add(win); elm_object_text_set(save_button, "Save"); evas_object_size_hint_weight_set(save_button, 0.0, 0.0); evas_object_size_hint_align_set(save_button, 1.0, -1.0); elm_box_pack_end(hbox, save_button); evas_object_show(save_button); evas_object_smart_callback_add(save_button, "clicked", save_button_clicked, list); //add list to vbox now list = elm_genlist_add(win); evas_object_size_hint_weight_set(list, 1.0, 1.0); evas_object_size_hint_align_set(list, -1.0, -1.0); elm_list_multi_select_set(list, 0); elm_box_pack_end(vbox, list); elm_genlist_mode_set(list, ELM_LIST_LIMIT); evas_object_show(list); evas_object_smart_callback_add(list, "selected", task_select, list); //genlist class defs itc1.item_style = "default"; itc1.func.text_get = gl_text_get; itc1.func.content_get = gl_content_get; itc1.func.state_get = gl_state_get; itc1.func.del = gl_del; //add hbox to vbox at pos 4 hbox1 = elm_box_add(win); elm_box_horizontal_set(hbox1, 1); evas_object_size_hint_weight_set(hbox1, 1.0, 0.0); evas_object_size_hint_align_set(hbox1, -1.0, 0.0); elm_box_pack_end(vbox, hbox1); evas_object_show(hbox1); //add new button to the hbox new_button = elm_button_add(win); elm_object_text_set(new_button, "Add"); evas_object_size_hint_weight_set(new_button, 1.0, 1.0); evas_object_size_hint_align_set(new_button, -1.0, -1.0); elm_box_pack_end(hbox1, new_button); evas_object_show(new_button); evas_object_smart_callback_add(new_button, "clicked", create_new_task, list); //add Properties button to the hbox prop_button = elm_button_add(win); elm_object_text_set(prop_button, "Details"); evas_object_size_hint_weight_set(prop_button, 1.0, 1.0); evas_object_size_hint_align_set(prop_button, -1.0, -1.0); elm_box_pack_end(hbox1, prop_button); evas_object_show(prop_button); evas_object_smart_callback_add(prop_button, "clicked", create_details_page, NULL); //add note button to the hbox note_button = elm_button_add(win); ic = elm_icon_add(win); snprintf(buf, sizeof(buf), "/usr/share/e-tasks/note_butt.png"); elm_icon_file_set(ic, buf, NULL); evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); elm_object_content_set(note_button, ic); evas_object_show(ic); //elm_object_text_set(note_button, "Note"); evas_object_size_hint_weight_set(note_button, 1.0, 1.0); evas_object_size_hint_align_set(note_button, -1.0, -1.0); elm_box_pack_end(hbox1, note_button); evas_object_show(note_button); evas_object_smart_callback_add(note_button, "clicked", note_button_clicked, list); //add hover for category select hs1 = elm_hover_add(win); //add box for hover bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 0.0, 0.0); elm_box_pack_end(hbox1, bx); evas_object_show(bx); sel_cat_bt = elm_button_add(win); elm_object_text_set(sel_cat_bt, " All Tasks "); evas_object_smart_callback_add(sel_cat_bt, "clicked", my_hover_bt_1, hs1); elm_box_pack_end(bx, sel_cat_bt); evas_object_show(sel_cat_bt); elm_hover_parent_set(hs1, win); elm_hover_target_set(hs1, sel_cat_bt); bt = elm_button_add(win); elm_object_text_set(bt, " All Tasks "); elm_object_part_content_set(hs1, "middle", bt); evas_object_show(bt); create_cat_hover (); // make window full screen evas_object_resize(win, 480, 640); }
static void _create_view_layout(Evas_Object *parent, char *layout_file, char *index_style, char it_style[][20], Eina_Bool even_num) { Evas_Object *layout, *scroller, *box, *left_right_rect, *img, *page_layout, *index; Elm_Object_Item *nf_it; char img_path[PATH_MAX]; int i, max_items; page_data *pd = (page_data *)calloc(1, sizeof(page_data)); /* Create Layout */ layout = elm_layout_add(parent); elm_layout_file_set(layout, ELM_DEMO_EDJ, layout_file); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(layout); evas_object_event_callback_add(layout, EVAS_CALLBACK_DEL, _layout_del_cb, pd); pd->main_layout = layout; /* Create Scroller */ scroller = elm_scroller_add(layout); elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE); evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_scroller_page_scroll_limit_set(scroller, 1, 0); elm_object_scroll_lock_y_set(scroller, EINA_TRUE); elm_object_part_content_set(layout, "scroller", scroller); evas_object_show(scroller); evas_object_smart_callback_add(scroller, "scroll", _scroll, pd); pd->scroller = scroller; /* Create Box */ box = elm_box_add(scroller); elm_box_horizontal_set(box, EINA_TRUE); elm_object_content_set(scroller, box); evas_object_show(box); pd->box = box; /* Create Rect object for page_layout center align in Box */ left_right_rect = evas_object_rectangle_add(evas_object_evas_get(box)); elm_box_pack_end(box, left_right_rect); /* Create Pages */ if (even_num) max_items = NUM_INDEX_CIRCLE_EVEN; else max_items = NUM_ITEMS; for (i = 0; i < max_items; ++i) { page_layout = elm_layout_add(box); pd->page_layout[i] = page_layout; evas_object_size_hint_weight_set(page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(page_layout, 0, EVAS_HINT_FILL); elm_layout_theme_set(page_layout, "layout", "body_thumbnail", "default"); evas_object_show(page_layout); img = elm_image_add(page_layout); snprintf(img_path, sizeof(img_path), "%s/100_%d.jpg", ICON_DIR, (i % 6) + 1); elm_image_file_set(img, img_path, NULL); elm_object_part_content_set(page_layout, "elm.icon", img); /* Make unselect state all of the pages except first one */ if (i) elm_object_signal_emit(page_layout, "elm,state,thumbnail,unselect", "elm"); elm_box_pack_end(box, page_layout); } /*Add resize callback for get a actual size of layout and main layout */ evas_object_event_callback_add(pd->page_layout[0], EVAS_CALLBACK_RESIZE, _layout_resize_cb, pd); elm_box_pack_end(box, left_right_rect); pd->left_right_rect = left_right_rect; /* Add animator for page transfer effect */ ecore_animator_add(animator_cb, pd); /* Create Index */ index = elm_index_add(layout); elm_object_style_set(index, index_style); evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_index_horizontal_set(index, EINA_TRUE); elm_index_autohide_disabled_set(index, EINA_TRUE); elm_object_part_content_set(layout, "controller", index); for (i = 0; i < max_items; ++i) { pd->it[i] = elm_index_item_append(index, NULL, NULL, (void *) i); if (it_style) elm_object_item_style_set(pd->it[i], it_style[i]); } pd->min_page = 0; pd->max_page = max_items - 1; elm_index_level_go(index, 0); elm_index_item_selected_set(pd->it[0], EINA_TRUE); pd->cur_page = 0; pd->index = index; pd->last_it = pd->it[0]; evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_DOWN, _on_index_mouse_down_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_MOVE, _on_index_mouse_move_cb, pd); evas_object_event_callback_add(index, EVAS_CALLBACK_MOUSE_UP, _on_index_mouse_up_cb, pd); nf_it = elm_naviframe_item_push(parent, NULL, NULL, NULL, layout, NULL); elm_naviframe_item_title_enabled_set(nf_it, EINA_FALSE, EINA_FALSE); }
static void _account_set_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *fr, *tb, *inwin, *lbl, *sc, *text, *bt, *hbox, *img, *entry; char buf[PATH_MAX]; inwin = elm_win_inwin_add(enlil_data->win->win); set_account.inwin = inwin; evas_object_show(inwin); fr = elm_frame_add(enlil_data->win->win); elm_frame_label_set(fr, D_("Set the Flick account.")); evas_object_size_hint_weight_set(fr, 1.0, 1.0); evas_object_size_hint_align_set(fr, 0.0, 0.0); evas_object_show(fr); tb = elm_table_add(enlil_data->win->win); elm_table_padding_set(tb, 10, 10); evas_object_size_hint_weight_set(tb, 1.0, 1.0); evas_object_size_hint_align_set(tb, -1.0, -1.0); evas_object_show(tb); //steps lbl = elm_label_add(enlil_data->win->win); elm_label_label_set( lbl, D_("<b>STEP 1 :</b> Open the web page in your favorite web browser.")); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 0, 2, 1); entry = elm_scrolled_entry_add(enlil_data->win->win); elm_scrolled_entry_single_line_set(entry, EINA_TRUE); elm_scrolled_entry_entry_set(entry, enlil_flickr_auth_url_get()); evas_object_size_hint_weight_set(entry, 1.0, 0.0); evas_object_size_hint_align_set(entry, -1.0, 0.0); evas_object_show(entry); elm_table_pack(tb, entry, 0, 1, 2, 1); img = elm_image_add(obj); elm_image_file_set(img, Theme, "flickr/set_account_0"); evas_object_size_hint_weight_set(img, 1.0, 1.0); evas_object_size_hint_align_set(img, -1.0, -1.0); evas_object_show(img); elm_table_pack(tb, img, 0, 2, 2, 1); snprintf( buf, PATH_MAX, D_("<b>STEP 2 :</b> Authorize Enki to access to your account.")); lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, buf); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 3, 2, 1); img = elm_image_add(obj); elm_image_file_set(img, Theme, "flickr/set_account_1"); evas_object_size_hint_weight_set(img, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(img, -1.0, -1.0); evas_object_show(img); elm_table_pack(tb, img, 0, 4, 2, 1); snprintf( buf, PATH_MAX, D_("<b>STEP 3 :</b> Copy the code in the followed text area.")); lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, buf); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 5, 2, 1); // lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, D_("The 9-digit code : ")); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 6, 1, 1); sc = elm_scroller_add(enlil_data->win->win); evas_object_size_hint_weight_set(sc, 1.0, 0.0); evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_content_min_limit(sc, EINA_FALSE, EINA_TRUE); elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_scroller_bounce_set(sc, 0, 0); evas_object_show(sc); elm_table_pack(tb, sc, 1, 6, 1, 1); text = elm_entry_add(enlil_data->win->win); set_account.entry = text; elm_entry_entry_set(text, ""); elm_entry_single_line_set(text, 1); evas_object_size_hint_weight_set(text, EVAS_HINT_EXPAND, 1.0); evas_object_size_hint_align_set(text, 1.0, 0.5); elm_scroller_content_set(sc, text); evas_object_show(text); hbox = elm_box_add(enlil_data->win->win); elm_box_horizontal_set(hbox, 1); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(hbox, 1.0, 0.0); evas_object_show(hbox); elm_table_pack(tb, hbox, 1, 7, 1, 1); bt = elm_button_add(enlil_data->win->win); elm_button_label_set(bt, D_("Cancel")); evas_object_smart_callback_add(bt, "clicked", _account_set_cancel_cb, NULL); evas_object_size_hint_align_set(bt, 1.0, 0.0); evas_object_show(bt); elm_box_pack_end(hbox, bt); bt = elm_button_add(enlil_data->win->win); elm_button_label_set(bt, D_("Apply")); evas_object_smart_callback_add(bt, "clicked", _account_set_apply_cb, text); evas_object_size_hint_align_set(bt, 1.0, 0.0); evas_object_show(bt); elm_box_pack_end(hbox, bt); elm_object_disabled_set(bt, EINA_TRUE); evas_object_smart_callback_add(text, "changed", _account_set_entry_changed_cb, bt); elm_frame_content_set(fr, tb); elm_win_inwin_content_set(inwin, fr); }
void Scroller::setPolicy (Elm_Scroller_Policy policyH, Elm_Scroller_Policy policyV) { elm_scroller_policy_set (o, policyH, policyV); }