static void _win_search_trigger_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Evas_Event_Key_Down *ev = event_info; App_Data *ad = data; Evas_Object *box, *box2, *entry, *btn, *ic; if (strcmp(ev->keyname, "f") || !evas_key_modifier_is_set(ev->modifiers, "Control")) return; if (ad->search_box || !ad->current_tab) return; box = elm_box_add(ad->win); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_after(ad->main_box, box, ad->url); evas_object_show(box); evas_object_event_callback_add(box, EVAS_CALLBACK_DEL, _search_box_del_cb, ad); entry = elm_entry_add(ad->win); elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, entry); evas_object_show(entry); evas_object_smart_callback_add(entry, "changed", _search_entry_changed_cb, ad); evas_object_smart_callback_add(entry, "activated", _search_entry_activate_cb, ad); box2 = elm_box_add(ad->win); elm_box_horizontal_set(box2, EINA_TRUE); elm_object_part_content_set(entry, "end", box2); btn = elm_button_add(ad->win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "arrow_up"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_prev_cb, ad); btn = elm_button_add(ad->win); elm_box_pack_end(box2, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "arrow_down"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_next_cb, ad); btn = elm_button_add(ad->win); elm_box_pack_end(box, btn); evas_object_show(btn); ic = elm_icon_add(ad->win); elm_icon_standard_set(ic, "close"); elm_object_part_content_set(btn, "icon", ic); evas_object_smart_callback_add(btn, "clicked", _search_close_cb, ad); ad->search_box = box; ad->search_entry = entry; elm_object_focus_set(entry, EINA_TRUE); }
static void _init_glview(Evas_Object *win, GLData *gld) { Evas_Object *bg, *bx, *bt, *gl; Ecore_Animator *ani; bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); 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); //-//-//-// THIS IS WHERE GL INIT STUFF HAPPENS (ALA EGL) //-// // create a new glview object gl = elm_glview_add(win); gld->glapi = elm_glview_gl_api_get(gl); evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); // mode is simply for supporting alpha, depth buffering, and stencil // buffering. elm_glview_mode_set(gl, ELM_GLVIEW_ALPHA | ELM_GLVIEW_DEPTH); // resize policy tells glview what to do with the surface when it // resizes. ELM_GLVIEW_RESIZE_POLICY_RECREATE will tell it to // destroy the current surface and recreate it to the new size elm_glview_resize_policy_set(gl, ELM_GLVIEW_RESIZE_POLICY_RECREATE); // render policy tells glview how it would like glview to render // gl code. ELM_GLVIEW_RENDER_POLICY_ON_DEMAND will have the gl // calls called in the pixel_get callback, which only gets called // if the object is visible, hence ON_DEMAND. ALWAYS mode renders // it despite the visibility of the object. elm_glview_render_policy_set(gl, ELM_GLVIEW_RENDER_POLICY_ON_DEMAND); // initialize callback function gets registered here elm_glview_init_func_set(gl, _init_gl); // delete callback function gets registered here elm_glview_del_func_set(gl, _del_gl); elm_glview_resize_func_set(gl, _resize_gl); elm_glview_render_func_set(gl, _draw_gl); //-// //-//-//-// END GL INIT BLOB elm_box_pack_end(bx, gl); evas_object_show(gl); elm_object_focus_set(gl, EINA_TRUE); // animating - just a demo. as long as you trigger an update on the image // object via elm_glview_changed_set() it will be updated. // // NOTE: if you delete gl, this animator will keep running trying to access // gl so you'd better delete this animator with ecore_animator_del(). ani = ecore_animator_add(_anim, gl); evas_object_data_set(gl, "ani", ani); evas_object_data_set(gl, "gld", gld); evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, _del, gl); // add an 'OK' button to end the program bt = elm_button_add(win); elm_object_text_set(bt, "OK"); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _on_done, win); evas_object_resize(win, 320, 480); }
void Object::setSizeHintWeight (double x, double y) { evas_object_size_hint_weight_set (o, x, y); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *panel, *content; win = elm_win_add(NULL, "panel", ELM_WIN_BASIC); elm_win_title_set(win, "Panel"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_show(bg); bx = elm_box_add(win); elm_box_horizontal_set(bx, EINA_FALSE); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, bx); evas_object_show(bx); panel = elm_panel_add(win); elm_panel_orient_set(panel, ELM_PANEL_ORIENT_TOP); elm_panel_toggle(panel); evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(panel); elm_box_pack_end(bx, panel); content = elm_label_add(win); elm_object_text_set(content, "content"); evas_object_show(content); evas_object_size_hint_min_set(content, 100, 30); elm_object_content_set(panel, content); panel = elm_panel_add(win); elm_panel_orient_set(panel, ELM_PANEL_ORIENT_RIGHT); elm_panel_hidden_set(panel, EINA_TRUE); evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(panel); elm_box_pack_end(bx, panel); content = elm_label_add(win); elm_object_text_set(content, "content2"); evas_object_show(content); evas_object_size_hint_min_set(content, 100, 30); elm_object_content_set(panel, content); panel = elm_panel_add(win); evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(panel); elm_box_pack_end(bx, panel); content = elm_label_add(win); elm_object_text_set(content, "content2"); evas_object_show(content); evas_object_size_hint_min_set(content, 100, 30); elm_object_content_set(panel, content); evas_object_show(win); elm_run(); return 0; }
void create_pager(Evas_Object *parent, Evas_Object *pg, Pginfo *info, Measurements_Lists *ml) { Evas_Object *ed, *converters_list, *layout; pg = elm_naviframe_add(parent); elm_win_resize_object_add(parent, pg); evas_object_size_hint_weight_set(pg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(pg); info->pager = pg; /*main page*/ layout = elm_layout_add(parent); if (!elm_layout_file_set(layout, PACKAGE_DATA_DIR "/default.edj", "main")) { DBG("Can't load Edje Layout %s", PACKAGE_DATA_DIR "/default.edj"); return; } evas_object_show(layout); elm_naviframe_item_simple_push(pg, layout); info->pg1 = layout; converters_list = elm_list_add(parent); elm_object_part_content_set(layout, "converters_list", converters_list); evas_object_size_hint_weight_set(converters_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(converters_list, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(converters_list); populate_converters_list(converters_list, info); /* distance conerter*/ layout = elm_layout_add(parent); if (!elm_layout_file_set(layout, PACKAGE_DATA_DIR "/default.edj", "distance_converter")) { DBG("Can't load Edje Layout %s", PACKAGE_DATA_DIR "/default.edj"); return; } evas_object_show(layout); ed = elm_layout_edje_get(layout); edje_object_part_text_set(ed, "equal", ""); edje_object_part_text_set(ed, "input", ""); edje_object_part_text_set(ed, "output", ""); ml->list_in = elm_list_add(parent); elm_object_part_content_set(layout, "measurements_in", ml->list_in); evas_object_size_hint_weight_set(ml->list_in, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(ml->list_in, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(ml->list_in); populate_measurements_list_in(ml->list_in, ed, info); ml->list_out = elm_list_add(parent); elm_object_part_content_set(layout, "measurements_out", ml->list_out); evas_object_size_hint_weight_set(ml->list_out, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(ml->list_out, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(ml->list_out); populate_measurements_list_out(ml->list_out, ed, info); /* Set callback functions */ edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_1", on_number_button_clicked, "1"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_2", on_number_button_clicked, "2"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_3", on_number_button_clicked, "3"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_4", on_number_button_clicked, "4"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_5", on_number_button_clicked, "5"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_6", on_number_button_clicked, "6"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_7", on_number_button_clicked, "7"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_8", on_number_button_clicked, "8"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_9", on_number_button_clicked, "9"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_0", on_number_button_clicked, "0"); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_clear", on_number_button_clear, ml); edje_object_signal_callback_add(ed, "mouse,clicked,1", "bt_enter", on_number_button_enter, ml); edje_object_signal_callback_add(ed, "mouse,clicked,1", "back", back_page_1, info); elm_naviframe_item_simple_push(pg, layout); info->pg2 = layout; elm_naviframe_item_simple_promote(info->pager, info->pg1); }
PREFIX value ml_evas_object_size_hint_weight_set(value v_obj, value v_x, value v_y) { evas_object_size_hint_weight_set((Evas_Object*) v_obj, Double_val(v_x), Double_val(v_y)); return Val_unit; }
static void _action_delete_cb(void *data, Enna_File *file) { Evas_Object *win; Evas_Object *bg; Evas_Object *fr; Evas_Object *lb; Evas_Object *bx; Evas_Object *btn_bx; Evas_Object *btn_ok; Evas_Object *btn_cancel; Enna_Localfiles_Priv *priv = data; const char *label; ENNA_OBJECT_DEL(priv->dialog); win = elm_win_add(enna->win, NULL, ELM_WIN_DIALOG_BASIC); elm_win_title_set(win, _("Delete files")); elm_win_autodel_set(win, EINA_TRUE); evas_object_data_set(win, "file", file); 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); evas_object_size_hint_min_set(bg, 400, 64); fr = elm_frame_add(win); elm_object_style_set(fr, "pad_medium"); evas_object_show(fr); elm_win_resize_object_add(win, fr); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, -1, -1); evas_object_show(bx); elm_frame_content_set(fr, bx); elm_box_padding_set(bx, 4, 4); lb = elm_label_add(win); elm_label_line_wrap_set(lb, ELM_WRAP_MIXED); elm_label_wrap_width_set(lb, 400); label = eina_stringshare_printf(_("Are you sure to delete <b>%s</b> ?"), file->label); elm_object_text_set(lb, label); eina_stringshare_del(label); evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(lb, 0.5, -1); evas_object_show(lb); elm_box_pack_end(bx, lb); btn_bx = elm_box_add(win); elm_box_horizontal_set(btn_bx, EINA_TRUE); evas_object_size_hint_weight_set(btn_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_bx, EVAS_HINT_FILL, 0.5); evas_object_show(btn_bx); elm_box_padding_set(btn_bx, 8, 2); btn_ok = elm_button_add(win); elm_object_text_set(btn_ok, _("Delete")); evas_object_show(btn_ok); evas_object_size_hint_weight_set(btn_ok, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_ok, EVAS_HINT_FILL, 0.5); elm_box_pack_end(btn_bx, btn_ok); evas_object_smart_callback_add(btn_ok, "clicked", _dialog_delete_ok_clicked_cb, priv); btn_cancel = elm_button_add(win); elm_object_text_set(btn_cancel, _("Cancel")); evas_object_show(btn_cancel); evas_object_size_hint_weight_set(btn_cancel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_cancel, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(btn_bx, btn_cancel); evas_object_smart_callback_add(btn_cancel, "clicked", _dialog_cancel_clicked_cb, priv); elm_box_pack_end(bx, btn_bx); evas_object_resize(win, 400, 128); evas_object_show(win); priv->dialog = win; }
minicontrol* mini_control_view_create(playback_service *p_ps, application *p_app) { minicontrol *mc = calloc(1, sizeof(*mc)); mc->p_ps = p_ps; mc->p_app = p_app; ps = p_ps; const Evas_Coord width = 720; const Evas_Coord height = 120; /* main widget */ mc->win = minicontrol_create_window("quickpanel", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, mini_control_event_cb); evas_object_resize(mc->win, width, height); evas_object_hide(mc->win); /* Create layout and set the theme */ Evas_Object *wlayout = elm_layout_add(mc->win); evas_object_resize(wlayout, width, height); //elm_win_resize_object_add(mc->win, layout); elm_layout_theme_set(wlayout, "layout", "application", "default"); evas_object_show(wlayout); /* Create the background */ Evas_Object *bg = elm_bg_add(wlayout); elm_bg_color_set(bg, 255, 255, 255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(bg); /* Set the background to the theme */ elm_object_part_content_set(wlayout, "elm.swallow.bg", bg); /* */ Evas_Object *layout = mc->layout = elm_layout_add(mc->win); elm_object_part_content_set(wlayout, "elm.swallow.content", layout); /* */ elm_layout_file_set(layout, QUICKPANELCONTROLS_EDJ, "quick_panel_controls"); evas_object_show(layout); mc->play_button = create_icon(layout, "ic_play_circle_normal_o.png"); mc->next_button = create_icon(layout, "ic_widget_next_normal.png"); mc->prev_button = create_icon(layout, "ic_widget_previous_normal.png"); mc->cover = create_icon(layout, "background_cone.png"); elm_object_part_content_set(layout, "swallow.play", mc->play_button); elm_object_part_content_set(layout, "swallow.cover", mc->cover); elm_object_part_content_set(layout, "swallow.previous", mc->prev_button); elm_object_part_content_set(layout, "swallow.next", mc->next_button); evas_object_event_callback_add(mc->play_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->next_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); evas_object_event_callback_add(mc->prev_button, EVAS_CALLBACK_MOUSE_UP, mini_control_action_cb, mc); Evas_Object *edje = elm_layout_edje_get(layout); edje_object_signal_callback_add(edje, "mouse,clicked,1", "hub_background", mini_control_background_action_cb, mc); /* */ Evas_Object *progress = mc->progress = elm_slider_add(layout); elm_slider_horizontal_set(progress, EINA_TRUE); elm_object_disabled_set(progress, EINA_TRUE); elm_object_part_content_set(layout, "swallow.progress", progress); return mc; }
static void on_contact_select(void *data, Evas_Object *obj, void *event_info) { Data_Contact *ctc = data; if (!ctc) { Evas_Object *win, *bx, *bt, *sc, *en; win = window; inwin2 = elm_win_inwin_add(win); elm_object_style_set(inwin2, "minimal_vertical"); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, 0.5); elm_box_pack_end(bx, sc); en = elm_entry_add(win); elm_entry_single_line_set(en, 1); elm_entry_entry_set(en, "Enter number..."); evas_object_size_hint_weight_set(en, 1.0, 0.0); evas_object_size_hint_align_set(en, -1.0, 0.0); elm_entry_select_all(en); elm_scroller_content_set(sc, en); evas_object_show(en); evas_object_show(sc); number_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); elm_object_focus(en); } else if (eina_list_count(ctc->tel.numbers) > 1) { Evas_Object *win, *bx, *bx2, *bt, *li, *fr, *ph, *lb; Eina_List *l; char *name, *file; win = window; inwin2 = elm_win_inwin_add(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); fr = elm_frame_add(win); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); elm_frame_label_set(fr, name); free(name); } evas_object_size_hint_weight_set(fr, 1.0, 0.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); elm_box_pack_end(bx, fr); evas_object_show(fr); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, 1); elm_frame_content_set(fr, bx2); evas_object_show(bx2); ph = elm_photo_add(win); file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); elm_photo_file_set(ph, file); free(file); } evas_object_size_hint_weight_set(ph, 0.0, 0.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); lb = elm_label_add(win); elm_label_label_set(lb, "This contact has multiple<br>" "numbers. Select one."); evas_object_size_hint_weight_set(lb, 1.0, 0.0); evas_object_size_hint_align_set(lb, -1.0, -1.0); elm_box_pack_end(bx2, lb); evas_object_show(lb); li = elm_list_add(win); evas_object_size_hint_weight_set(li, 1.0, 1.0); evas_object_size_hint_align_set(li, -1.0, -1.0); elm_box_pack_end(bx, li); for (l = (Eina_List *)(ctc->tel.numbers); l; l = l->next) { Data_Contact_Tel *tel = l->data; // FIXME: // tel->flags can be 0 or more of: // DATA_CONTACT_TEL_HOME = (1 << 0), // DATA_CONTACT_TEL_MSG = (1 << 1), // DATA_CONTACT_TEL_WORK = (1 << 2), // DATA_CONTACT_TEL_PREF = (1 << 3), // DATA_CONTACT_TEL_VOICE = (1 << 4), // DATA_CONTACT_TEL_FAX = (1 << 5), // DATA_CONTACT_TEL_CELL = (1 << 6), // DATA_CONTACT_TEL_VIDEO = (1 << 7), // DATA_CONTACT_TEL_PAGER = (1 << 8), // DATA_CONTACT_TEL_BBS = (1 << 9), // DATA_CONTACT_TEL_MODEM = (1 << 10), // DATA_CONTACT_TEL_CAR = (1 << 11), // DATA_CONTACT_TEL_ISDN = (1 << 12), // DATA_CONTACT_TEL_PCS = (1 << 13) elm_list_item_append(li, tel->number, NULL, NULL, on_number_select, tel); } elm_list_go(li); evas_object_show(li); bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_list_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); } else { Data_Contact_Tel *tel; char *name, *file; tel = ctc->tel.numbers->data; if (number) free(number); number = strdup(tel->number); elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } }
void ActivityScenariosView::buttonPressed(void *data, Evas_Object *_edje, std::string emission, std::string source) { if (source == "button.calendar") { Evas_Object *table = createPaddingTable(evas, parent, 330, 300, 10, 10); calendar = elm_calendar_add(parent); elm_object_style_set(calendar, "calaos"); elm_calendar_first_day_of_week_set(calendar, ELM_DAY_MONDAY); const char *weekdays[] = { "DIM", "LUN", "MAR", "MER", "JEU", "VEN", "SAM" }; elm_calendar_weekdays_names_set(calendar, weekdays); evas_object_smart_callback_add(calendar, "changed", _calendar_cb, this); //Mark sundays struct tm sunday = { 0, 0, 12, 7, 0, 0, 6, 0, -1, 0, NULL }; elm_calendar_mark_add(calendar, "checked", &sunday, ELM_CALENDAR_WEEKLY); elm_calendar_marks_draw(calendar); evas_object_size_hint_fill_set(calendar, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(calendar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(calendar); elm_table_pack(table, calendar, 1, 1, 1, 1); Evas_Object *popup = elm_ctxpopup_add(parent); elm_object_content_set(popup, table); elm_object_style_set(popup, "calaos"); elm_ctxpopup_direction_priority_set(popup, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT, ELM_CTXPOPUP_DIRECTION_UP); Evas_Coord x,y; evas_pointer_canvas_xy_get(evas, &x, &y); evas_object_move(popup, x, y); evas_object_show(popup); } else if (source == "button.calendar.today") { tzset(); //Force reload of timezone data time_t t = time(0); currDate = *localtime(&t); reloadCalendar(); } else if (source == "button.create") { buttonCreatePressed.emit(); } else if (source == "button.list.all") { view_mode = VIEW_MODE_ALL; loadScenarioList(); } else if (source == "button.list.light") { view_mode = VIEW_MODE_LIGHT; loadScenarioList(); } else if (source == "button.list.shutters") { view_mode = VIEW_MODE_SHUTTER; loadScenarioList(); } else if (source == "button.list.schedule") { view_mode = VIEW_MODE_SCHEDULE; loadScenarioList(); } }
int ewallset_main() { Evas_Object *win, *bg, *bx, *bx2, *bx3, *bt, *ic, *image , *frame, *rd, *rdg,*sl; int tw,th; char buf[1024]; e->win = elm_win_add(NULL, "Ewallset", ELM_WIN_BASIC); elm_win_autodel_set(e->win, 1); evas_object_focus_set(e->win, 1); evas_object_smart_callback_add(e->win, "delete,request", usr_click_cancel, NULL); bg = elm_bg_add(e->win); elm_win_resize_object_add(e->win, bg); evas_object_size_hint_weight_set(bg, 1.0, 1.0); evas_object_show(bg); bx = elm_box_add(e->win); evas_object_size_hint_weight_set(bx, 1.0, 1.0); elm_win_resize_object_add(e->win,bx); evas_object_show(bx); image = elm_image_add(bx); elm_image_file_set(image, e->image_file, NULL); evas_object_size_hint_weight_set(image, 1.0, 1.0); evas_object_size_hint_align_set(image, -1.0, -1.0); elm_image_object_size_get(image,&e->w,&e->h); get_correct_size(410,e->w,e->h,&tw,&th,BY_HEIGHT); //printf("Res:%dx%d \n",e->w,e->h); //_get_correct_size(w,h,&tw,&th); evas_object_size_hint_min_set(image, tw, th); elm_box_pack_end(bx, image); evas_object_show(image); snprintf(buf, sizeof(buf), "Ewallset - %s", ecore_file_file_get(e->image_file)); elm_win_title_set(e->win, buf); e->quality = 90; sl = elm_slider_add(e->win); elm_slider_indicator_show_set(sl, EINA_FALSE); elm_object_text_set(sl, "Quality"); elm_slider_unit_format_set(sl, "%1.0f Percent"); elm_slider_span_size_set(sl, 250); elm_slider_min_max_set(sl, 10, 100); elm_slider_value_set(sl, e->quality); evas_object_smart_callback_add(sl, "delay,changed", slider_change_cb, NULL); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, 0.0, 0.0); elm_box_pack_end(bx, sl); evas_object_show(sl); frame = elm_frame_add(e->win); elm_object_text_set(frame,"Where to place this Wallpaper"); elm_object_style_set(frame,"outdent_bottom"); elm_box_pack_end(bx, frame); evas_object_show(frame); bx3 = elm_box_add(e->win); elm_box_horizontal_set(bx3, 1); elm_object_content_set(frame,bx3); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 0); elm_object_text_set(rd, "All Desktops"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); e->rdg = rd; rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 1); elm_radio_group_add(rd, e->rdg); elm_object_text_set(rd, "This Desktop"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, 2); elm_radio_group_add(rd, e->rdg); elm_object_text_set(rd, "This Screen"); evas_object_smart_callback_add(rd, "changed", desk_changed,e->rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); ecore_timer_add(0.1,get_config_timer,NULL); frame = elm_frame_add(e->win); elm_object_text_set(frame,"Fill and Stretch Options"); elm_object_style_set(frame,"outdent_top"); elm_box_pack_end(bx, frame); evas_object_show(frame); bx3 = elm_box_add(e->win); elm_box_horizontal_set(bx3, 1); elm_box_homogeneous_set(bx3, EINA_TRUE); elm_object_content_set(frame,bx3); evas_object_show(bx3); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_STRETCH); elm_object_text_set(rd, "Stretch"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rdg = rd; rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_CENTER); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Center"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_IN); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Within"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_OUT); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Fill"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); rd = elm_radio_add(e->win); elm_radio_state_value_set(rd, IMPORT_SCALE_ASPECT_IN_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile-In"); evas_object_smart_callback_add(rd, "changed", selection_changed,rdg); elm_box_pack_end(bx3, rd); evas_object_show(rd); elm_radio_value_set(rdg, 0); bx2 = elm_box_add(e->win); elm_box_horizontal_set(bx2, 1); elm_box_homogeneous_set(bx2, EINA_TRUE); elm_box_pack_end(bx, bx2); evas_object_show(bx2); ic = elm_icon_add(e->win); elm_icon_file_set(ic, "/usr/share/ewallset/data/dialog-ok.png", NULL); bt = elm_button_add(bx2); elm_object_text_set(bt, "Continue"); //elm_button_icon_set(bt, ic); evas_object_smart_callback_add(bt, "clicked", usr_click_ok, NULL); elm_box_pack_end(bx2, bt); evas_object_show(bt); ic = elm_icon_add(e->win); elm_icon_file_set(ic, "/usr/share/ewallset/data/dialog-cancel.png", NULL); bt = elm_button_add(bx2); elm_object_text_set(bt, "Cancel"); //elm_button_icon_set(bt, ic); evas_object_smart_callback_add(bt, "clicked", usr_click_cancel, NULL); elm_box_pack_end(bx2, bt); evas_object_show(bt); evas_object_show(e->win); //evas_object_del(e->win); return 0; }
EOLIAN static void _jk_spinner_efl_canvas_group_group_add(Eo *obj, Jk_Spinner_Data *priv) { printf("jk spinner group group add \n"); ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); JK_SPINNER_DATA_GET(obj, sd); efl_canvas_group_add(efl_super(obj, JK_SPINNER_CLASS)); elm_widget_sub_object_parent_add(obj); /* pd->rect = evas_object_rectangle_add(evas_object_evas_get(obj)); //evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); evas_object_show(pd->rect); evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); int r,g,b,a; evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color before : %d, %d, %d, %d \n", r, g, b, a); // evas_object_smart_member_add(pd->rect, obj); //elm_layout_content_set(obj, "elm.swallow.content", pd->rect); evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color after : %d, %d, %d, %d \n", r, g, b, a); evas_object_color_set(pd->rect, rand() % 255, rand() % 255, rand() % 255, 255/2); elm_widget_sub_object_add(obj, pd->rect); evas_object_color_get(pd->rect, &r, &g, &b, &a); printf("color after 222: %d, %d, %d, %d \n", r, g, b, a); */ elm_layout_file_set(obj, "edc/entry.edj", "main"); Evas_Object* en = elm_entry_add(obj); elm_entry_single_line_set(en, EINA_TRUE); elm_entry_editable_set(en, EINA_FALSE); //pd->entry = en; evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); //evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); //evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); //elm_object_text_set(en, "<align=center>hello</align>"); //elm_entry_text_style_user_push(en, "DEFAULT='align=center'"); //elm_entry_text_style_user_push(en, "DEFAULT='color=#0f0'"); elm_entry_text_style_user_push(en, user_style); evas_object_data_set(obj, "realentry", en); const char* cur_style = elm_entry_text_style_user_peek(en); /* if (cur_style) printf("Current style user: %s\n", cur_style); else printf("Style user stack is empty.\n"); */ const char* yep = "aaa"; /* elm_object_text_set(en, "aaa"); if (test == 1) yep = "xxx"; if (test == 2) yep = "yyy"; if (test == 3) yep = "zzz"; test++; */ elm_object_text_set(en, yep); evas_object_name_set(en, yep); //elm_entry_scrollable_set(en, EINA_TRUE); //elm_entry_scrollbar_policy_set(en, // ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); //evas_object_smart_member_add(rect, en); elm_layout_content_set(obj, "content", en); elm_widget_sub_object_add(obj, en); evas_object_show(en); elm_widget_can_focus_set(obj, EINA_TRUE); elm_layout_sizing_eval(obj); evas_object_data_set(en, "smart", obj); /* evas_object_smart_callback_add(en, "activated", _entry_activated, obj); evas_object_smart_callback_add(en, "unfocused", _entry_unfocused, obj); evas_object_smart_callback_add(en, "changed,user", _entry_changed, obj); //evas_object_smart_callback_add(en, "focused", _select_all, pd); //evas_object_smart_callback_add(en, "selection,changed", _print_signal, "selection changed"); evas_object_smart_callback_add(en, "selection,cleared", _entry_cleared, pd); //evas_object_smart_callback_add(en, "selection,start", _print_signal, "selection start"); //evas_object_smart_callback_add(en, "clicked", _print_signal, "clicked"); //evas_object_smart_callback_add(en, "cursor,changed", _print_signal, "cursor,changed"); //evas_object_smart_callback_add(en, "cursor,changed,manual", _print_signal, "cursor,changed,manual"); elm_layout_signal_callback_add(obj, "mouse,down,1", "bg",_ondown, pd); elm_layout_signal_callback_add(obj, "mouse,move", "bg", _onmove, obj); elm_layout_signal_callback_add(obj, "mouse,up,1", "bg", _onup, obj); elm_layout_signal_callback_add(obj, "mouse,clicked,1", "bg", _onclicked, pd); elm_layout_signal_callback_add(obj, "drag", "*", _drag_cb, obj); elm_layout_signal_callback_add(obj, "drag,start", "*", _drag_start_cb, obj); elm_layout_signal_callback_add(obj, "drag,stop", "*", _drag_stop_cb, obj); elm_layout_signal_callback_add(obj, "drag,step", "*", _drag_stop_cb, obj); elm_layout_signal_callback_add(obj, "drag,page", "*", _drag_stop_cb, obj); */ }
/* 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; }
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(); return 0; }
static void on_trash(void *data, Evas_Object *obj, void *event_info) { Evas_Object *sc, *bx2; Eina_List *l, *mlist = NULL; int from, num, i; if (content) evas_object_del(content); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(box, sc); evas_object_show(sc); content = sc; bx2 = elm_box_add(window); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); elm_scroller_content_set(sc, bx2); evas_object_show(bx2); tzset(); for (l = (Eina_List *)data_message_all_list(); l; l = l->next) { // FIXME: use filter mlist = eina_list_append(mlist, l->data); } // sort newest first mlist = eina_list_sort(mlist, eina_list_count(mlist), _sort_msg_newest); // FIXME: from and num are inputs from = 0; // from message # 0 num = 50; // 50 messages max; for (l = mlist, i = 0; l; l = l->next, i++) { Data_Message *msg = l->data; if (!(msg->flags & DATA_MESSAGE_TRASH)) continue; if (i >= from) { if (i == from) { if (l->prev) { // FIXME: add a "newer" button } } Evas_Object *msgui = _create_message(window, msg); elm_box_pack_end(bx2, msgui); evas_object_show(msgui); } if (i >= (from + num - 1)) { if (l->next) { // FIXME: add a "older" button } break; } } eina_list_free(mlist); }
/* externally accessible functions */ Evas_Object * enna_photo_slideshow_add(Evas_Object *parent) { Smart_Data *sd; Evas_Object *bx, *bt, *ic; Evas_Coord w, h; sd = calloc(1, sizeof(Smart_Data)); sd->delay = enna_config->slideshow_delay; sd->layout = elm_layout_add(parent); elm_layout_file_set(sd->layout, enna_config_theme_get(), "enna/slideshow"); evas_object_size_hint_weight_set(sd->layout, 1.0, 1.0); evas_object_show(sd->layout); sd->slideshow = elm_slideshow_add(sd->layout); elm_slideshow_transition_set(sd->slideshow, "horizontal"); elm_slideshow_loop_set(sd->slideshow, 1); // sd->controls = elm_notify_add(sd->layout); // elm_notify_orient_set(sd->controls, ELM_NOTIFY_ORIENT_BOTTOM); evas_object_geometry_get(enna->layout, NULL, NULL, &w, &h); evas_object_move(sd->controls, 0, 0); evas_object_resize(sd->controls, w, h); //elm_object_style_set(sd->controls, "enna_bottom"); /* Fixme : add a config value */ // elm_notify_timeout_set(sd->controls, 10); bx = elm_box_add(sd->layout); elm_box_horizontal_set(bx, 1); // elm_notify_content_set(sd->controls, bx); evas_object_show(bx); evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN, _mouse_in, sd); evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT, _mouse_out, sd); ELM_ADD ("icon/mp_prev", _button_clicked_prev_cb); ELM_ADD ("icon/mp_pause", _button_clicked_play_cb); sd->btplay = bt; ELM_ADD ("icon/mp_next", _button_clicked_next_cb); ELM_ADD ("icon/mp_stop", _button_clicked_stop_cb); sd->spin = elm_spinner_add(bx); elm_spinner_label_format_set(sd->spin, "%2.f secs."); evas_object_smart_callback_add(sd->spin, "changed", _spin, sd); elm_spinner_step_set(sd->spin, 1); elm_spinner_min_max_set(sd->spin, 1, 100); elm_spinner_value_set(sd->spin, sd->delay); elm_box_pack_end(bx, sd->spin); evas_object_show(sd->spin); #ifdef FEATURE_ROTATION ELM_ADD ("icon/rotate_ccw", _button_clicked_rotate_ccw_cb); ELM_ADD ("icon/rotate_cw", _button_clicked_rotate_cw_cb); #endif /* FEATURE_ROTATION */ evas_object_show(sd->layout); evas_object_show(sd->slideshow); elm_layout_content_set(sd->layout, "enna.content.swallow", sd->slideshow); evas_object_data_set(sd->layout, "sd", sd); sd->state = 4; /* Catch mouse wheel event */ evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_WHEEL, _mouse_wheel_cb, sd); /* connect to the input signal */ sd->listener = enna_input_listener_add("slideshow", _input_events_cb, sd->layout); enna_input_listener_demote(sd->listener); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_UP, _controls_show, sd); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_MOUSE_MOVE, _controls_show, sd); evas_object_event_callback_add(sd->layout, EVAS_CALLBACK_DEL, _sd_del, sd); return sd->layout; }
void create_compose(Data_Message *rep_to, const char *to, const char *text) { Evas_Object *bx, *bx2, *ph, *lb, *bt, *sc, *en; if (content) evas_object_del(content); reply_to = NULL; if (number) { free(number); number = NULL; } if (rep_to) { reply_to = rep_to; if (reply_to->from_to) number = strdup(reply_to->from_to); } if (to) { if (number) free(number); number = strdup(to); } bx = elm_box_add(window); evas_object_size_hint_weight_set(bx, 1.0, 1.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); content = bx; bx2 = elm_box_add(window); elm_box_horizontal_set(bx2, 1); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); ph = elm_photo_add(window); evas_object_smart_callback_add(ph, "clicked", on_to_select, NULL); evas_object_size_hint_weight_set(ph, 0.0, 1.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); write_ph = ph; lb = elm_label_add(window); elm_label_label_set(lb, "Select..."); evas_object_size_hint_weight_set(lb, 1.0, 1.0); evas_object_size_hint_align_set(lb, -1.0, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_lb = lb; lb = elm_label_add(window); elm_label_label_set(lb, "0"); evas_object_size_hint_weight_set(lb, 0.0, 1.0); evas_object_size_hint_align_set(lb, 0.5, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_stat = lb; if (number) { Data_Contact *ctc = data_contact_by_tel_find(number); if (ctc) { char *name, *file; elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } } elm_box_pack_end(bx, bx2); evas_object_show(bx2); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(bx, sc); en = elm_entry_add(window); if (text) elm_entry_entry_set(en, text); else elm_entry_entry_set(en, ""); evas_object_size_hint_weight_set(en, 1.0, 1.0); evas_object_size_hint_align_set(en, -1.0, -1.0); elm_scroller_content_set(sc, en); evas_object_smart_callback_add(en, "changed", on_edit, NULL); evas_object_show(en); evas_object_show(sc); sms_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "Send"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_send, NULL); evas_object_show(bt); elm_box_pack_end(box, bx); evas_object_show(bx); }
static void _action_create_folder_cb(void *data, Enna_File *file) { Evas_Object *win; Evas_Object *bg; Evas_Object *fr; Evas_Object *en; Evas_Object *lb; Evas_Object *bx; Evas_Object *btn_bx; Evas_Object *btn_ok; Evas_Object *btn_cancel; Enna_Localfiles_Priv *priv = data; win = elm_win_add(enna->win, NULL, ELM_WIN_DIALOG_BASIC); elm_win_title_set(win, _("Create New Folder")); elm_win_autodel_set(win, EINA_TRUE); evas_object_data_set(win, "file", file); 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); evas_object_size_hint_min_set(bg, 400, 64); fr = elm_frame_add(win); elm_object_style_set(fr, "pad_medium"); evas_object_show(fr); elm_win_resize_object_add(win, fr); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, -1, -1); evas_object_show(bx); elm_frame_content_set(fr, bx); elm_box_padding_set(bx, 4, 4); lb = elm_label_add(win); elm_object_text_set(lb, _("Enter folder name")); evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(lb, 0.5, -1); evas_object_show(lb); elm_box_pack_end(bx, lb); en = elm_entry_add(win); elm_entry_single_line_set(en, EINA_TRUE); evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(en, -1, -1); elm_object_text_set(en, "New Folder"); elm_box_pack_end(bx, en); evas_object_show(en); evas_object_data_set(win, "entry", en); btn_bx = elm_box_add(win); elm_box_horizontal_set(btn_bx, EINA_TRUE); evas_object_size_hint_weight_set(btn_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_bx, EVAS_HINT_FILL, 0.5); evas_object_show(btn_bx); elm_box_padding_set(btn_bx, 8, 2); btn_ok = elm_button_add(win); elm_object_text_set(btn_ok, _("Create")); evas_object_show(btn_ok); evas_object_size_hint_weight_set(btn_ok, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_ok, EVAS_HINT_FILL, 0.5); evas_object_smart_callback_add(btn_ok, "clicked", _dialog_create_folder_ok_clicked_cb, priv); elm_box_pack_end(btn_bx, btn_ok); btn_cancel = elm_button_add(win); elm_object_text_set(btn_cancel, _("Cancel")); evas_object_show(btn_cancel); evas_object_size_hint_weight_set(btn_cancel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn_cancel, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(btn_cancel, "clicked", _dialog_cancel_clicked_cb, priv); elm_box_pack_end(btn_bx, btn_cancel); elm_box_pack_end(bx, btn_bx); evas_object_show(win); priv->dialog = win; }
static bool app_create(void *data) { /* Hook to take necessary actions before main event loop starts * Initialize UI resources and application's data * If this function returns true, the main loop of application starts * If this function returns false, the application is terminated. */ Evas_Object *gl; appdata_s *ad = data; if (!data) return false; /* Create the window */ ad->win = add_win(ad->name); if (!ad->win) return false; create_indicator(ad); 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); /* Create and initialize GLView */ gl = elm_glview_add(ad->conform); ELEMENTARY_GLVIEW_GLOBAL_USE(gl); evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); /* Request a surface with alpha and a depth buffer */ elm_glview_mode_set(gl, ELM_GLVIEW_DEPTH); /* The resize policy tells GLView what to do with the surface when it * resizes. ELM_GLVIEW_RESIZE_POLICY_RECREATE will tell it to * destroy the current surface and recreate it to the new size. */ elm_glview_resize_policy_set(gl, ELM_GLVIEW_RESIZE_POLICY_RECREATE); /* The render policy sets how GLView should render GL code. * ELM_GLVIEW_RENDER_POLICY_ON_DEMAND will have the GL callback * called only when the object is visible. * ELM_GLVIEW_RENDER_POLICY_ALWAYS would cause the callback to be * called even if the object were hidden. */ elm_glview_render_policy_set(gl, ELM_GLVIEW_RENDER_POLICY_ON_DEMAND); /* The initialize callback function gets registered here */ elm_glview_init_func_set(gl, init_gl); /* The delete callback function gets registered here */ elm_glview_del_func_set(gl, del_gl); /* The resize callback function gets registered here */ elm_glview_resize_func_set(gl, resize_gl); /* The render callback function gets registered here */ elm_glview_render_func_set(gl, draw_gl); /* Add the GLView to the conformant and show it */ elm_object_content_set(ad->conform, gl); evas_object_show(gl); elm_object_focus_set(gl, EINA_TRUE); /* This adds an animator so that the app will regularly * trigger updates of the GLView using elm_glview_changed_set(). * * NOTE: If you delete GL, this animator will keep running trying to access * GL so this animator needs to be deleted with ecore_animator_del(). */ ad->ani = ecore_animator_add(anim, gl); evas_object_data_set(gl, "ad", ad); evas_object_event_callback_add(gl, EVAS_CALLBACK_DEL, del_anim, gl); evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_DOWN, mouse_down_cb, ad); evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_UP, mouse_up_cb, ad); evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_MOVE, mouse_move_cb, ad); evas_object_show(ad->win); /* Return true: the main loop will now start running */ return true; }
EAPI int elm_main(int argc, char **argv) { Ecore_X_Window *roots = NULL; int num = 0, i = 0; roots = ecore_x_window_root_list(&num); if ((!roots) || (num <= 0)) return EXIT_FAILURE; for (i = 0; i < num; i++) { Ecore_X_Window *zones; int x = 0, count = 0; count = ecore_x_window_prop_window_list_get(roots[i], ECORE_X_ATOM_E_ILLUME_ZONE_LIST, &zones); if (!zones) continue; for (x = 0; x < count; x++) { Evas_Object *win; Evas_Object *bg, *box, *btn, *icon; Ecore_X_Window xwin; Ecore_X_Window_State states[2]; char buff[PATH_MAX]; int zx, zy, zw, zh; /* create new window */ win = elm_win_add(NULL, "Illume-Softkey", ELM_WIN_DOCK); elm_win_title_set(win, "Illume Softkey"); evas_object_smart_callback_add(win, "delete-request", _cb_win_del, NULL); evas_object_data_set(win, "zone", (const void *)zones[x]); xwin = elm_win_xwindow_get(win); ecore_x_icccm_hints_set(xwin, 0, 0, 0, 0, 0, 0, 0); states[0] = ECORE_X_WINDOW_STATE_SKIP_TASKBAR; states[1] = ECORE_X_WINDOW_STATE_SKIP_PAGER; ecore_x_netwm_window_state_set(xwin, states, 2); 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); elm_box_horizontal_set(box, EINA_TRUE); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, box); evas_object_show(box); icon = elm_icon_add(win); snprintf(buff, sizeof(buff), "%s/images/back.png", PACKAGE_DATA_DIR); elm_icon_file_set(icon, buff, NULL); evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); btn = elm_button_add(win); elm_button_icon_set(btn, icon); evas_object_smart_callback_add(btn, "clicked", _cb_btn_back_clicked, win); evas_object_size_hint_align_set(btn, 1.0, 0.5); elm_box_pack_end(box, btn); evas_object_show(btn); evas_object_show(icon); icon = elm_icon_add(win); snprintf(buff, sizeof(buff), "%s/images/close.png", PACKAGE_DATA_DIR); elm_icon_file_set(icon, buff, NULL); evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); btn = elm_button_add(win); elm_button_icon_set(btn, icon); evas_object_smart_callback_add(btn, "clicked", _cb_btn_close_clicked, win); evas_object_size_hint_align_set(btn, 1.0, 0.5); elm_box_pack_end(box, btn); evas_object_show(btn); evas_object_show(icon); ecore_x_window_geometry_get(zones[x], &zx, &zy, &zw, &zh); ecore_x_e_illume_softkey_geometry_set(zones[x], zx, (zy + zh - 40), zw, 40); evas_object_move(win, zx, (zy + zh - 40)); evas_object_resize(win, zw, 40); evas_object_show(win); } free(zones); } free(roots); elm_run(); elm_shutdown(); return EXIT_SUCCESS; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *bx, *hbx, *li, *bt; win = elm_win_add(NULL, "list", ELM_WIN_BASIC); elm_win_title_set(win, "List Items Example"); evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); 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); li = elm_list_add(win); evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, li); elm_list_item_append(li, "Item 0", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 1", NULL, NULL, NULL, NULL); elm_list_item_append(li, "Item 2", NULL, NULL, NULL, NULL); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Prepend item"); evas_object_smart_callback_add(bt, "clicked", _prepend_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append item"); evas_object_smart_callback_add(bt, "clicked", _add_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Append with icon"); evas_object_smart_callback_add(bt, "clicked", _add_ic_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with selected function"); evas_object_smart_callback_add(bt, "clicked", _add_func_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Append with data"); evas_object_smart_callback_add(bt, "clicked", _add_data_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Delete item"); evas_object_smart_callback_add(bt, "clicked", _del_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Unselect item"); evas_object_smart_callback_add(bt, "clicked", _unselect_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Print items"); evas_object_smart_callback_add(bt, "clicked", _print_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Clear"); evas_object_smart_callback_add(bt, "clicked", _clear_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Select next item"); evas_object_smart_callback_add(bt, "clicked", _select_next_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert after item"); evas_object_smart_callback_add(bt, "clicked", _insert_after_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Select previous item"); evas_object_smart_callback_add(bt, "clicked", _select_prev_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Insert before item"); evas_object_smart_callback_add(bt, "clicked", _insert_before_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, hbx); evas_object_show(hbx); bt = elm_button_add(win); elm_object_text_set(bt, "Set as separator"); evas_object_smart_callback_add(bt, "clicked", _set_separator_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Disable item"); evas_object_smart_callback_add(bt, "clicked", _disable_cb, li); elm_box_pack_end(hbx, bt); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0); evas_object_show(bt); elm_list_go(li); evas_object_show(li); evas_object_resize(win, 320, 600); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI int elm_main(int argc, char **argv) { Evas_Object *window; Evas_Object *layout; Evas_Object *edje; Evas_Object *grid; Evas_Object *list; char path[PATH_MAX]; Eina_Bool quit_option = EINA_FALSE; int args; Ecore_Getopt_Value values[] = { ECORE_GETOPT_VALUE_BOOL(crazy_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_NONE }; _log_domain = eina_log_domain_register("Excessive", NULL); if (_log_domain < 0) { EINA_LOG_CRIT("could not create log domain 'Excessive'."); return -1; } args = ecore_getopt_parse(&options, values, argc, argv); if (args < 0) { ERR("could not parse command line options."); return -1; } if (quit_option) return 0; excessive_browse_init(); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_theme_extension_add(NULL, PACKAGE_DATA_DIR "/themes/theme.edj"); elm_theme_overlay_add(NULL, PACKAGE_DATA_DIR "/themes/theme.edj"); elm_need_efreet(); elm_need_ethumb(); window = elm_win_add(NULL, PACKAGE_NAME, ELM_WIN_BASIC); if (!window) { ERR("could'nt create window."); return -1; } /* FIXME: later remember last size */ elm_win_alpha_set(window, 1); evas_object_resize(window, 800, 600); elm_win_title_set(window, PACKAGE_STRING); elm_win_autodel_set(window, 1); layout = elm_layout_add(window); if (!layout) { ERR("couldn't create layout object."); return -1; } evas_object_size_hint_align_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_weight_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(window, layout); if (!elm_layout_theme_set(layout, "layout", "application", "content")) { ERR("could not load style 'content' from theme"); return -1; } evas_object_show(layout); evas_object_show(window); edje = elm_layout_edje_get(layout); grid = edje_object_part_external_object_get(edje, "grid"); evas_object_data_set(grid, "excessive/layout", layout); evas_object_data_set(layout, "excessive/win", window); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_gengrid_bounce_set(grid, EINA_FALSE, EINA_TRUE); elm_gengrid_align_set(grid, 0.5, 0.5); elm_gengrid_item_size_set(grid, 128, 128); excessive_browse_load(layout); list = edje_object_part_external_object_get(edje, "shortcut"); excessive_shortcut_init(list, grid); if (argc < args + 1) { getcwd(path, PATH_MAX); excessive_browse_directory(grid, path); } else { excessive_browse_directory(grid, argv[args]); } elm_run(); excessive_shortcut_shutdown(); excessive_browse_shutdown(); return 0; }
// alarm main window - setup static void create_main_win(void) { Evas_Object *win, *bg, *box, *subbox, *toggle, *cloc, *button; win = elm_win_add(NULL, "main", ELM_WIN_BASIC); elm_win_title_set(win, "Set Alarm"); evas_object_smart_callback_add(win, "delete-request", on_win_del_req, NULL); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, 1.0, 1.0); // expand h/v 1/1 (for win this also fills) elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); evas_object_size_hint_weight_set(box, 1.0, 1.0); // expand h/v 1/1 (for win this also fills) elm_win_resize_object_add(win, box); toggle = elm_toggle_add(win); elm_toggle_label_set(toggle, "Enabled"); elm_toggle_states_labels_set(toggle, "ON", "OFF"); elm_toggle_state_pointer_set(toggle, &(alm.on)); evas_object_size_hint_weight_set(toggle, 1.0, 0.0); // expand h/v 1/0 evas_object_size_hint_align_set(toggle, -1.0, 0.0); // fill h/v 1/0 elm_box_pack_end(box, toggle); evas_object_show(toggle); cloc = elm_clock_add(win); elm_clock_show_am_pm_set(cloc, 1); elm_clock_edit_set(cloc, 1); elm_clock_time_set(cloc, alm.hours, alm.minutes, 0); evas_object_smart_callback_add(cloc, "changed", on_clock_changed, NULL); elm_box_pack_end(box, cloc); evas_object_show(cloc); toggle = elm_toggle_add(win); elm_toggle_label_set(toggle, "Repeat"); elm_toggle_states_labels_set(toggle, "ON", "OFF"); elm_toggle_state_pointer_set(toggle, &(alm.repeat)); evas_object_size_hint_weight_set(toggle, 1.0, 0.0); // expand h/v 1/0 evas_object_size_hint_align_set(toggle, -1.0, 0.0); // fill h/v 1/0 elm_box_pack_end(box, toggle); evas_object_show(toggle); cloc = elm_clock_add(win); elm_clock_show_am_pm_set(cloc, 1); elm_clock_show_seconds_set(cloc, 0); elm_box_pack_end(box, cloc); evas_object_show(cloc); button = elm_button_add(win); elm_button_label_set(button, "OK"); evas_object_smart_callback_add(button, "clicked", on_button_activate, NULL); evas_object_size_hint_weight_set(button, 1.0, 1.0); // expand h/v 1/0 evas_object_size_hint_align_set(button, -1.0, 1.0); // fill h/v 1/0, align h/v ?/1.0 elm_box_pack_end(box, button); evas_object_show(button); evas_object_show(box); evas_object_show(win); }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *conform, *btn, *bx, *en; win = elm_win_add(NULL, "conformant", ELM_WIN_BASIC); elm_win_title_set(win, "Conformant Example"); elm_win_autodel_set(win, EINA_TRUE); elm_win_conformant_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_win_resize_object_add(win, bg); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bg); conform = elm_conformant_add(win); elm_win_resize_object_add(win, conform); evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(conform); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); btn = elm_button_add(win); elm_object_text_set(btn, "Test Conformant"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, btn); evas_object_show(btn); en = elm_entry_add(win); elm_entry_scrollable_set(en, EINA_TRUE); elm_object_text_set(en, "This is a multi-line entry at the bottom<br>" "This can contain more than 1 line of text and be " "scrolled around to allow for entering of lots of " "content. It is also to test to see that autoscroll " "moves to the right part of a larger multi-line " "text entry that is inside of a scroller than can be " "scrolled around, thus changing the expected position " "as well as cursor changes updating auto-scroll when " "it is enabled."); evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(en); elm_box_pack_end(bx, en); btn = elm_button_add(win); elm_object_text_set(btn, "Test Conformant"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0); elm_box_pack_end(bx, btn); evas_object_show(btn); elm_object_content_set(conform, bx); evas_object_show(bx); evas_object_resize(win, 240, 480); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
static void create_alarm_win(void) { Evas_Object *win, *bg, *frame, *box, *subbox, *toggle, *cloc, *button, *label; win = elm_win_add(NULL, "main", ELM_WIN_BASIC); elm_win_title_set(win, "Alarm"); evas_object_smart_callback_add(win, "delete-request", on_win_del_req, NULL); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, 1.0, 1.0); // expand h/v 1/1 (for win this also fills) elm_win_resize_object_add(win, bg); evas_object_show(bg); box = elm_box_add(win); evas_object_size_hint_weight_set(box, 1.0, 1.0); // expand h/v 1/1 (for win this also fills) elm_win_resize_object_add(win, box); frame = elm_frame_add(win); evas_object_size_hint_weight_set(frame, 1.0, 0.0); // expand h/v 1/0 evas_object_size_hint_align_set(frame, -1.0, 0.0); // fill h/v 1/0 elm_frame_label_set(frame, "State"); subbox = elm_box_add(win); elm_frame_content_set(frame, subbox); label = elm_label_add(win); elm_label_label_set(label, "<br>" "<b>Alarm Message</b><br>" "<br>"); elm_box_pack_end(subbox, label); evas_object_show(label); evas_object_show(subbox); elm_box_pack_end(box, frame); evas_object_show(frame); frame = elm_frame_add(win); evas_object_size_hint_weight_set(frame, 1.0, 0.0); // expand h/v 1/0 evas_object_size_hint_align_set(frame, -1.0, 0.0); // fill h/v 1/0 elm_frame_label_set(frame, "Current Time"); subbox = elm_box_add(win); elm_frame_content_set(frame, subbox); cloc = elm_clock_add(win); elm_clock_show_am_pm_set(cloc, 1); elm_clock_show_seconds_set(cloc, 1); elm_box_pack_end(subbox, cloc); evas_object_show(cloc); evas_object_show(subbox); elm_box_pack_end(box, frame); evas_object_show(frame); button = elm_button_add(win); elm_button_label_set(button, "Set new alarm"); evas_object_smart_callback_add(button, "clicked", on_set_button_activate, NULL); evas_object_size_hint_weight_set(button, 1.0, 1.0); // expand h/v 1/0 evas_object_size_hint_align_set(button, -1.0, 0.0); // fill h/v 1/0, align h/v ?/1.0 elm_box_pack_end(box, button); evas_object_show(button); button = elm_button_add(win); elm_button_label_set(button, "OK"); evas_object_smart_callback_add(button, "clicked", on_button_activate, NULL); evas_object_size_hint_weight_set(button, 1.0, 1.0); // expand h/v 1/0 evas_object_size_hint_align_set(button, -1.0, 1.0); // fill h/v 1/0, align h/v ?/1.0 elm_box_pack_end(box, button); evas_object_show(button); evas_object_show(box); evas_object_show(win); }
void vm_info_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Genlist_Item *gl; vmitem *item; zrpc_vm *vm; const char *os_icon, *state; char tmp[PATH_MAX]; Eina_List *l; zrpc_disk *d; zrpc_vif *v; int cpus; elm_toolbar_item_unselect_all(win->main_vm->bar); gl = elm_genlist_selected_item_get(win->main_vm->list); if (!gl) return; ecore_timer_del(win->timerget); item = (vmitem*)elm_genlist_item_data_get(gl); vm = item->vm; win->info->vmuuid = eina_stringshare_ref(vm->uuid); evas_object_smart_callback_del(win->main_vm->list, "clicked", vm_info_cb); create_info_vm(); win->info->state = NULL; zinfo_job_updatevm(win); for (cpus = 0;cpus < vm->vcpus;cpus++) { win->info->cpus = elm_icon_add(win->win); elm_icon_file_set(win->info->cpus, "images/cpu.png", NULL); elm_icon_scale_set(win->info->cpus, 0, 0); elm_icon_smooth_set(win->info->cpus, 1); evas_object_size_hint_weight_set(win->info->state_icon, 0.0, 0.0); evas_object_size_hint_align_set(win->info->state_icon, 0.0, 1.0); elm_box_pack_after(win->info->vbox2, win->info->cpus, win->info->state_label); evas_object_show(win->info->cpus); } elm_frame_label_set(win->info->frame, vm->name); os_icon = get_os_icon(vm); elm_icon_file_set(win->info->os_icon, os_icon, NULL); eina_stringshare_del(os_icon); elm_label_label_set(win->info->os, vm->os); elm_label_label_set (win->info->uuid, vm->uuid); elm_label_label_set(win->info->puuid, vm->puuid); EINA_LIST_FOREACH(vm->disks, l, d) elm_hoversel_item_add(win->info->disks, d->ext_dev, NULL, ELM_ICON_NONE, NULL, d); state = get_state_icon(vm->state); elm_icon_file_set(win->info->state_icon, state, NULL); eina_stringshare_del(state); EINA_LIST_FOREACH(vm->vifs, l, v) elm_hoversel_item_add(win->info->vifs, v->name, NULL, ELM_ICON_NONE, NULL, v); sprintf(tmp, "Kernel: %s", vm->kernel); elm_label_label_set(win->info->kernel, tmp); sprintf(tmp, "Ramdisk: %s", vm->ramdisk); elm_label_label_set(win->info->ramdisk, tmp); sprintf(tmp, "Kernel args: %s", vm->cmdline); elm_label_label_set(win->info->cmdline, tmp); evas_object_key_ungrab(win->win, "Up", 0, 0); evas_object_key_ungrab(win->win, "Down", 0, 0); evas_object_key_ungrab(win->win, "Left", 0, 0); evas_object_key_ungrab(win->win, "Right", 0, 0); evas_object_key_ungrab(win->win, "Home", 0, 0); evas_object_key_ungrab(win->win, "End", 0, 0); elm_flip_content_back_set(win->main_vm->fl, win->info->frame); win->view = win->info->vmview; elm_flip_go(win->main_vm->fl, ELM_FLIP_ROTATE_X_CENTER_AXIS); EINA_LIST_FREE(win->elist, item) free_vmitem(item); win->elist = NULL; eina_list_free(win->list); win->list = NULL; evas_object_hide(win->main_vm->box2); evas_object_del(win->main_vm->box2); win->timerget = ecore_timer_add(5, zinfo_job_updatevm, NULL); }
void flickr_sync_update(Enlil_Album *album) { Enlil_Album_Data *album_data = enlil_album_user_data_get(album); Evas_Object *fr, *tb2, *lbl, *bt, *sep, *pb, *pager; Evas_Object *inwin = album_data->netsync.inwin.win; Evas_Object *tb = album_data->netsync.inwin.tb; int i = 0; Eina_List *l; Enlil_Photo *photo; int nb_photos; char buf[1024]; if (album_data->netsync.inwin.fr) evas_object_del( album_data->netsync.inwin.fr); // fr = elm_frame_add(inwin); album_data->netsync.inwin.fr = fr; elm_object_text_set(fr, D_("Synchronise an album with flickr")); evas_object_size_hint_weight_set(fr, 1.0, 1.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); evas_object_show(fr); elm_table_padding_set(tb, 1, 1); elm_table_pack(tb, fr, 0, 0, 3, 1); tb2 = elm_table_add(inwin); evas_object_size_hint_weight_set(tb2, 1.0, 0.0); evas_object_size_hint_align_set(tb2, -1.0, 1.0); elm_table_padding_set(tb2, 15, 5); evas_object_show(tb2); elm_object_content_set(fr, tb2); // if (album_data->netsync.album_netsync_notuptodate) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Update the flickr album header.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt1 = bt; elm_object_text_set(bt, D_("Update")); evas_object_smart_callback_add(bt, "clicked", _netsync_notuptodate_cb, album); evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.album_notinnetsync) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("The album is not in Flickr.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt2 = bt; elm_object_text_set(bt, D_("Add the album in Flickr")); evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_smart_callback_add(bt, "clicked", _album_notinnetsync_cb, album); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.album_local_notuptodate) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Update the local album header.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); bt = elm_button_add(inwin); album_data->netsync.inwin.bt3 = bt; evas_object_size_hint_align_set(bt, 0.5, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_smart_callback_add(bt, "clicked", _local_notuptodate_cb, album); elm_object_text_set(bt, D_("Update")); evas_object_show(bt); elm_table_pack(tb2, bt, 1, i, 1, 1); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } if (album_data->netsync.photos_notinlocal) { lbl = elm_label_add(inwin); elm_object_text_set(lbl, D_("Some photos are not in the local album.")); evas_object_show(lbl); elm_table_pack(tb2, lbl, 0, i, 1, 1); pager = elm_naviframe_add(inwin); album_data->netsync.inwin.notinlocal.pager = pager; evas_object_size_hint_align_set(pager, 0.5, 0.5); evas_object_size_hint_weight_set(pager, 1.0, 0.0); evas_object_show(pager); elm_table_pack(tb2, pager, 1, i, 1, 1); elm_object_style_set(pager, "fade_invisible"); bt = elm_button_add(inwin); album_data->netsync.inwin.notinlocal.bt = bt; album_data->netsync.inwin.bt4 = bt; evas_object_size_hint_align_set(bt, -1.0, 0.5); evas_object_size_hint_weight_set(bt, 1.0, 0.0); elm_object_text_set(bt, D_("Download Them All")); evas_object_smart_callback_add(bt, "clicked", _photos_notinlocal_cb, album); evas_object_show(bt); elm_naviframe_item_simple_push(pager, bt); pb = elm_progressbar_add(inwin); album_data->netsync.inwin.notinlocal.pb = pb; evas_object_size_hint_align_set(pb, -1.0, 0.5); evas_object_size_hint_weight_set(pb, 1.0, 0.0); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_object_text_set(pb, D_("Downloads in progress ...")); evas_object_show(pb); elm_naviframe_item_simple_push(pager, pb); evas_object_size_hint_max_set(pb, 0, 0); if (album_data->netsync.inwin.notinlocal.is_updating) { elm_progressbar_pulse(pb, EINA_TRUE); elm_naviframe_item_simple_promote(pager, pb); } else elm_naviframe_item_simple_promote(pager, bt); i++; sep = elm_separator_add(inwin); evas_object_show(sep); elm_table_pack(tb2, sep, 0, i, 2, 1); i++; } nb_photos = 0; EINA_LIST_FOREACH(enlil_album_photos_get(album), l, photo) { Enlil_Photo_Data *photo_data = enlil_photo_user_data_get(photo); if (photo_data && photo_data->netsync.state == PHOTO_FLICKR_NOTINFLICKR) { nb_photos++; } }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *vbox, *hbox, *ic, *ck, *fs_bt, *en, *lb, *sep; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("fileselector-button", "File Selector Button Example"); elm_win_autodel_set(win, EINA_TRUE); vbox = elm_box_add(win); evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, vbox); evas_object_show(vbox); ic = elm_icon_add(win); elm_icon_standard_set(ic, "file"); evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); /* file selector button */ fs_bt = elm_fileselector_button_add(win); elm_fileselector_path_set(fs_bt, "/tmp"); elm_object_text_set(fs_bt, "Select a file"); elm_object_part_content_set(fs_bt, "icon", ic); elm_box_pack_end(vbox, fs_bt); evas_object_show(fs_bt); evas_object_show(ic); /* attribute setting knobs */ sep = elm_separator_add(win); elm_separator_horizontal_set(sep, EINA_TRUE); elm_box_pack_end(vbox, sep); evas_object_show(sep); hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); elm_box_pack_end(vbox, hbox); evas_object_show(hbox); ck = elm_check_add(win); elm_object_text_set(ck, "editable selection"); elm_check_state_set(ck, elm_fileselector_is_save_get(fs_bt)); evas_object_smart_callback_add(ck, "changed", _current_sel_toggle, fs_bt); elm_box_pack_end(hbox, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "\"inwin\" mode"); elm_check_state_set(ck, elm_fileselector_button_inwin_mode_get(fs_bt)); evas_object_smart_callback_add(ck, "changed", _inwin_mode_toggle, fs_bt); elm_box_pack_end(hbox, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "folders only"); elm_check_state_set(ck, elm_fileselector_folder_only_get(fs_bt)); evas_object_smart_callback_add(ck, "changed", _folder_only_toggle, fs_bt); elm_box_pack_end(hbox, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "expandable"); elm_check_state_set(ck, elm_fileselector_expandable_get(fs_bt)); evas_object_smart_callback_add(ck, "changed", _expandable_toggle, fs_bt); elm_box_pack_end(hbox, ck); evas_object_show(ck); lb = elm_label_add(win); elm_object_text_set(lb, "Last selection:"); elm_box_pack_end(vbox, lb); evas_object_show(lb); en = elm_entry_add(win); elm_entry_line_wrap_set(en, EINA_FALSE); elm_entry_editable_set(en, EINA_FALSE); evas_object_smart_callback_add(fs_bt, "file,chosen", _file_chosen, en); elm_box_pack_end(vbox, en); evas_object_show(en); evas_object_resize(win, 400, 400); evas_object_show(win); elm_run(); return 0; }
int set0(Evas *e){ Evas_Object *img, *proxy; bool rv; int w,h; struct imageupdate *iu; //int minw,minh,maxw,maxh; label_add(e,10,0,"The Source",false); img = evas_object_image_filled_add(e); evas_object_image_file_set(img, images[0], NULL); evas_object_image_size_get(img, &w, &h); w = w/2; h = h/2; evas_object_resize(img, w, h); evas_object_move(img, 10,10); evas_object_show(img); iu = calloc(1,sizeof(struct imageupdate)); iu->cur = 0; iu->max = N_IMAGES; iu->obj = img; iu->imagelist = images; ecore_timer_add(1.4, image_next, iu); label_add(e,20+w,0,"Normal Proxy",false); proxy = evas_object_image_filled_add(e); if (!proxy){ printf("Unable to create proxy object\n"); return 1; } rv = evas_object_image_source_set(proxy, img); if (rv != true){ printf("Error setting proxy source\n"); return 1; } evas_object_resize(proxy, w, h); evas_object_move(proxy, 20 + w, 10); /* If this is uncommented: Moves proxy evyer second (swap x/y) */ //iu->proxy = proxy; evas_object_show(proxy); label_add(e,10,h + 20, "Reflected Proxy",false); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 10, 30+h); evas_object_show(proxy); flip_map(proxy); label_add(e,20+w,h+20,"Squish Proxy",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h / 2); evas_object_image_fill_set(proxy, 0,0, w, h/2); evas_object_move(proxy, 20+w, 30+h); evas_object_show(proxy); /* Proxy a label */ img = label_add(e, 300, 10, "Label Source ",true); evas_object_geometry_get(img, NULL, NULL, &w, &h); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 300, 10 + h + 3); evas_object_show(proxy); flip_map(proxy); label_add(e, 440, 10, "Squish Label",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h / 2); evas_object_image_fill_set(proxy, 0,0,w,h/2); evas_object_move(proxy, 440, 10 + h + 3); evas_object_show(proxy); label_add(e, 440, 60, "Stretch Label",false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_image_fill_set(proxy, 0,0,w, h); evas_object_move(proxy, 440, 60 + h + 3); evas_object_show(proxy); label_add(e, 240, 60, "Highlight", false); proxy = evas_object_image_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, 50,50); evas_object_image_fill_set(proxy, -w/2,-h/2,w*3,h*3); evas_object_move(proxy, 250, 60 + h + 3); evas_object_show(proxy); img = label_add(e, 400, 120, "Zoomy Text!", false); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 350, 150); zoom_map(proxy); evas_object_show(proxy); /* Proxy a text block */ img = textblock_add(e, 10, 200); evas_object_geometry_get(img, NULL, NULL, &w, &h); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 10, 320); evas_object_show(proxy); flip_map(proxy); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w/2, h/2); evas_object_move(proxy, 10 + w, 320); evas_object_show(proxy); /* The 'smart' object */ img = sp_add(e); evas_object_move(img, 300,200); evas_object_resize(img, 100, 20); ecore_timer_add(0.05, smart_animate, img); w = 100; h = 20; proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w, h); evas_object_move(proxy, 300, 240); evas_object_show(proxy); flip_map(proxy); proxy = evas_object_image_filled_add(e); evas_object_image_source_set(proxy, img); evas_object_resize(proxy, w * 2, h / 3); evas_object_image_fill_set(proxy, 0, 0, w * 2, h /3 ); evas_object_move(proxy, 420, 240); evas_object_show(proxy); img = evas_object_image_filled_add(e); proxy = evas_object_image_filled_add(e); evas_object_move(img, 500, 300); evas_object_move(proxy, 600, 300); evas_object_resize(img, 100, 100); evas_object_resize(proxy, 100, 100); evas_object_show(img); evas_object_show(proxy); evas_object_image_source_set(img, proxy); evas_object_image_source_set(proxy, img); #if 0 label_add(e, 300,90, "Edje File", false); img = edje_object_add(e); if (!_edje_load_or_show_error(img, "basic.edj", "proxytest")){ evas_object_del(img); } evas_object_resize(img,220,200); evas_object_move(img,300,100); evas_object_show(img); edje_object_size_max_get(img, &maxw, &maxh); edje_object_size_min_get(img, &minw, &minh); if ((minw <= 0) && (minh <= 0)) edje_object_size_min_calc(img, &minw, &minh); evas_object_size_hint_max_set(img, maxw, maxh); evas_object_size_hint_min_set(img, minw, minh); evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(img, EVAS_HINT_FILL, EVAS_HINT_FILL); #endif /* The edje file */ return 0; }