EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg; Elm_Object_Item *it; const char *data_dir; elm_app_info_set(elm_main, "elementary", "images"); data_dir = "./data"; snprintf(img1, sizeof(img1), "%s/01.jpg", data_dir); snprintf(img2, sizeof(img2), "%s/02.jpg", data_dir); snprintf(img3, sizeof(img3), "%s/03.jpg", data_dir); snprintf(img4, sizeof(img4), "%s/04.jpg", data_dir); snprintf(img5, sizeof(img5), "%s/05.jpg", data_dir); snprintf(img6, sizeof(img6), "%s/06.jpg", data_dir); snprintf(img7, sizeof(img7), "%s/07.jpg", data_dir); snprintf(img8, sizeof(img8), "%s/08.jpg", data_dir); snprintf(img9, sizeof(img9), "%s/09.jpg", data_dir); win = eailu_create_test_window_with_glib_init(NULL, _on_focus_in); evas_object_resize(win, 600, 400); evas_object_show(win); 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); slideshow = elm_slideshow_add(win); elm_slideshow_loop_set(slideshow, EINA_TRUE); elm_slideshow_cache_before_set(slideshow, 8); elm_slideshow_cache_after_set(slideshow, 8); evas_object_size_hint_weight_set(slideshow, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, slideshow); evas_object_show(slideshow); itc.func.get = _get; itc.func.del = NULL; elm_slideshow_item_sorted_insert(slideshow, &itc, img1, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img2, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img3, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img4, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img5, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img6, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img7, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img8, _cmp_func); elm_slideshow_item_sorted_insert(slideshow, &itc, img9, _cmp_func); /*show last item, otherwise tests fail*/ it = elm_slideshow_item_nth_get(slideshow, 8); elm_slideshow_item_show(it); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg; Evas_Object *thumb; char buf[PATH_MAX]; #ifdef ELM_ETHUMB Ethumb_Client *client; #endif elm_need_ethumb(); elm_app_info_set(elm_main, "elementary", "images/plant_01.jpg"); win = elm_win_add(NULL, "thumb", ELM_WIN_BASIC); elm_win_title_set(win, "Thumbnailer"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); 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); #ifdef ELM_ETHUMB client = elm_thumb_ethumb_client_get(); if (!client) { printf("error: could not get Ethumb client.\n"); return 1; } ethumb_client_size_set(client, 160, 160); #endif thumb = elm_thumb_add(win); evas_object_smart_callback_add(thumb, "generate,start", _generation_started_cb, NULL); evas_object_smart_callback_add(thumb, "generate,stop", _generation_finished_cb, NULL); evas_object_smart_callback_add(thumb, "generate,error", _generation_error_cb, NULL); elm_thumb_editable_set(thumb, EINA_FALSE); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); elm_thumb_file_set(thumb, buf, NULL); elm_thumb_reload(thumb); evas_object_size_hint_weight_set(thumb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, thumb); evas_object_show(thumb); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); /* and run the program now, starting to handle all * events, etc. */ elm_shutdown(); /* clean up and shut down */ /* exit code */ return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *grid, *idx; Elm_Object_Item *gg_it; unsigned int i; Elm_Gengrid_Item_Class gic; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_app_info_set(elm_main, "elementary", "images"); win = elm_win_util_standard_add("index", "Index Example"); elm_win_autodel_set(win, EINA_TRUE); grid = elm_gengrid_add(win); elm_gengrid_item_size_set(grid, 150, 150); gic.item_style = "default"; gic.func.text_get = _grid_label_get; gic.func.content_get = _grid_content_get; gic.func.state_get = NULL; gic.func.del = NULL; evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, grid); evas_object_show(grid); idx = elm_index_add(win); evas_object_size_hint_weight_set(idx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, idx); evas_object_show(idx); for (i = 0; i < (sizeof(items) / sizeof(items[0])); i++) { char buf[32]; gg_it = elm_gengrid_item_append(grid, &gic, (void *)i, NULL, NULL); /* indexing by first letters */ snprintf(buf, sizeof(buf), "%c", items[i][0]); elm_index_item_sorted_insert(idx, buf, NULL, gg_it, _index_icmp, NULL); } evas_object_smart_callback_add(idx, "delay,changed", _index_changed, NULL); elm_index_autohide_disabled_set(idx, EINA_FALSE); elm_index_level_go(idx, 0); evas_object_resize(win, 320, 300); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *obj, *photocam; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "images/insanely_huge_test_image.jpg"); win = elm_win_add(NULL, "photocam", ELM_WIN_BASIC); elm_win_title_set(win, "Photocam"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); 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); photocam = elm_photocam_add(win); snprintf(buf, sizeof(buf), "%s/images/insanely_huge_test_image.jpg", elm_app_data_dir_get()); elm_photocam_file_set(photocam, buf); elm_scroller_bounce_set(photocam, EINA_FALSE, EINA_TRUE); evas_object_smart_callback_add(photocam, "loaded,detail", _bring_in, NULL); evas_object_resize(photocam, 500, 400); evas_object_show(photocam); obj = elm_button_add(win); elm_object_text_set(obj, "Fit"); evas_object_show(obj); evas_object_resize(obj, 50, 30); evas_object_move(obj, 10, 410); evas_object_smart_callback_add(obj, "clicked", _fit, photocam); obj = elm_button_add(win); elm_object_text_set(obj, "Unfit"); evas_object_show(obj); evas_object_resize(obj, 70, 30); evas_object_move(obj, 70, 410); evas_object_smart_callback_add(obj, "clicked", _unfit, photocam); obj = elm_slider_add(win); elm_object_text_set(obj, "Zoom"); evas_object_show(obj); evas_object_resize(obj, 300, 30); evas_object_move(obj, 150, 410); evas_object_smart_callback_add(obj, "changed", _zoom, photocam); evas_object_resize(win, 500, 440); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *btn, *layout; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "examples/layout_example.edj"); win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Adding layout layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); snprintf(buf, sizeof(buf), "%s/examples/layout_example.edj", elm_app_data_dir_get()); elm_layout_file_set(layout, buf, "example/mylayout3"); evas_object_show(layout); elm_object_signal_callback_add(layout, "size,changed", "", _size_changed_cb, layout); // Setting title const char *title = elm_layout_data_get(layout, "title"); if (title) { elm_win_title_set(win, title); elm_object_part_text_set(layout, TITLE, title); } btn = elm_button_add(win); elm_object_text_set(btn, "Enlarge me!"); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_content_set(layout, SWALLOW, btn); evas_object_smart_callback_add(btn, "clicked", _swallow_btn_cb, layout); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 160, 160); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *image; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "images/plant_01.jpg"); win = elm_win_add(NULL, "image", ELM_WIN_BASIC); elm_win_title_set(win, "Image"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); image = elm_image_add(win); if (!elm_image_file_set(image, buf, NULL)) { printf("error: could not load image \"%s\"\n", buf); return -1; } elm_image_no_scale_set(image, EINA_TRUE); elm_image_resizable_set(image, EINA_FALSE, EINA_TRUE); elm_image_smooth_set(image, EINA_FALSE); elm_image_orient_set(image, ELM_IMAGE_FLIP_HORIZONTAL); elm_image_aspect_fixed_set(image, EINA_TRUE); elm_image_fill_outside_set(image, EINA_TRUE); elm_image_editable_set(image, EINA_TRUE); evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, image); evas_object_show(image); evas_object_size_hint_min_set(bg, 160, 160); evas_object_size_hint_max_set(bg, 640, 640); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *icon, *icon2, *bt, *bt2, *layout; Evas_Object *clk; Evas_Object *item; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "examples/layout_example.edj"); win = elm_win_add(NULL, "layout", ELM_WIN_BASIC); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); elm_bg_color_set(bg, 255,255 ,255); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); // Adding layout and filling it with widgets layout = elm_layout_add(win); evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, layout); snprintf(buf, sizeof(buf), "%s/examples/layout_example.edj", elm_app_data_dir_get()); elm_layout_file_set(layout, buf, "example/mylayout"); evas_object_show(layout); // Setting title const char *title = elm_layout_data_get(layout, "title"); if (title) { elm_win_title_set(win, title); elm_object_part_text_set(layout, TITLE, title); } // Add icon, clock and button to the table icon = elm_icon_add(win); elm_icon_standard_set(icon, "home"); evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(icon, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, icon, 0, 0, 1, 1); evas_object_show(icon); icon2 = elm_icon_add(win); elm_icon_standard_set(icon2, "close"); evas_object_size_hint_weight_set(icon2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(icon2, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, icon2, 1, 0, 1, 1); evas_object_show(icon2); clk = elm_clock_add(win); evas_object_size_hint_weight_set(clk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(clk, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, clk, 2, 0, 1, 1); evas_object_show(clk); bt = elm_button_add(win); elm_object_text_set(bt, "Click me!"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_table_pack(layout, TABLE, bt, 0, 1, 3, 1); evas_object_smart_callback_add(bt, "clicked", _tbl_btn_cb, layout); evas_object_show(bt); item = elm_button_add(win); elm_object_text_set(item, "Position 0"); evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_box_insert_at(layout, BOX, item, 0); evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout); evas_object_show(item); item = elm_button_add(win); elm_object_text_set(item, "Prepended"); evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(item, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_layout_box_prepend(layout, BOX, item); evas_object_smart_callback_add(item, "clicked", _box_btn_cb, layout); evas_object_show(item); bt2 = elm_button_add(win); elm_object_text_set(bt2, "Delete All"); elm_object_part_content_set(layout, SWALLOW, bt2); evas_object_smart_callback_add(bt2, "clicked", _swallow_btn_cb, layout); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *popup, *btn1, *btn2, *btn3, *icon1; char buf[256]; elm_app_info_set(elm_main, "elementary", "images/logo_small.png"); win = elm_win_add(NULL, "popup", ELM_WIN_BASIC); elm_win_title_set(win, "Popup"); elm_win_autodel_set(win, EINA_TRUE); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); 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); popup = elm_popup_add(win); // Setting popup content-text elm_object_text_set(popup, "This is the Content-Text for popup. The wrap" "for the content-text is character wrapping"); // Setting the wrapping type to character wrapping elm_popup_content_text_wrap_type_set(popup, ELM_WRAP_CHAR); // Seting popup title-text elm_object_part_text_set(popup, "title,text", "Title"); icon1 = elm_icon_add(popup); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); elm_icon_file_set(icon1, buf, NULL); //Setting popup title-icon elm_object_part_content_set(popup, "title,icon", icon1); // Creating the first action button btn1 = elm_button_add(popup); elm_object_text_set(btn1, "OK"); // Setting the fist action button elm_object_part_content_set(popup, "button1", btn1); evas_object_smart_callback_add(btn1, "clicked", _response_cb, popup); // Creating the second action button btn2 = elm_button_add(popup); elm_object_text_set(btn2, "Cancel"); // Setting the second action button elm_object_part_content_set(popup, "button2", btn2); evas_object_smart_callback_add(btn2, "clicked", _response_cb, popup); btn3 = elm_button_add(popup); elm_object_text_set(btn3, "Close"); // Setting this action button elm_object_part_content_set(popup, "button3", btn3); // Setting the orientation of popup to Top elm_popup_orient_set(popup, ELM_POPUP_ORIENT_TOP); // Display the popup object evas_object_show(popup); evas_object_resize(win, 480, 800); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *obj, *icon, *box, *vbox, *btn, *dummy; Eina_List *objs = NULL; char buf[PATH_MAX]; int i; elm_app_info_set(elm_main, "elementary", "images/icon_07.png"); /* add a window */ win = elm_win_add(NULL, "transit", ELM_WIN_BASIC); elm_win_title_set(win, "Transit Example"); evas_object_smart_callback_add(win, "delete,request", on_done, NULL); elm_win_autodel_set(win, EINA_TRUE); /* add a scalable white background to this window */ bg = elm_bg_add(win); 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_min_set(bg, 640, 640); evas_object_size_hint_max_set(bg, 640, 640); 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); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); dummy = elm_bg_add(win); evas_object_size_hint_weight_set(dummy, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(box, dummy); evas_object_show(dummy); /* add an object that we are going to play with */ obj = elm_button_add(win); elm_object_text_set(obj, "Transformed object!"); icon = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/icon_07.png", elm_app_data_dir_get()); elm_icon_file_set(icon, buf, NULL); elm_object_part_content_set(obj, "icon", icon); evas_object_move(obj, 160, 60); evas_object_resize(obj, 250, 100); evas_object_show(obj); objs = eina_list_append(objs, obj); /* add another object that we are going to play with */ obj = elm_button_add(win); elm_object_text_set(obj, "Another object!"); icon = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/icon_08.png", elm_app_data_dir_get()); elm_icon_file_set(icon, buf, NULL); elm_object_part_content_set(obj, "icon", icon); evas_object_move(obj, 160, 60); evas_object_resize(obj, 250, 100); objs = eina_list_append(objs, obj); btn = elm_button_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_text_set(btn, "Transit!"); elm_box_pack_end(box, btn); evas_object_show(btn); evas_object_smart_callback_add(btn, "clicked", _transit_start, objs); vbox = elm_box_add(win); evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_size_hint_align_set(vbox, EVAS_HINT_FILL, 0.0); for (i = 0; _transitions[i].label; i++) _checkbox_transition_add(vbox, _transitions[i].label, &_transitions[i].checked); elm_box_pack_end(box, vbox); evas_object_show(vbox); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *obj, *photocam, *menu; Orient_Data *orient_data; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "images/insanely_huge_test_image.jpg"); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("photocam", "Photocam"); elm_win_autodel_set(win, EINA_TRUE); photocam = elm_photocam_add(win); snprintf(buf, sizeof(buf), "%s/images/insanely_huge_test_image.jpg", elm_app_data_dir_get()); elm_photocam_file_set(photocam, buf); elm_scroller_bounce_set(photocam, EINA_FALSE, EINA_TRUE); evas_object_smart_callback_add(photocam, "loaded,detail", _bring_in, NULL); evas_object_resize(photocam, 500, 400); evas_object_show(photocam); obj = elm_button_add(win); elm_object_text_set(obj, "Fit"); evas_object_show(obj); evas_object_resize(obj, 50, 30); evas_object_move(obj, 10, 410); evas_object_smart_callback_add(obj, "clicked", _fit, photocam); obj = elm_button_add(win); elm_object_text_set(obj, "Unfit"); evas_object_show(obj); evas_object_resize(obj, 70, 30); evas_object_move(obj, 70, 410); evas_object_smart_callback_add(obj, "clicked", _unfit, photocam); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 0; menu = elm_menu_add(win); elm_menu_item_add(menu, NULL, NULL, "orient 0", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 1; elm_menu_item_add(menu, NULL, NULL, "orient 90", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 2; elm_menu_item_add(menu, NULL, NULL, "orient 180", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 3; elm_menu_item_add(menu, NULL, NULL, "orient 270", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 4; elm_menu_item_add(menu, NULL, NULL, "flip horizontal", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 5; elm_menu_item_add(menu, NULL, NULL, "flip vertical", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 6; elm_menu_item_add(menu, NULL, NULL, "flip transverse", _orient_do, orient_data); orient_data = (Orient_Data *)malloc(sizeof(Orient_Data)); orient_data->ph = photocam; orient_data->orient = 7; elm_menu_item_add(menu, NULL, NULL, "flip transpose", _orient_do, orient_data); obj = elm_button_add(win); elm_object_text_set(obj, "Orient"); evas_object_show(obj); evas_object_resize(obj, 70, 30); evas_object_move(obj, 470, 410); evas_object_smart_callback_add(obj, "clicked", _orient, menu); obj = elm_slider_add(win); elm_object_text_set(obj, "Zoom"); evas_object_show(obj); evas_object_resize(obj, 300, 30); evas_object_move(obj, 150, 410); evas_object_smart_callback_add(obj, "changed", _zoom, photocam); evas_object_resize(win, 500, 440); evas_object_show(win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { int h; Evas_Object *win, *bg, *box, *frame, *check, *b, *slider; /* tell elm about our app so it can figure out where to get files */ elm_app_compile_bin_dir_set(BIN_DIR); elm_app_compile_data_dir_set(DATA_DIR); elm_app_compile_lib_dir_set(LIB_DIR); elm_app_info_set(elm_main, "elementary", "images/logo.png"); fprintf(stdout, "prefix was set to: %s\n", elm_app_prefix_dir_get()); fprintf(stdout, "data directory is: %s\n", elm_app_data_dir_get()); fprintf(stdout, "library directory is: %s\n", elm_app_lib_dir_get()); fprintf(stdout, "locale directory is: %s\n", elm_app_locale_dir_get()); win = elm_win_add(NULL, "top-level-funcs-example", ELM_WIN_BASIC); elm_win_title_set(win, "Elementary Top-level Functions Example"); /* by using this policy value, we avoid having to * evas_object_smart_callback_add(win, "delete,request", _on_exit, NULL), * calling elm_exit() on that callback ourselves. */ elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_win_autodel_set(win, EINA_TRUE); 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, 160, 160); /* outer box */ box = elm_box_add(win); evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, box); evas_object_show(box); frame = elm_frame_add(win); elm_object_text_set(frame, "Button"); evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(frame); elm_box_pack_end(box, frame); d.btn = elm_button_add(win); elm_object_text_set(d.btn, "Click me"); elm_object_content_set(frame, d.btn); fprintf(stdout, "Elementary's finger size is set to %d pixels\n.", elm_config_finger_size_get()); elm_coords_finger_size_adjust(0, NULL, 3, &h); /* so, button will be 3 fingers tall */ evas_object_size_hint_min_set(d.btn, 0, h); evas_object_show(d.btn); b = elm_box_add(win); elm_box_horizontal_set(b, EINA_FALSE); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(win, b); elm_box_pack_end(box, b); evas_object_show(b); check = elm_check_add(win); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(check, 0.0, 0.0); elm_object_text_set(check, "Button enabled"); elm_check_state_pointer_set(check, &d.btn_enabled); evas_object_smart_callback_add(check, "changed", _btn_enabled_cb, NULL); elm_box_pack_end(box, check); evas_object_show(check); b = elm_button_add(win); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, 0.0, 0.0); elm_object_text_set(b, "Focus top button"); evas_object_smart_callback_add(b, "clicked", _btn_focus_cb, NULL); elm_box_pack_end(box, b); evas_object_show(b); b = elm_button_add(win); evas_object_size_hint_weight_set(b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(b, 0.0, 0.0); elm_object_text_set(b, "Unfocus top button"); evas_object_smart_callback_add(b, "clicked", _btn_unfocus_cb, NULL); elm_box_pack_end(box, b); evas_object_show(b); check = elm_check_add(win); evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(check, 0.0, 0.0); elm_object_text_set(check, "Button gets focus"); elm_check_state_pointer_set(check, &d.btn_gets_focus); evas_object_smart_callback_add(check, "changed", _btn_focus_allow_cb, NULL); elm_box_pack_end(box, check); evas_object_show(check); slider = elm_slider_add(win); elm_slider_min_max_set(slider, 0, 4); elm_slider_unit_format_set(slider, "%1.1f"); elm_slider_indicator_format_set(slider, "%1.1f"); evas_object_size_hint_weight_set( slider, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(slider, "changed", _btn_scale_cb, NULL); elm_box_pack_end(box, slider); evas_object_show(slider); evas_object_resize(win, WIDTH, HEIGHT); elm_win_focus_highlight_enabled_set(win, EINA_TRUE); evas_object_show(win); elm_run(); /* and run the program now, starting to handle all * events, etc. */ elm_shutdown(); /* clean up and shut down */ /* exit code */ return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "images/logo_small.png"); win = elm_win_add(NULL, "progressbar", ELM_WIN_BASIC); elm_win_title_set(win, "Progress bar 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); elm_win_resize_object_add(win, bx); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(bx); /* pb with no label, default unit label and no icon */ pb = elm_progressbar_add(win); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb1 = pb; /* pb with label, and set to pulse */ pb = elm_progressbar_add(win); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_object_text_set(pb, "Infinite bounce"); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb2 = pb; ic1 = elm_icon_add(win); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); elm_icon_file_set(ic1, buf, NULL); evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); /* pb with label, icon, custom unit label and span size set */ pb = elm_progressbar_add(win); elm_object_text_set(pb, "Label"); elm_object_part_content_set(pb, "icon", ic1); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.1f units"); elm_progressbar_span_size_set(pb, 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(ic1); evas_object_show(pb); example_data.pb3 = pb; hbx = elm_box_add(win); elm_box_horizontal_set(hbx, EINA_TRUE); evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, hbx); evas_object_show(hbx); /* vertical pb */ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); elm_object_text_set(pb, "percent"); evas_object_show(pb); example_data.pb4 = pb; /* vertical pb, with pulse and custom (small) span size */ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_progressbar_span_size_set(pb, 80); elm_progressbar_pulse_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, NULL); elm_object_text_set(pb, "Infinite bounce"); elm_box_pack_end(hbx, pb); evas_object_show(pb); example_data.pb5 = pb; ic2 = elm_icon_add(win); elm_icon_file_set(ic2, buf, NULL); evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); /* vertical pb, inverted, with custom unit format and icon*/ pb = elm_progressbar_add(win); elm_progressbar_horizontal_set(pb, EINA_FALSE); elm_object_text_set(pb, "Label"); elm_object_part_content_set(pb, "icon", ic2); elm_progressbar_inverted_set(pb, EINA_TRUE); elm_progressbar_unit_format_set(pb, "%1.2f%%"); elm_progressbar_span_size_set(pb, 200); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx, pb); evas_object_show(ic2); evas_object_show(pb); example_data.pb6 = pb; /* "wheel" style progress bar */ pb = elm_progressbar_add(win); elm_object_style_set(pb, "wheel"); elm_object_text_set(pb, "Style: wheel"); evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, pb); evas_object_show(pb); example_data.pb7 = pb; bt_bx = elm_box_add(win); elm_box_horizontal_set(bt_bx, EINA_TRUE); evas_object_size_hint_weight_set(bt_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(bx, bt_bx); evas_object_show(bt_bx); bt = elm_button_add(win); elm_object_text_set(bt, "Start"); evas_object_smart_callback_add(bt, "clicked", _progressbar_example_start, NULL); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Stop"); evas_object_smart_callback_add(bt, "clicked", _progressbar_example_stop, NULL); elm_box_pack_end(bt_bx, bt); evas_object_show(bt); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg, *map, *box, *bt; Eina_List *ovls = NULL; Elm_Map_Overlay *ovl, *city_clas, *country_clas; char buf[255]; elm_app_info_set(elm_main, "elementary", "images"); data_dir = elm_app_data_dir_get(); snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", "sdf"); data_argentina.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", "sdf"); data_chile.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", "sdf"); data_sampa.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", "sdf"); data_rio.file = strdup(buf); snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", "sdf"); data_brasilia.file = strdup(buf); win = elm_win_add(NULL, "map", ELM_WIN_BASIC); elm_win_title_set(win, "Map Overlay 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); map = elm_map_add(win); elm_win_resize_object_add(win, map); evas_object_size_hint_weight_set(map, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_show(map); box = elm_box_add(win); evas_object_show(box); bt = elm_button_add(win); elm_object_text_set(bt, "+"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_in, map); bt = elm_button_add(win); elm_object_text_set(bt, "-"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_out, map); bt = elm_button_add(win); elm_object_text_set(bt, "X"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fit, map); bt = elm_button_add(win); elm_object_text_set(bt, "#"); elm_box_pack_end(box, bt); evas_object_show(bt); evas_object_smart_callback_add(bt, "clicked", _bt_zoom_fill, map); evas_object_smart_callback_add(map, "overlay,clicked", _overlay_cb, NULL); city_clas = elm_map_overlay_class_add(map); elm_map_overlay_displayed_zoom_min_set(city_clas, 3); elm_map_overlay_icon_set(city_clas, _clas_city_icon_get(map)); country_clas = elm_map_overlay_class_add(map); elm_map_overlay_displayed_zoom_min_set(country_clas, 1); elm_map_overlay_icon_set(country_clas, _clas_country_icon_get(map)); ovl = elm_map_overlay_add(map, -43.2, -22.9); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_rio); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -46.63, -23.55); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_sampa); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -47.88, -15.78); elm_map_overlay_icon_set(ovl, _city_icon_get(map)); elm_map_overlay_data_set(ovl, &data_brasilia); elm_map_overlay_class_append(city_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -65.23, -35.1); elm_map_overlay_icon_set(ovl, _country_icon_get(map)); elm_map_overlay_data_set(ovl, &data_argentina); elm_map_overlay_class_append(country_clas, ovl); ovls = eina_list_append(ovls, ovl); ovl = elm_map_overlay_add(map, -71.3, -31.75); elm_map_overlay_icon_set(ovl, _country_icon_get(map)); elm_map_overlay_data_set(ovl, &data_chile); elm_map_overlay_class_append(country_clas, ovl); ovls = eina_list_append(ovls, ovl); elm_map_overlays_show(ovls); evas_object_resize(win, 512, 512); evas_object_show(win); ecore_timer_add(1, _nasty_hack, win); elm_run(); elm_shutdown(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { int ret = EXIT_FAILURE; int args; int i; Editor *ed; unsigned int ed_count = 0; Eina_Bool quit_opt = EINA_FALSE; Eina_Bool debug = EINA_FALSE; Ecore_Getopt_Value values[] = { ECORE_GETOPT_VALUE_BOOL(debug), ECORE_GETOPT_VALUE_BOOL(quit_opt), ECORE_GETOPT_VALUE_BOOL(quit_opt) }; const Module *mod_ptr; const Module *mod_end = &(_modules[EINA_C_ARRAY_LENGTH(_modules)]); const char *env; unsigned int debug_flags = 0; args = ecore_getopt_parse(&_options, values, argc, argv); if (args < 0) { EINA_LOG_CRIT("Getopt failed"); goto end; } /* Quit option requested? End now, with success */ if (quit_opt) { ret = EXIT_SUCCESS; goto end; } if (debug) debug_flags = ~0U; /* Are we running in tree? */ env = getenv("WAR2EDIT_IN_TREE"); _in_tree = (env) ? !!atoi(env) : EINA_FALSE; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_language_set(""); elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR); elm_app_compile_lib_dir_set(PACKAGE_LIB_DIR); elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); elm_app_info_set(elm_main, "war2edit", "sprites/units/units.eet"); if (EINA_UNLIKELY(!_edje_get(NULL))) { EINA_LOG_CRIT("Failed to get edje theme"); goto end; } for (mod_ptr = _modules; mod_ptr != mod_end; ++mod_ptr) { if (EINA_UNLIKELY(EINA_FALSE == mod_ptr->init())) { EINA_LOG_CRIT("Failed to initialize module \"%s\"", mod_ptr->name); goto modules_shutdown; } } /* Open editors for each specified files */ for (i = args; i < argc; ++i) { /* If an editor fails to open, don't close now */ ed = editor_new(argv[i], debug_flags); if (!ed) ERR("Failed to create editor with file \"%s\"", argv[i]); else ++ed_count; } if (ed_count == 0) { ed = editor_new(NULL, debug_flags); if (EINA_UNLIKELY(!ed)) { CRI("Failed to create editor"); goto modules_shutdown; } } /* === Main loop === */ elm_run(); ret = EXIT_SUCCESS; modules_shutdown: for (--mod_ptr; mod_ptr >= _modules; --mod_ptr) mod_ptr->shutdown(); end: if (_edje_file) { free(_edje_file); _edje_file = NULL; } return ret; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *grid, *bx, *hbx_1, *hbx_2, *hbx_3, *bt, *ck, *sl, *sp; Eina_Bool bounce; double h, v; srand(time(NULL)); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); elm_app_info_set(elm_main, "elementary", "images"); win = elm_win_util_standard_add("gengrid", "Generic Grid 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); grid = elm_gengrid_add(win); elm_gengrid_item_size_set(grid, 150, 150); evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx, grid); evas_object_smart_callback_add(grid, "clicked,double", _double_click, NULL); evas_object_smart_callback_add(grid, "longpressed", _long_pressed, NULL); evas_object_show(grid); hbx_1 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_1, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_1, EINA_TRUE); elm_box_pack_end(bx, hbx_1); evas_object_show(hbx_1); bt = elm_button_add(win); elm_object_text_set(bt, "Append"); evas_object_smart_callback_add(bt, "clicked", _append_bt_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Prepend"); evas_object_smart_callback_add(bt, "clicked", _prepend_bt_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); before_bt = elm_button_add(win); elm_object_text_set(before_bt, "Insert before"); evas_object_smart_callback_add(before_bt, "clicked", _before_bt_clicked, grid); elm_box_pack_end(hbx_1, before_bt); evas_object_show(before_bt); after_bt = elm_button_add(win); elm_object_text_set(after_bt, "Insert after"); evas_object_smart_callback_add(after_bt, "clicked", _after_bt_clicked, grid); elm_box_pack_end(hbx_1, after_bt); evas_object_show(after_bt); bt = elm_button_add(win); elm_object_text_set(bt, "Clear"); evas_object_smart_callback_add(bt, "clicked", _clear_cb, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Bring in 1st"); evas_object_smart_callback_add(bt, "clicked", _bring_1st_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Show last"); evas_object_smart_callback_add(bt, "clicked", _show_last_clicked, grid); elm_box_pack_end(hbx_1, bt); evas_object_show(bt); sp = elm_spinner_add(win); elm_spinner_min_max_set(sp, 10, 1024); elm_spinner_value_set(sp, 150); elm_spinner_label_format_set(sp, "Item size: %.0f"); evas_object_smart_callback_add(sp, "changed", _size_changed, grid); evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_box_pack_end(hbx_1, sp); evas_object_show(sp); hbx_2 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_2, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_2, EINA_TRUE); elm_box_pack_end(bx, hbx_2); evas_object_show(hbx_2); bt = elm_button_add(win); elm_object_text_set(bt, "Disable item"); evas_object_smart_callback_add(bt, "clicked", _toggle_disabled_cb, grid); elm_box_pack_end(hbx_2, bt); evas_object_show(bt); ck = elm_check_add(win); elm_object_text_set(ck, "Horizontal mode"); evas_object_smart_callback_add(ck, "changed", _horizontal_grid, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "Always select"); evas_object_smart_callback_add(ck, "changed", _always_select_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_scroller_bounce_get(grid, &bounce, NULL); elm_object_text_set(ck, "Bouncing"); elm_check_state_set(ck, bounce); evas_object_smart_callback_add(ck, "changed", _bouncing_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "Multi-selection"); elm_check_state_set(ck, elm_gengrid_multi_select_get(grid)); evas_object_smart_callback_add(ck, "changed", _multi_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); ck = elm_check_add(win); elm_object_text_set(ck, "No selection"); evas_object_smart_callback_add(ck, "changed", _no_sel_change, grid); elm_box_pack_end(hbx_2, ck); evas_object_show(ck); hbx_3 = elm_box_add(win); evas_object_size_hint_weight_set(hbx_3, EVAS_HINT_EXPAND, 0.0); elm_box_horizontal_set(hbx_3, EINA_TRUE); elm_box_pack_end(bx, hbx_3); evas_object_show(hbx_3); elm_gengrid_align_get(grid, &h, &v); evas_object_smart_callback_add(grid, "scroll,anim,stop", _grid_scroll_stopped_cb, NULL); sl = elm_slider_add(win); elm_object_text_set(sl, "Horiz. alignment"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, h); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); evas_object_smart_callback_add(sl, "changed", _h_align_change_cb, grid); sl = elm_slider_add(win); elm_object_text_set(sl, "Vert. alignment"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, v); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); evas_object_smart_callback_add(sl, "changed", _v_align_change_cb, grid); elm_gengrid_align_get(grid, &h, &v); sl = elm_slider_add(win); elm_object_text_set(sl, "Page rel. size"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, EVAS_HINT_FILL); evas_object_size_hint_weight_set(sl, 0.0, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%1.1f"); elm_slider_value_set(sl, h); elm_box_pack_end(hbx_3, sl); evas_object_show(sl); _page_change_cb(grid, sl, NULL); evas_object_smart_callback_add(sl, "changed", _page_change_cb, grid); if (!gic) { gic = elm_gengrid_item_class_new(); gic->item_style = "default"; gic->func.text_get = _grid_label_get; gic->func.content_get = _grid_content_get; gic->func.state_get = _grid_state_get; gic->func.del = _grid_del; } // we only create the first time its needed. we dont unref/free _append_bt_clicked(grid, NULL, NULL); _append_bt_clicked(grid, NULL, NULL); _append_bt_clicked(grid, NULL, NULL); evas_object_resize(win, 600, 600); evas_object_show(win); elm_run(); return 0; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *bg; Evas_Object *box, *hbox, *o_bg; Evas_Object *rd, *rdg; char buf[PATH_MAX]; elm_app_info_set(elm_main, "elementary", "objects/test.edj"); win = elm_win_add(NULL, "bg-options", ELM_WIN_BASIC); elm_win_title_set(win, "Bg Options"); evas_object_smart_callback_add(win, "delete,request", on_done, NULL); elm_win_autodel_set(win, EINA_TRUE); 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); o_bg = elm_bg_add(win); snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); elm_bg_file_set(o_bg, buf, NULL); evas_object_size_hint_weight_set(o_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(box, o_bg); evas_object_show(o_bg); hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_CENTER); elm_object_text_set(rd, "Center"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rdg = rd; rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_SCALE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Scale"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_STRETCH); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Stretch"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); rd = elm_radio_add(win); elm_radio_state_value_set(rd, ELM_BG_OPTION_TILE); elm_radio_group_add(rd, rdg); elm_object_text_set(rd, "Tile"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_radio_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); elm_radio_value_set(rdg, ELM_BG_OPTION_SCALE); rd = elm_check_add(win); elm_object_text_set(rd, "Show Overlay"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_overlay_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); /* color choices ... this is ghetto, but we don't have a 'colorpicker' * widget yet :( */ rd = elm_spinner_add(win); elm_object_style_set(rd, "vertical"); elm_spinner_min_max_set(rd, 1, 4); elm_spinner_label_format_set(rd, "%.0f"); elm_spinner_editable_set(rd, EINA_FALSE); elm_spinner_special_value_add(rd, 1, "White"); elm_spinner_special_value_add(rd, 2, "Red"); elm_spinner_special_value_add(rd, 3, "Blue"); elm_spinner_special_value_add(rd, 4, "Green"); evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(rd, "changed", _cb_color_changed, o_bg); elm_box_pack_end(hbox, rd); evas_object_show(rd); elm_box_pack_end(box, hbox); evas_object_show(hbox); evas_object_resize(win, 460, 320); evas_object_show(win); elm_run(); elm_shutdown(); return 0; }