diff --git a/configure.ac b/configure.ac index 31b43f2..3c09c3c 100644 --- a/configure.ac +++ b/configure.ac @@ -42,7 +42,6 @@ PKG_CHECK_MODULES([EFL], AC_OUTPUT([ Makefile src/Makefile -src/bin/Makefile src/lib/Makefile src/scripts/Makefile data/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index f0311c7..104f584 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,4 @@ MAINTAINERCLEANFILES = Makefile.in -SUBDIRS = bin lib scripts +SUBDIRS = lib scripts diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am deleted file mode 100644 index bc9af87..0000000 --- a/src/bin/Makefile.am +++ /dev/null @@ -1,69 +0,0 @@ - -MAINTAINERCLEANFILES = Makefile.in - -AM_CPPFLAGS = \ --I$(top_srcdir)/src/lib \ --DPACKAGE_BIN_DIR=\"$(bindir)\" \ --DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ --DLOCALE_DIR=\"$(datadir)/locale\" \ -@EFL_CFLAGS@ - -bin_PROGRAMS = exactness_raw - -exactness_raw_SOURCES = \ - tsuite.c \ - ../lib/tsuite_file_data.c \ - test_3d.c \ - test_actionslider.c \ - test_panel.c \ - test_anchorblock.c \ - test_panes.c \ - test_anchorview.c \ - test_focus.c \ - test_bg.c \ - test_gengrid.c \ - test_box.c \ - test_genlist.c \ - test_progressbar.c \ - test_bubble.c \ - test_radio.c \ - test_button.c \ - test_scaling.c \ - test_calendar.c \ - test_grid.c \ - test_segment_control.c \ - test_check.c \ - test_hover.c \ - test_separator.c \ - test_hoversel.c \ - test_slider.c \ - test_colorselector.c \ - test_conform.c \ - test_spinner.c \ - test_ctxpopup.c \ - test_index.c \ - test_table.c \ - test_inwin.c \ - test_diskselector.c \ - test_label.c \ - test_toggle.c \ - test_entry.c \ - test_toolbar.c \ - test_fileselector_button.c \ - test_tooltip.c \ - test_fileselector.c \ - test_list.c \ - test_fileselector_entry.c \ - test_menu.c \ - test_naviframe.c \ - test_notify.c \ - test_scroller.c \ - test_pager.c - - - -exactness_raw_LDADD = @EFL_LIBS@ - -EXTRA_DIST = \ - tsuite.h - diff --git a/src/bin/test_3d.c b/src/bin/test_3d.c deleted file mode 100644 index db1704b..0000000 --- a/src/bin/test_3d.c +++ /dev/null @@ -1,338 +0,0 @@ -#include -#include "tsuite.h" - -typedef struct _Point -{ - Evas_Coord x, y, z, u, v; -} Point; - -typedef struct _Side -{ - Evas_Object *o; - Point pt[4]; -} Side; - -typedef struct _Cube -{ - Side side[6]; -} Cube; - -static Cube *cube; -static double rotx = 0.0, roty = 0.0, rotz = 0.0; -static double cxo = 0.0, cyo = 0.0, focv = 256.0, z0v = 0.0; -#define POINT(n, p, xx, yy, zz, uu, vv) \ - c->side[n].pt[p].x = xx; \ - c->side[n].pt[p].y = yy; \ - c->side[n].pt[p].z = zz; \ - c->side[n].pt[p].u = uu; \ - c->side[n].pt[p].v = vv - -static Cube * -_cube_new(Evas *evas, Evas_Coord w, Evas_Coord h, Evas_Coord d) -{ - Cube *c; - int i; - - w -= (w / 2); - h -= (h / 2); - d -= (d / 2); - c = calloc(1, sizeof(Cube)); - for (i = 0; i < 6; i++) - { - Evas_Object *o; - char buf[PATH_MAX]; - o = evas_object_image_add(evas); - c->side[i].o = o; - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), "twofish.jpg"); - evas_object_image_file_set(o, buf, NULL); - evas_object_image_fill_set(o, 0, 0, 256, 256); - evas_object_resize(o, 256, 256); - evas_object_image_smooth_scale_set(o, 0); - evas_object_show(o); - } - POINT(0, 0, -w, -h, -d, 0, 0); - POINT(0, 1, w, -h, -d, 256, 0); - POINT(0, 2, w, h, -d, 256, 256); - POINT(0, 3, -w, h, -d, 0, 256); - - POINT(1, 0, w, -h, -d, 0, 0); - POINT(1, 1, w, -h, d, 256, 0); - POINT(1, 2, w, h, d, 256, 256); - POINT(1, 3, w, h, -d, 0, 256); - - POINT(2, 0, w, -h, d, 0, 0); - POINT(2, 1, -w, -h, d, 256, 0); - POINT(2, 2, -w, h, d, 256, 256); - POINT(2, 3, w, h, d, 0, 256); - - POINT(3, 0, -w, -h, d, 0, 0); - POINT(3, 1, -w, -h, -d, 256, 0); - POINT(3, 2, -w, h, -d, 256, 256); - POINT(3, 3, -w, h, d, 0, 256); - - POINT(4, 0, -w, -h, d, 0, 0); - POINT(4, 1, w, -h, d, 256, 0); - POINT(4, 2, w, -h, -d, 256, 256); - POINT(4, 3, -w, -h, -d, 0, 256); - - POINT(5, 0, -w, h, -d, 0, 0); - POINT(5, 1, w, h, -d, 256, 0); - POINT(5, 2, w, h, d, 256, 256); - POINT(5, 3, -w, h, d, 0, 256); - - return c; -} - -static void -_cube_pos(Cube *c, - Evas_Coord x, Evas_Coord y, Evas_Coord z, - double dx, double dy, double dz, - Evas_Coord cx, Evas_Coord cy, Evas_Coord foc, Evas_Coord z0) -{ - Evas_Map *m; - int i, j, order[6], sorted; - Evas_Coord mz[6]; - - m = evas_map_new(4); - evas_map_smooth_set(m, 0); - - for (i = 0; i < 6; i++) - { - Evas_Coord tz[4]; - - for (j = 0; j < 4; j++) - { - evas_map_point_coord_set(m, j, - c->side[i].pt[j].x + x, - c->side[i].pt[j].y + y, - c->side[i].pt[j].z + z); - evas_map_point_image_uv_set(m, j, - c->side[i].pt[j].u, - c->side[i].pt[j].v); - evas_map_point_color_set(m, j, 255, 255, 255, 255); - } - evas_map_util_3d_rotate(m, dx, dy, dz, x, y, z); - evas_map_util_3d_lighting(m, -1000, -1000, -1000, - 255, 255, 255, - 20, 20, 20); - evas_map_util_3d_perspective(m, cx, cy, foc, z0); - if (evas_map_util_clockwise_get(m)) - { - evas_object_map_enable_set(c->side[i].o, 1); - evas_object_map_set(c->side[i].o, m); - evas_object_show(c->side[i].o); - } - else - evas_object_hide(c->side[i].o); - - order[i] = i; - for (j = 0; j < 4; j++) - evas_map_point_coord_get(m, j, NULL, NULL, &(tz[j])); - mz[i] = (tz[0] + tz[1] + tz[2] + tz[3]) / 4; - } - sorted = 0; - do - { - sorted = 1; - for (i = 0; i < 5; i++) - { - if (mz[order[i]] > mz[order[i + 1]]) - { - j = order[i]; - order[i] = order[i + 1]; - order[i + 1] = j; - sorted = 0; - } - } - } - while (!sorted); - - evas_object_raise(c->side[order[0]].o); - for (i = 1; i < 6; i++) - evas_object_stack_below(c->side[order[i]].o, c->side[order[i - 1]].o); - evas_map_free(m); -} - -/* -static void -_cube_free(Cube *c) -{ - int i; - - for (i = 0; i < 6; i++) evas_object_del(c->side[i].o); - free(c); -} -*/ - -static void -_cube_update(Evas_Object *win, Cube *c) -{ - Evas_Coord w, h; - - evas_object_geometry_get(win, NULL, NULL, &w, &h); - _cube_pos(c, - (w / 2), (h / 2), 512, - rotx, roty, rotz, - (w / 2) + cxo, (h / 2) + cyo, z0v, focv); -} - -void -_ch_rot_x(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - rotx = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_rot_y(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - roty = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_rot_z(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - rotz = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_cx(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - cxo = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_cy(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - cyo = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_foc(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - focv = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -void -_ch_z0(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - z0v = elm_slider_value_get(obj); - _cube_update(win, cube); -} - -TEST_START(test_3d) -{ - Evas_Object *bg, *bx, *sl; - - 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); - - cube = _cube_new(evas_object_evas_get(win), 240, 240, 240); - - bx = elm_box_add(win); - evas_object_layer_set(bx, 10); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, bx); - evas_object_show(bx); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Rot X"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, 0, 360); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_rot_x, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Rot Y"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, 0, 360); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_rot_y, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Rot Z"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, 0, 360); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_rot_z, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "CX Off"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, -320, 320); - elm_slider_value_set(sl, cxo); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_cx, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "CY Off"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, -320, 320); - elm_slider_value_set(sl, cyo); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_cy, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Foc"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, 1, 2000); - elm_slider_value_set(sl, focv); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_foc, win); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Z0"); - elm_slider_unit_format_set(sl, "%1.0f units"); - elm_slider_span_size_set(sl, 360); - elm_slider_min_max_set(sl, -2000, 2000); - elm_slider_value_set(sl, z0v); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_smart_callback_add(sl, "changed", _ch_z0, win); - evas_object_show(sl); - - evas_object_resize(win, 480, 480); - _cube_update(win, cube); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_actionslider.c b/src/bin/test_actionslider.c deleted file mode 100644 index 15454e5..0000000 --- a/src/bin/test_actionslider.c +++ /dev/null @@ -1,175 +0,0 @@ -#include -#include "tsuite.h" - -static void _pos_selected_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info) -{ - printf("Selection: %s\n", (char *)event_info); - printf("Label selected: %s\n", elm_actionslider_selected_label_get(obj)); -} - -static void -_position_change_magnetic_cb(void *data __UNUSED__, Evas_Object * obj, void *event_info) -{ - if (!strcmp((char *)event_info, "left")) - elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_LEFT); - else if (!strcmp((char *)event_info, "right")) - elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_RIGHT); -} - -static void -_magnet_enable_disable_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info) -{ - if (!strcmp((char *)event_info, "left")) - elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_CENTER); - else if (!strcmp((char *)event_info, "right")) - elm_actionslider_magnet_pos_set(obj, ELM_ACTIONSLIDER_NONE); -} - -enum _api_state -{ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - switch(api->state) - { /* Put all api-changes under switch */ - case API_STATE_LAST: - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - a->state++; - set_api_state(a); - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_actionslider) -{ - Evas_Object *bg, *bx, *as; - - bg = elm_bg_add(win); - elm_win_resize_object_add(win, bg); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, 0); - evas_object_show(bg); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0); - elm_win_resize_object_add(win, bx); - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - as = elm_actionslider_add(win); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_RIGHT); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_RIGHT); - elm_object_part_text_set(as, "left", "Snooze"); - elm_object_part_text_set(as, "center", NULL); - elm_object_part_text_set(as, "right", "Stop"); - elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT | - ELM_ACTIONSLIDER_RIGHT); - evas_object_smart_callback_add(as, "pos_changed", - _position_change_magnetic_cb, NULL); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - as = elm_actionslider_add(win); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER); - elm_object_part_text_set(as, "left", "Snooze"); - elm_object_part_text_set(as, "center", NULL); - elm_object_part_text_set(as, "right", "Stop"); - elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_LEFT | - ELM_ACTIONSLIDER_RIGHT); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - as = elm_actionslider_add(win); - elm_object_style_set(as, "bar"); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER| - ELM_ACTIONSLIDER_RIGHT); - elm_actionslider_enabled_pos_set(as, ELM_ACTIONSLIDER_CENTER | - ELM_ACTIONSLIDER_RIGHT); - elm_object_part_text_set(as, "left", NULL); - elm_object_part_text_set(as, "center", "Accept"); - elm_object_part_text_set(as, "right", "Reject"); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - as = elm_actionslider_add(win); - elm_object_style_set(as, "bar"); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_LEFT); - elm_object_part_text_set(as, "left", NULL); - elm_object_part_text_set(as, "center", "Accept"); - elm_object_part_text_set(as, "right", "Reject"); - elm_object_text_set(as, "Go"); - evas_object_smart_callback_add(as, "pos_changed", - _position_change_magnetic_cb, NULL); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - - as = elm_actionslider_add(win); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_LEFT); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_ALL); - elm_object_part_text_set(as, "left", "Left"); - elm_object_part_text_set(as, "center", "Center"); - elm_object_part_text_set(as, "right", "Right"); - elm_object_text_set(as, "Go"); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - as = elm_actionslider_add(win); - evas_object_size_hint_weight_set(as, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(as, EVAS_HINT_FILL, 0); - elm_actionslider_indicator_pos_set(as, ELM_ACTIONSLIDER_CENTER); - elm_actionslider_magnet_pos_set(as, ELM_ACTIONSLIDER_CENTER); - elm_object_part_text_set(as, "left", "Enable"); - elm_object_part_text_set(as, "center", "Magnet"); - elm_object_part_text_set(as, "right", "Disable"); - evas_object_smart_callback_add(as, "pos_changed", - _magnet_enable_disable_cb, NULL); - evas_object_smart_callback_add(as, "selected", _pos_selected_cb, NULL); - evas_object_show(as); - elm_box_pack_end(bx, as); - - evas_object_resize(win, 320, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_anchorblock.c b/src/bin/test_anchorblock.c deleted file mode 100644 index 7a30977..0000000 --- a/src/bin/test_anchorblock.c +++ /dev/null @@ -1,275 +0,0 @@ -#include -#include "tsuite.h" - -static void -_print_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("bubble clicked\n"); -} - -static void -my_anchorblock_bt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *av = data; - elm_anchorblock_hover_end(av); -} - -static void -my_anchorblock_anchor(void *data, Evas_Object *obj, void *event_info) -{ - Evas_Object *av = data; - Elm_Entry_Anchorblock_Info *ei = event_info; - Evas_Object *bt, *bx; - - bt = elm_button_add(obj); - elm_object_text_set(bt, ei->name); - elm_hover_content_set(ei->hover, "middle", bt); - evas_object_show(bt); - - // hints as to where we probably should put hover contents (buttons etc.). - if (ei->hover_top) - { - bx = elm_box_add(obj); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 1"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 2"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 3"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - elm_hover_content_set(ei->hover, "top", bx); - evas_object_show(bx); - } - if (ei->hover_bottom) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Bot"); - elm_hover_content_set(ei->hover, "bottom", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - } - if (ei->hover_left) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Left"); - elm_hover_content_set(ei->hover, "left", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - } - if (ei->hover_right) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Right"); - elm_hover_content_set(ei->hover, "right", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorblock_bt, av); - evas_object_show(bt); - } -} - -static void -my_anchorblock_edge_left(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("left\n"); -} - -static void -my_anchorblock_edge_right(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("right\n"); -} - -static void -my_anchorblock_edge_top(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("top\n"); -} - -static void -my_anchorblock_edge_bottom(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("bottom\n"); -} - -static void -my_anchorblock_scroll(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Coord x, y, w, h, vw, vh; - - elm_scroller_region_get(obj, &x, &y, &w, &h); - elm_scroller_child_size_get(obj, &vw, &vh); - printf("scroll %ix%i +%i+%i in %ix%i\n", w, h, x, y, vw, vh); -} - -enum _api_state -{ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - switch(api->state) - { /* Put all api-changes under switch */ - case API_STATE_LAST: - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - a->state++; - set_api_state(a); - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_anchorblock) -{ - Evas_Object *bg, *av, *sc, *bx, *bb, *ic; - char buf[PATH_MAX]; - - 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); - - sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, sc); - - evas_object_smart_callback_add(sc, "edge_left", my_anchorblock_edge_left, NULL); - evas_object_smart_callback_add(sc, "edge_right", my_anchorblock_edge_right, NULL); - evas_object_smart_callback_add(sc, "edge_top", my_anchorblock_edge_top, NULL); - evas_object_smart_callback_add(sc, "edge_bottom", my_anchorblock_edge_bottom, NULL); - evas_object_smart_callback_add(sc, "scroll", my_anchorblock_scroll, NULL); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); - - bb = elm_bubble_add(win); - elm_object_text_set(bb, "Message 3"); - elm_object_part_text_set(bb, "info", "10:32 4/11/2008"); - elm_object_part_content_set(bb, "icon", ic); - evas_object_smart_callback_add(bb, "clicked", _print_clicked, NULL); - evas_object_show(ic); - evas_object_size_hint_weight_set(bb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bb, EVAS_HINT_FILL, EVAS_HINT_FILL); - av = elm_anchorblock_add(win); - elm_anchorblock_hover_style_set(av, "popout"); - elm_anchorblock_hover_parent_set(av, win); - elm_object_text_set(av, - "Hi there. This is the most recent message in the " - "list of messages. It has one +61 432 1234 " - "(phone number) to click on."); - evas_object_smart_callback_add(av, "anchor,clicked", - my_anchorblock_anchor, av); - elm_object_content_set(bb, av); - evas_object_show(av); - elm_box_pack_end(bx, bb); - evas_object_show(bb); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - bb = elm_bubble_add(win); - elm_object_text_set(bb, "Message 2"); - elm_object_part_text_set(bb, "info", "7:16 27/10/2008"); - elm_object_part_content_set(bb, "icon", ic); - evas_object_smart_callback_add(bb, "clicked", _print_clicked, NULL); - evas_object_show(ic); - evas_object_size_hint_weight_set(bb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bb, EVAS_HINT_FILL, EVAS_HINT_FILL); - av = elm_anchorblock_add(win); - elm_anchorblock_hover_style_set(av, "popout"); - elm_anchorblock_hover_parent_set(av, win); - elm_object_text_set(av, - "Hey what are you doing? This is the second last message " - "Hi there. This is the most recent message in the " - "list. It's a longer one so it can wrap more and " - "contains a John contact " - "link in it to test popups on links. The idea is that " - "all SMS's are scanned for things that look like phone " - "numbers or names that are in your contacts list, and " - "if they are, they become clickable links that pop up " - "a menus of obvious actions to perform on this piece " - "of information. This of course can be later explicitly " - "done by links maybe running local apps or even being " - "web URL's too that launch the web browser and point it " - "to that URL. "); - evas_object_smart_callback_add(av, "anchor,clicked", my_anchorblock_anchor, av); - elm_object_content_set(bb, av); - evas_object_show(av); - elm_box_pack_end(bx, bb); - evas_object_show(bb); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); - - bb = elm_bubble_add(win); - elm_object_text_set(bb, "Message 1"); - elm_object_part_text_set(bb, "info", "20:47 18/6/2008"); - elm_object_part_content_set(bb, "icon", ic); - evas_object_smart_callback_add(bb, "clicked", _print_clicked, NULL); - evas_object_show(ic); - evas_object_size_hint_weight_set(bb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - av = elm_anchorblock_add(win); - elm_anchorblock_hover_style_set(av, "popout"); - elm_anchorblock_hover_parent_set(av, win); - elm_object_text_set(av, "This is a short message. "); - evas_object_smart_callback_add(av, "anchor,clicked", - my_anchorblock_anchor, av); - elm_object_content_set(bb, av); - evas_object_show(av); - elm_box_pack_end(bx, bb); - evas_object_show(bb); - - elm_object_content_set(sc, bx); - evas_object_show(bx); - - evas_object_show(sc); - - evas_object_resize(win, 320, 520); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_anchorview.c b/src/bin/test_anchorview.c deleted file mode 100644 index 4037574..0000000 --- a/src/bin/test_anchorview.c +++ /dev/null @@ -1,148 +0,0 @@ -#include -#include "tsuite.h" - -static void -my_anchorview_bt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *av = data; - elm_anchorview_hover_end(av); -} - -static void -my_anchorview_anchor(void *data, Evas_Object *obj, void *event_info) -{ - Evas_Object *av = data; - Elm_Entry_Anchorview_Info *ei = event_info; - Evas_Object *bt, *bx; - - bt = elm_button_add(obj); - elm_object_text_set(bt, ei->name); - elm_hover_content_set(ei->hover, "middle", bt); - evas_object_show(bt); - - // hints as to where we probably should put hover contents (buttons etc.). - if (ei->hover_top) - { - bx = elm_box_add(obj); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 1"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 2"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - bt = elm_button_add(obj); - elm_object_text_set(bt, "Top 3"); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - elm_hover_content_set(ei->hover, "top", bx); - evas_object_show(bx); - } - if (ei->hover_bottom) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Bot"); - elm_hover_content_set(ei->hover, "bottom", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - } - if (ei->hover_left) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Left"); - elm_hover_content_set(ei->hover, "left", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - } - if (ei->hover_right) - { - bt = elm_button_add(obj); - elm_object_text_set(bt, "Right"); - elm_hover_content_set(ei->hover, "right", bt); - evas_object_smart_callback_add(bt, "clicked", my_anchorview_bt, av); - evas_object_show(bt); - } -} - -enum _api_state -{ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - switch(api->state) - { /* Put all api-changes under switch */ - case API_STATE_LAST: - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - a->state++; - set_api_state(a); - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_anchorview) -{ - Evas_Object *bg, *bx, *av; - - 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); /* Resize BOX to size of window */ - 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); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - av = elm_anchorview_add(win); - elm_anchorview_hover_style_set(av, "popout"); - elm_anchorview_hover_parent_set(av, win); - elm_object_text_set(av, - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By the way, links are
" - "called Anchors so you will need
" - "to refer to them this way. "); - evas_object_size_hint_weight_set(av, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(av, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(av, "anchor,clicked", my_anchorview_anchor, av); - elm_box_pack_end(bx, av); - evas_object_show(av); - evas_object_show(bx); - - evas_object_resize(win, 320, 300); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_bg.c b/src/bin/test_bg.c deleted file mode 100644 index e26b618..0000000 --- a/src/bin/test_bg.c +++ /dev/null @@ -1,194 +0,0 @@ -#include -#include "tsuite.h" - -static void -_cb_radio_changed(void *data, Evas_Object *obj, void *event __UNUSED__) -{ - Evas_Object *o_bg = data; - - elm_bg_option_set(o_bg, elm_radio_value_get((Evas_Object *)obj)); -} - -static void -_cb_overlay_changed(void *data, Evas_Object *obj, void *event __UNUSED__) -{ - Evas_Object *o_bg = data; - - if (elm_check_state_get(obj)) - { - Evas_Object *parent, *over; - char buff[PATH_MAX]; - - snprintf(buff, sizeof(buff), "%s/objects/test.edj", elm_app_data_dir_get()); - parent = elm_object_parent_widget_get(o_bg); - over = edje_object_add(evas_object_evas_get(parent)); - edje_object_file_set(over, buff, "bg_overlay"); - elm_object_content_set(o_bg, over); - } - else - elm_object_content_set(o_bg, NULL); -} - -static void -_cb_color_changed(void *data, Evas_Object *obj, void *event __UNUSED__) -{ - Evas_Object *o_bg = data; - double val = 0.0; - - val = elm_spinner_value_get(obj); - if (val == 1.0) - elm_bg_color_set(o_bg, 255, 255, 255); - else if (val == 2.0) - elm_bg_color_set(o_bg, 255, 0, 0); - else if (val == 3.0) - elm_bg_color_set(o_bg, 0, 0, 255); - else if (val == 4.0) - elm_bg_color_set(o_bg, 0, 255, 0); -} - -TEST_START(test_bg_plain) -{ - Evas_Object *bg; - - bg = elm_bg_add(win); - /* allow bg to expand in x & y */ - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, bg); - evas_object_show(bg); - - /* set size hints. a minimum size for the bg. this should propagate back - * to the window thus limiting its size based off the bg as the bg is one - * of the window's resize objects. */ - evas_object_size_hint_min_set(bg, 160, 160); - /* and set a maximum size. not needed very often. normally used together - * with evas_object_size_hint_min_set() at the same size to make a - * window not resizable */ - evas_object_size_hint_max_set(bg, 640, 640); - /* and now just resize the window to a size you want. normally widgets - * will determine the initial size though */ - evas_object_resize(win, 320, 320); - /* and show the window */ - evas_object_show(win); -} -TEST_END - -TEST_START(test_bg_image) -{ - Evas_Object *bg; - char buf[PATH_MAX]; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - 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); - evas_object_size_hint_max_set(bg, 640, 640); - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -TEST_START(test_bg_options) -{ - Evas_Object *bg; - Evas_Object *box, *hbox, *o_bg; - Evas_Object *rd, *rdg; - char buf[PATH_MAX]; - - 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_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); -} -TEST_END diff --git a/src/bin/test_box.c b/src/bin/test_box.c deleted file mode 100644 index e2db82a..0000000 --- a/src/bin/test_box.c +++ /dev/null @@ -1,393 +0,0 @@ -#include -#include "tsuite.h" - -enum _api_state -{ - BOX_PACK_START, - BOX_PACK_BEFORE, - BOX_PACK_AFTER, - BOX_PADDING_SET, - BOX_ALIGN_SET, - BOX_HOMOGENEOUS_SET, - BOX_UNPACK_ALL, - BOX_CLEAR, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case BOX_PACK_START: /* Move last item to begining */ - elm_box_unpack(api->data, eina_list_data_get(eina_list_last(items))); - elm_box_pack_start(api->data, eina_list_data_get(eina_list_last(items))); - break; - - case BOX_PACK_BEFORE: - if(eina_list_count(items) > 1) - { /* Put last item before the one preceeding it */ - elm_box_unpack(api->data, eina_list_data_get(eina_list_last(items))); - elm_box_pack_before(api->data, - eina_list_data_get(eina_list_last(items)), - eina_list_nth(items, eina_list_count(items)-2)); - } - break; - - case BOX_PACK_AFTER: - if(eina_list_count(items) > 1) - { /* Put item before last to last */ - elm_box_unpack(api->data, eina_list_nth(items, - eina_list_count(items)-2)); - elm_box_pack_after(api->data, - eina_list_nth(items, eina_list_count(items)-2), - eina_list_data_get(eina_list_last(items))); - } - break; - - case BOX_PADDING_SET: - elm_box_padding_set(api->data, 30, 15); - break; - - case BOX_ALIGN_SET: - elm_box_align_set(api->data, 0.25, 0.75); - break; - - case BOX_HOMOGENEOUS_SET: - elm_box_homogeneous_set(api->data, EINA_TRUE); - break; - - case BOX_UNPACK_ALL: - { - Eina_List *l; - Evas_Object *data; - elm_box_unpack_all(api->data); - EINA_LIST_REVERSE_FOREACH(items, l, data) - elm_box_pack_end(api->data, data); - } - break; - - case BOX_CLEAR: - elm_box_clear(api->data); - break; - - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_box_vert) -{ - Evas_Object *bg, *bx, *bxx, *ic; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - api->data = bx; - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_01.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_02.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.0, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_03.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, EVAS_HINT_EXPAND, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - evas_object_show(win); -} -TEST_END - -static void -_del_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - elm_box_unpack(data, obj); - evas_object_move(obj, 0, 0); - evas_object_color_set(obj, 128, 64, 0, 128); -// evas_object_del(obj); -} - -TEST_START(test_box_vert2) -{ - Evas_Object *bg, *bx, *bt; - - 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); - elm_box_padding_set(bx, 10, 10); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 4"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 5"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_box_horiz) -{ - Evas_Object *bg, *bx, *bxx, *ic; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_01.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_02.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_03.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - evas_object_show(win); -} -TEST_END - -typedef struct -{ - Eina_List *transitions; - Evas_Object *box; - Evas_Object_Box_Layout last_layout; -} Transitions_Data; - -static void -_test_box_transition_change(void *data) -{ - Transitions_Data *tdata = data; - Elm_Box_Transition *layout_data; - Evas_Object_Box_Layout next_layout; - - if (!data) return; - next_layout = eina_list_data_get(tdata->transitions); - layout_data = elm_box_transition_new(2.0, tdata->last_layout, - NULL, NULL, next_layout, NULL, NULL, - _test_box_transition_change, tdata); - elm_box_layout_set(tdata->box, elm_box_layout_transition, layout_data, elm_box_transition_free); - tdata->last_layout = next_layout; - - tdata->transitions = eina_list_demote_list(tdata->transitions, tdata->transitions); -} - -static void -_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Transitions_Data *tdata = data; - if (!data) return; - free(tdata); -} - -void -test_box_transition(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win, *bg, *bx, *bt; - Transitions_Data *tdata; - - win = elm_win_add(NULL, "box-transition", ELM_WIN_BASIC); - elm_win_title_set(win, "Box Transition"); - elm_win_autodel_set(win, EINA_TRUE); - - bg = elm_bg_add(win); - elm_win_resize_object_add(win, bg); - evas_object_size_hint_weight_set(bg, 1.0, 1.0); - evas_object_show(bg); - - bx = elm_box_add(win); - elm_win_resize_object_add(win, bx); - evas_object_size_hint_weight_set(bx, 1.0, 1.0); - - evas_object_show(bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - evas_object_size_hint_weight_set(bt, 1.0, 1.0); - evas_object_size_hint_align_set(bt, -1.0, -1.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_resize(bt, 100, 100); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - evas_object_size_hint_weight_set(bt, 1.0, 1.0); - evas_object_size_hint_align_set(bt, -1.0, -1.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_resize(bt, 100, 100); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - evas_object_size_hint_weight_set(bt, 1.0, 1.0); - evas_object_size_hint_align_set(bt, -1.0, -1.0); - evas_object_smart_callback_add(bt, "clicked", _del_cb, bx); - elm_box_pack_end(bx, bt); - evas_object_resize(bt, 100, 100); - evas_object_show(bt); - - tdata = calloc(1, sizeof(Transitions_Data)); - tdata->box = bx; - tdata->last_layout = evas_object_box_layout_horizontal; - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_vertical); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_horizontal); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_stack); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_homogeneous_vertical); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_homogeneous_horizontal); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_flow_vertical); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_flow_horizontal); - tdata->transitions = eina_list_append(tdata->transitions, - evas_object_box_layout_stack); - - evas_object_resize(win, 300, 300); - evas_object_resize(bx, 300, 300); - evas_object_smart_callback_add(win, "delete,request", _win_del, tdata); - evas_object_show(win); - elm_box_layout_set(bx, evas_object_box_layout_horizontal, NULL, NULL); - _test_box_transition_change(tdata); -} diff --git a/src/bin/test_bubble.c b/src/bin/test_bubble.c deleted file mode 100644 index 284d4c6..0000000 --- a/src/bin/test_bubble.c +++ /dev/null @@ -1,155 +0,0 @@ -#include -#include "tsuite.h" - -static void -_print_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("bubble clicked\n"); -} - -enum _api_state -{ - BUBBLE_SET_CORNER_1, - BUBBLE_SET_CORNER_2, - BUBBLE_SET_ICON_CONTENT, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - switch(api->state) - { /* Put all api-changes under switch */ - case BUBBLE_SET_CORNER_1: - elm_bubble_corner_set(eina_list_nth(items, 0), "bottom_left"); - elm_object_text_set(elm_object_content_get(eina_list_nth(items, 0)), - "Corner: base (bottom-left) - with icon"); - elm_bubble_corner_set(eina_list_nth(items, 1), "top_right"); - elm_object_text_set(elm_object_content_get(eina_list_nth(items, 1)), - "Corner: base (top-right) - no icon"); - break; - - case BUBBLE_SET_CORNER_2: - elm_bubble_corner_set(eina_list_nth(items, 0), "top_right"); - elm_object_text_set(elm_object_content_get(eina_list_nth(items, 0)), - "Corner: base (top-right) - with icon"); - elm_bubble_corner_set(eina_list_nth(items, 1), "bottom_left"); - elm_object_text_set(elm_object_content_get(eina_list_nth(items, 1)), - "Corner: base (bottom-left) - no icon"); - break; - - case BUBBLE_SET_ICON_CONTENT: - { - char buf[PATH_MAX]; - Evas_Object *ct, *ic = elm_icon_add(api->win); - - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - elm_object_content_set(eina_list_nth(items, 0), ic); - ct = elm_label_add(api->win); - elm_object_text_set(ct, "Using icon as top-bubble content"); - elm_object_content_set(eina_list_nth(items, 1), ct); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - evas_object_show(ic); - } - break; - - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_bubble) -{ - Evas_Object *bg, *bx, *bxx, *ic, *bb, *ct; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); - - bb = elm_bubble_add(win); - elm_object_text_set(bb, "Message 1"); - elm_object_part_text_set(bb, "info", "Corner: bottom_right"); - elm_object_part_content_set(bb, "icon", ic); - elm_bubble_corner_set(bb, "bottom_right"); - evas_object_smart_callback_add(bb, "clicked", _print_clicked, NULL); - evas_object_show(ic); - evas_object_size_hint_weight_set(bb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ct = elm_label_add(win); - elm_object_text_set(ct, - "\"The future of the art: R or G or B?\", by Rusty"); - elm_object_content_set(bb, ct); - - elm_box_pack_end(bx, bb); - evas_object_show(bb); - - bb = elm_bubble_add(win); - elm_object_text_set(bb, "Message 2"); - elm_object_part_text_set(bb, "info", "10:32 4/11/2008"); - evas_object_smart_callback_add(bb, "clicked", _print_clicked, NULL); - evas_object_size_hint_weight_set(bb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ct = elm_label_add(win); - elm_object_text_set(ct, "Corner: base (top-left) - no icon"); - elm_object_content_set(bb, ct); - - elm_box_pack_end(bx, bb); - evas_object_show(bb); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_button.c b/src/bin/test_button.c deleted file mode 100644 index 74c7298..0000000 --- a/src/bin/test_button.c +++ /dev/null @@ -1,206 +0,0 @@ -#include -#include "tsuite.h" - -static void -_bt_repeated(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - static int count; - char buf[16]; - - snprintf(buf, sizeof(buf), "count=%d", count++); - if (count >= 10000) - count = 0; - elm_object_text_set(obj, buf); -} - -static void -_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - int param = (int)(data); - - printf("clicked event on Button:%d\n", param); -} - -static void -_bt_unpressed(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - int param = (int)(data); - - printf("unpressed event on Button:%d\n", param); -} - -enum _api_state -{ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api __UNUSED__) -{ - return; -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_button) -{ - Evas_Object *bg, *bx, *bxx, *scr,*ic, *bt; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - scr = elm_scroller_add(win); - elm_scroller_bounce_set(scr, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(scr, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - evas_object_show(scr); - evas_object_size_hint_weight_set(scr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(scr, bx); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - bt = elm_button_add(win); - elm_object_text_set(bt, "Icon sized to button"); - elm_object_content_set(bt, ic); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)1); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)1); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - ic = elm_icon_add(bx); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - bt = elm_button_add(win); - elm_object_text_set(bt, "Icon no scale"); - elm_object_content_set(bt, ic); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)2); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)2); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - bt = elm_button_add(win); - elm_object_text_set(bt, "Disabled Button"); - elm_object_content_set(bt, ic); - elm_object_disabled_set(bt, 1); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)3); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)3); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - bt = elm_button_add(win); - elm_object_content_set(bt, ic); - elm_object_disabled_set(bt, 1); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)4); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)4); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Label Only"); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)5); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)5); - elm_box_pack_end(bx, bt); - evas_object_smart_callback_add(bt, "repeated", _bt_repeated, NULL); - elm_button_autorepeat_set(bt, 1); - elm_button_autorepeat_initial_timeout_set(bt, 2.0); - elm_button_autorepeat_gap_timeout_set(bt, 0.5); - evas_object_show(bt); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - bt = elm_button_add(win); - elm_object_content_set(bt, ic); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)6); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)6); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - bt = elm_button_add(win); - elm_object_style_set(bt, "anchor"); - elm_object_text_set(bt, "Anchor style"); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)7); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)7); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - bt = elm_button_add(win); - elm_object_style_set(bt, "anchor"); - elm_object_content_set(bt, ic); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)8); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)8); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - bt = elm_button_add(win); - elm_object_access_info_set(bt, "This is some custom text describing this widget"); - elm_object_style_set(bt, "anchor"); - elm_object_content_set(bt, ic); - elm_object_disabled_set(bt, 1); - evas_object_smart_callback_add(bt, "clicked", _bt_clicked, (void *)9); - evas_object_smart_callback_add(bt, "unpressed", _bt_unpressed, (void *)9); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); -} -TEST_END diff --git a/src/bin/test_calendar.c b/src/bin/test_calendar.c deleted file mode 100644 index a517ea4..0000000 --- a/src/bin/test_calendar.c +++ /dev/null @@ -1,144 +0,0 @@ -#include -#include "tsuite.h" - -enum _api_state -{ - STATE_MARK_MONTHLY, - STATE_MARK_WEEKLY, - STATE_SUNDAY_HIGHLIGHT, - STATE_SELECT_DATE_DISABLED_WITH_MARKS, - STATE_SELECT_DATE_DISABLED_NO_MARKS, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - static Elm_Calendar_Mark *m = NULL; - if(!eina_list_count(items)) - return; - - switch(api->state) - { /* Put all api-changes under switch */ - case STATE_MARK_MONTHLY: - { - Evas_Object *cal = eina_list_nth(items, 0); - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 9); /* Set date to DEC 31, 2010 */ - elm_calendar_min_max_year_set(cal, 2010, 2011); - m = elm_calendar_mark_add(cal, "checked", gmtime(&the_time), ELM_CALENDAR_MONTHLY); - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - } - break; - case STATE_MARK_WEEKLY: - { - Evas_Object *cal = eina_list_nth(items, 0); - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 4); /* Set date to DEC 26, 2010 */ - elm_calendar_mark_del(m); - m = elm_calendar_mark_add(cal, "checked", gmtime(&the_time), ELM_CALENDAR_WEEKLY); - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - } - break; - case STATE_SUNDAY_HIGHLIGHT: - { - Evas_Object *cal = eina_list_nth(items, 0); - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 3); /* Set date to DEC 25, 2010 */ - /* elm_calendar_mark_del(m); */ - m = elm_calendar_mark_add(cal, "holiday", gmtime(&the_time), ELM_CALENDAR_WEEKLY); - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - } - break; - case STATE_SELECT_DATE_DISABLED_WITH_MARKS: - { - Evas_Object *cal = eina_list_nth(items, 0); - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 10); /* Set date to JAN 01, 2011 */ - elm_calendar_day_selection_enabled_set(cal, EINA_FALSE); - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - } - break; - case STATE_SELECT_DATE_DISABLED_NO_MARKS: - { - Evas_Object *cal = eina_list_nth(items, 0); - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 40); /* Set date to FEB 01, 2011 */ - elm_calendar_marks_clear(cal); - elm_calendar_day_selection_enabled_set(cal, EINA_FALSE); - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - } - break; - case API_STATE_LAST: - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -/* A simple test, just displaying calendar in it's default state */ -TEST_START(test_calendar) -{ - Evas_Object *bg, *bx, *bxx, *cal; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - cal = elm_calendar_add(win); - evas_object_size_hint_weight_set(cal, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, cal); - - time_t sec_per_day = (60*60*24); - time_t sec_per_year = sec_per_day * 365; - time_t the_time = (sec_per_year * 41) + (sec_per_day * 9); /* Set date to DEC 31, 2010 */ - elm_calendar_selected_time_set(cal, gmtime(&the_time)); - elm_calendar_min_max_year_set(cal, 2010, 2010); - - evas_object_show(cal); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_check.c b/src/bin/test_check.c deleted file mode 100644 index c7edca2..0000000 --- a/src/bin/test_check.c +++ /dev/null @@ -1,76 +0,0 @@ -#include -#include "tsuite.h" - -TEST_START(test_check) -{ - Evas_Object *bg, *bx, *ic, *ck; - char buf[PATH_MAX]; - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - ck = elm_check_add(win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5); - elm_object_text_set(ck, "Icon sized to check"); - elm_object_content_set(ck, ic); - elm_check_state_set(ck, 1); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - ck = elm_check_add(win); - elm_object_text_set(ck, "Icon no scale"); - elm_object_content_set(ck, ic); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - evas_object_show(ic); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Label Only"); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - ck = elm_check_add(win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5); - elm_object_text_set(ck, "Disabled check"); - elm_object_content_set(ck, ic); - elm_check_state_set(ck, 1); - elm_box_pack_end(bx, ck); - elm_object_disabled_set(ck, 1); - evas_object_show(ck); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - ck = elm_check_add(win); - elm_object_content_set(ck, ic); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - evas_object_show(ic); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_clock.c b/src/bin/test_clock.c deleted file mode 100644 index 0666887..0000000 --- a/src/bin/test_clock.c +++ /dev/null @@ -1,239 +0,0 @@ -#include -#include "tsuite.h" - -enum _api_state -{ - CLOCK_HIDE_SEC, - CLOCK_SHOW_AM_PM, - CLOCK_SHOW_SEC, - CLOCK_EDIT_MIN, - CLOCK_EDIT_HOUR, - CLOCK_EDIT_ALL, - CLOCK_EDIT_ALL_ARMY, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - Evas_Object *ck = eina_list_nth(items, 0); - if(!eina_list_count(items)) - return; - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case CLOCK_HIDE_SEC: - elm_clock_show_seconds_set(ck, EINA_FALSE); - break; - - case CLOCK_SHOW_AM_PM: - elm_clock_show_am_pm_set(ck, EINA_TRUE); - break; - - case CLOCK_SHOW_SEC: - elm_clock_show_seconds_set(ck, EINA_TRUE); - break; - - case CLOCK_EDIT_MIN: - elm_clock_edit_set(ck, ELM_CLOCK_MIN_DECIMAL | ELM_CLOCK_MIN_UNIT); - break; - - case CLOCK_EDIT_HOUR: - elm_clock_edit_set(ck, ELM_CLOCK_NONE); - elm_clock_edit_set(ck, ELM_CLOCK_HOUR_DECIMAL | ELM_CLOCK_HOUR_UNIT); - break; - - case CLOCK_EDIT_ALL: - elm_clock_edit_set(ck, ELM_CLOCK_ALL); - break; - - case CLOCK_EDIT_ALL_ARMY: - elm_clock_show_am_pm_set(ck, EINA_FALSE); - break; - - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_clock) -{ - Evas_Object *bg, *bx, *bxx, *ck; - unsigned int digedit; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - elm_win_resize_object_add(win, bx); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, EINA_TRUE); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ck = elm_clock_add(win); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_show_am_pm_set(ck, 1); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_show_seconds_set(ck, 1); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_show_seconds_set(ck, 1); - elm_clock_show_am_pm_set(ck, 1); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_show_seconds_set(ck, 1); - elm_clock_show_am_pm_set(ck, 0); - elm_clock_time_set(ck, 23, 59, 57); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_edit_set(ck, 1); - elm_clock_show_seconds_set(ck, 1); - elm_clock_show_am_pm_set(ck, 1); - elm_clock_time_set(ck, 10, 11, 12); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - ck = elm_clock_add(win); - elm_clock_show_seconds_set(ck, 1); - elm_clock_edit_set(ck, 1); - digedit = ELM_CLOCK_HOUR_UNIT | ELM_CLOCK_MIN_UNIT | ELM_CLOCK_SEC_UNIT; - elm_clock_digit_edit_set(ck, digedit); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - evas_object_show(win); -} -TEST_END - -static void -_edit_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *ck = data; - - if (!elm_clock_edit_get(ck)) { - elm_object_text_set(obj, "Done"); - elm_clock_edit_set(ck, 1); - return; - } - elm_object_text_set(obj, "Edit"); - elm_clock_edit_set(ck, 0); -} - -static void -_hmode_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *ck = data; - - if (!elm_clock_show_am_pm_get(ck)) { - elm_object_text_set(obj, "24h"); - elm_clock_show_am_pm_set(ck, 1); - return; - } - elm_object_text_set(obj, "12h"); - elm_clock_show_am_pm_set(ck, 0); -} - -TEST_START(test_clock2) -{ - Evas_Object *bg, *bx, *bxx, *hbx, *ck, *bt; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - elm_win_resize_object_add(win, bx); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - ck = elm_clock_add(win); - elm_clock_time_set(ck, 0, 15, 3); - elm_clock_digit_edit_set(ck, ELM_CLOCK_NONE); - elm_clock_show_seconds_set(ck, 1); - elm_box_pack_end(bx, ck); - evas_object_show(ck); - - hbx = elm_box_add(win); - evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(hbx, EINA_TRUE); - elm_box_pack_end(bx, hbx); - evas_object_show(hbx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Edit"); - evas_object_smart_callback_add(bt, "clicked", _edit_bt_clicked, ck); - elm_box_pack_end(hbx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "24h"); - evas_object_smart_callback_add(bt, "clicked", _hmode_bt_clicked, ck); - elm_box_pack_end(hbx, bt); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_colorselector.c b/src/bin/test_colorselector.c deleted file mode 100644 index 301d76d..0000000 --- a/src/bin/test_colorselector.c +++ /dev/null @@ -1,89 +0,0 @@ -#include -#include "tsuite.h" - -static void -_colorselector_clicked_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *re = data; - int r, g, b, a; - - elm_colorselector_color_get(obj, &r, &g, &b, &a); - printf("Current Color [r=%d g=%d b=%d a=%d]\n",r, g, b, a); - - /* Fix Alpha pre multiplication by edje */ - r = (r * a) / 255; - g = (g * a) / 255; - b = (b * a) / 255; - - evas_object_color_set(re, r, g, b, a); -} - -TEST_START(test_colorselector) -{ - Evas_Object *bg, *bx, *cp, *fr, *ly, *re; - char buf[PATH_MAX]; - int r, g, b, a; - - 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_color_set(bg, 255, 255, 255, 255); - 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); - - fr = elm_frame_add(win); - evas_object_size_hint_weight_set(fr, 1.0, 0.5); - evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(fr, "Color View"); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/colorpreview.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "main"); - evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(fr, ly); - evas_object_show(ly); - - re = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_show(re); - elm_object_part_content_set(ly, "ColorPreview", re); - - fr = elm_frame_add(win); - evas_object_size_hint_weight_set(fr, 1.0, 0); - evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, 0); - elm_object_text_set(fr, "Color Selector"); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - cp = elm_colorselector_add(win); - - a = 180; - r = 255; - g = 160; - b = 132; - - elm_colorselector_color_set(cp, r, g, b, a); - evas_object_size_hint_weight_set(cp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(cp, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_content_set(fr, cp); - evas_object_show(cp); - evas_object_smart_callback_add(cp, "changed", _colorselector_clicked_cb, re); - - elm_colorselector_color_get(cp, &r, &g, &b, &a); - /* Fix Alpha pre multiplication by edje */ - r = (r * a) / 255; - g = (g * a) / 255; - b = (b * a) / 255; - evas_object_color_set(re, r, g, b, a); - - evas_object_resize(win, 320, 480); - evas_object_show(win); - -} -TEST_END diff --git a/src/bin/test_conform.c b/src/bin/test_conform.c deleted file mode 100644 index b2b9230..0000000 --- a/src/bin/test_conform.c +++ /dev/null @@ -1,200 +0,0 @@ -#include -#include "tsuite.h" - -TEST_START(test_conformant) -{ - Evas_Object *bg, *conform, *btn, *bx, *en; - - elm_win_conformant_set(win, 1); - - 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); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_single_line_set(en, 1); - elm_entry_bounce_set(en, 1, 0); - elm_entry_entry_set(en, "This is the top entry here"); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - 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.0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, btn); - evas_object_show(btn); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_single_line_set(en, 1); - elm_entry_bounce_set(en, 1, 0); - elm_entry_entry_set(en, "This is the middle entry here"); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - 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, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, btn); - evas_object_show(btn); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_bounce_set(en, 0, 1); - elm_entry_entry_set(en, - "This is a multi-line entry at the bottom
" - "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); - - elm_object_content_set(conform, bx); - evas_object_show(bx); - - evas_object_resize(win, 240, 240); - evas_object_show(win); -} -TEST_END - -static void -popobj(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__) -{ - elm_pager_content_pop(data); -} - -TEST_START(test_conformant2) -{ - Evas_Object *bg, *conform, *btn, *bx, *en, *pg; - - elm_win_conformant_set(win, 1); - - 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); - evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_win_resize_object_add(win, bx); - evas_object_show(bx); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_single_line_set(en, 1); - elm_entry_bounce_set(en, 1, 0); - elm_entry_entry_set(en, "This is the top entry here"); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, en); - evas_object_show(en); - - btn = elm_button_add(win); - elm_object_focus_allow_set(btn, 0); - elm_object_text_set(btn, "Delete Below"); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, btn); - evas_object_show(btn); - - pg = elm_pager_add(win); - 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); - elm_box_pack_end(bx, pg); - evas_object_show(pg); - - evas_object_smart_callback_add(btn, "clicked", popobj, pg); - - conform = elm_conformant_add(win); - evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_pager_content_push(pg, conform); - 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); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_bounce_set(en, 0, 1); - elm_entry_entry_set(en, "This entry and button below get deleted."); - 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_focus_allow_set(btn, 0); - elm_object_text_set(btn, "Delete this bottom bit 1"); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, btn); - evas_object_show(btn); - - evas_object_smart_callback_add(btn, "clicked", popobj, pg); - - elm_object_content_set(conform, bx); - evas_object_show(bx); - - conform = elm_conformant_add(win); - evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(conform, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_pager_content_push(pg, conform); - 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); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_bounce_set(en, 0, 1); - elm_entry_entry_set(en, "This entry and button below get deleted."); - 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_focus_allow_set(btn, 0); - elm_object_text_set(btn, "Delete this bottom bit 2"); - evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, btn); - evas_object_show(btn); - - evas_object_smart_callback_add(btn, "clicked", popobj, pg); - - elm_object_content_set(conform, bx); - evas_object_show(bx); - - evas_object_resize(win, 240, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_ctxpopup.c b/src/bin/test_ctxpopup.c deleted file mode 100644 index 60543ee..0000000 --- a/src/bin/test_ctxpopup.c +++ /dev/null @@ -1,240 +0,0 @@ -#include -#include "tsuite.h" -static void -_dismissed(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - evas_object_del(obj); -} - -static void -_print_current_dir(Evas_Object *obj) -{ - Elm_Ctxpopup_Direction dir; - dir = elm_ctxpopup_direction_get(obj); - - switch(dir) - { - case ELM_CTXPOPUP_DIRECTION_LEFT: - printf("ctxpopup direction: left!\n"); - break; - case ELM_CTXPOPUP_DIRECTION_RIGHT: - printf("ctxpopup direction: right!\n"); - break; - case ELM_CTXPOPUP_DIRECTION_UP: - printf("ctxpopup direction: up!\n"); - break; - case ELM_CTXPOPUP_DIRECTION_DOWN: - printf("ctxpopup direction: down!\n"); - break; - case ELM_CTXPOPUP_DIRECTION_UNKNOWN: - printf("ctxpopup direction: unknow!\n"); - break; - } -} - -static void -_ctxpopup_item_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("ctxpopup item selected: %s\n", - elm_object_item_text_get(event_info)); -} - -#define ITEM_NEW(_hov, _label, _icon) \ - if(_icon) \ - { \ - ic = elm_icon_add(obj); \ - elm_icon_standard_set(ic, _icon); \ - elm_icon_scale_set(ic, EINA_FALSE, EINA_FALSE); \ - } \ - else \ - ic = NULL; \ - it = elm_ctxpopup_item_append(_hov, _label, ic, _ctxpopup_item_cb, NULL); \ - -static void -_list_item_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *ctxpopup, *ic; - Elm_Object_Item *it; - Evas_Coord x,y; - - ctxpopup = elm_ctxpopup_add(obj); - evas_object_smart_callback_add(ctxpopup, - "dismissed", - _dismissed, - NULL); - - ITEM_NEW(ctxpopup, "Go to home folder", "home"); - ITEM_NEW(ctxpopup, "Save file", "file"); - ITEM_NEW(ctxpopup, "Delete file", "delete"); - ITEM_NEW(ctxpopup, "Navigate to folder", "folder"); - elm_object_item_disabled_set(it, EINA_TRUE); - ITEM_NEW(ctxpopup, "Edit entry", "edit"); - ITEM_NEW(ctxpopup, "Set date and time", "clock"); - elm_object_item_disabled_set(it, EINA_TRUE); - - evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); - evas_object_size_hint_max_set(ctxpopup, 240, 240); - evas_object_move(ctxpopup, x, y); - evas_object_show(ctxpopup); - _print_current_dir(ctxpopup); -} - -static void -_list_item_cb2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *ctxpopup, *ic; - Elm_Object_Item *it; - Evas_Coord x,y; - - ctxpopup = elm_ctxpopup_add(obj); - evas_object_smart_callback_add(ctxpopup, - "dismissed", - _dismissed, - NULL); - - ITEM_NEW(ctxpopup, NULL, "home"); - ITEM_NEW(ctxpopup, NULL, "file"); - ITEM_NEW(ctxpopup, NULL, "delete"); - ITEM_NEW(ctxpopup, NULL, "folder"); - ITEM_NEW(ctxpopup, NULL, "edit"); - elm_object_item_disabled_set(it, EINA_TRUE); - ITEM_NEW(ctxpopup, NULL, "clock"); - - evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); - evas_object_size_hint_max_set(ctxpopup, 240, 240); - evas_object_move(ctxpopup, x, y); - evas_object_show(ctxpopup); - _print_current_dir(ctxpopup); -} - -static void -_list_item_cb3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *ctxpopup, *ic; - Elm_Object_Item *it; - Evas_Coord x,y; - - ctxpopup = elm_ctxpopup_add(obj); - evas_object_smart_callback_add(ctxpopup, - "dismissed", - _dismissed, - NULL); - - ITEM_NEW(ctxpopup, "Eina", NULL); - ITEM_NEW(ctxpopup, "Eet", NULL); - ITEM_NEW(ctxpopup, "Evas", NULL); - ITEM_NEW(ctxpopup, "Ecore", NULL); - elm_object_item_disabled_set(it, EINA_TRUE); - ITEM_NEW(ctxpopup, "Embryo", NULL); - ITEM_NEW(ctxpopup, "Edje", NULL); - - evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); - evas_object_move(ctxpopup, x, y); - evas_object_show(ctxpopup); - _print_current_dir(ctxpopup); -} - -static void -_list_item_cb4(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *ctxpopup, *ic; - Elm_Object_Item *it; - Evas_Coord x,y; - - ctxpopup = elm_ctxpopup_add(obj); - evas_object_smart_callback_add(ctxpopup, - "dismissed", - _dismissed, - NULL); - elm_ctxpopup_horizontal_set(ctxpopup, EINA_TRUE); - - ITEM_NEW(ctxpopup, NULL, "home"); - ITEM_NEW(ctxpopup, NULL, "file"); - ITEM_NEW(ctxpopup, NULL, "delete"); - ITEM_NEW(ctxpopup, NULL, "folder"); - ITEM_NEW(ctxpopup, NULL, "edit"); - ITEM_NEW(ctxpopup, NULL, "clock"); - - evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); - evas_object_size_hint_max_set(ctxpopup, 240, 240); - evas_object_move(ctxpopup, x, y); - evas_object_show(ctxpopup); - _print_current_dir(ctxpopup); -} - - -static void -_list_item_cb5(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *ctxpopup, *btn, *sc, *bx; - Evas_Coord x,y; - - bx = elm_box_add(obj); - evas_object_size_hint_min_set(bx, 150, 150); - - sc = elm_scroller_add(bx); - elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE); - evas_object_size_hint_fill_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(sc); - - btn = elm_button_add(sc); - elm_object_text_set(btn, "Enlightenment"); - evas_object_size_hint_min_set(btn, 140, 140); - - elm_object_content_set(sc, btn); - - elm_box_pack_end(bx, sc); - - ctxpopup = elm_ctxpopup_add(obj); - evas_object_smart_callback_add(ctxpopup, - "dismissed", - _dismissed, - NULL); - elm_object_content_set(ctxpopup, bx); - - evas_pointer_canvas_xy_get(evas_object_evas_get(obj), &x, &y); - evas_object_move(ctxpopup, x, y); - evas_object_show(ctxpopup); - _print_current_dir(ctxpopup); -} - - -static void _list_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - elm_list_item_selected_set(event_info, EINA_FALSE); -} - -TEST_START(test_ctxpopup) -{ - Evas_Object *bg, *list; - - 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); - - list = elm_list_add(win); - elm_win_resize_object_add(win, list); - evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_list_mode_set(list, ELM_LIST_COMPRESS); - evas_object_smart_callback_add(list, "selected", _list_clicked, NULL); - -#undef ITEM_NEW - elm_list_item_append(list, "Ctxpopup with icons and labels", NULL, NULL, - _list_item_cb, NULL); - elm_list_item_append(list, "Ctxpopup with icons only", NULL, NULL, - _list_item_cb2, NULL); - elm_list_item_append(list, "Ctxpopup with labels only", NULL, NULL, - _list_item_cb3, NULL); - elm_list_item_append(list, "Ctxpopup at horizontal mode", NULL, NULL, - _list_item_cb4, NULL); - elm_list_item_append(list, "Ctxpopup with user content", NULL, NULL, - _list_item_cb5, NULL); - evas_object_show(list); - elm_list_go(list); - - evas_object_resize(win, 400, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_diskselector.c b/src/bin/test_diskselector.c deleted file mode 100644 index e4fb4a9..0000000 --- a/src/bin/test_diskselector.c +++ /dev/null @@ -1,335 +0,0 @@ -#include -#include -#include "tsuite.h" - -static void -_disk_sel(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *ds_it = event_info; - printf("Equinox: %s\n", elm_diskselector_item_label_get(ds_it)); -} - -static void -_disk_next(void *data __UNUSED__, Evas_Object * obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *next_ds_it, *prev_ds_it, *ds_it = event_info; - prev_ds_it = elm_diskselector_item_prev_get(ds_it); - next_ds_it = elm_diskselector_item_next_get(ds_it); - printf("Prev: %s, Next: %s\n", - elm_diskselector_item_label_get(prev_ds_it), - elm_diskselector_item_label_get(next_ds_it)); -} - -static void -_print_disk_info_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *ds_it = event_info; - printf("Selected label: %s\n", elm_diskselector_item_label_get(ds_it)); -} - -static Evas_Object * -_disk_create(Evas_Object *win, Eina_Bool round) -{ - Elm_Object_Item *ds_it; - Evas_Object *di; - - di = elm_diskselector_add(win); - - elm_diskselector_item_append(di, "January", NULL, NULL, NULL); - elm_diskselector_item_append(di, "February", NULL, _disk_next, NULL); - elm_diskselector_item_append(di, "March", NULL, _disk_sel, NULL); - elm_diskselector_item_append(di, "April", NULL, NULL, NULL); - elm_diskselector_item_append(di, "May", NULL, NULL, NULL); - elm_diskselector_item_append(di, "June", NULL, NULL, NULL); - elm_diskselector_item_append(di, "July", NULL, NULL, NULL); - ds_it = elm_diskselector_item_append(di, "August", NULL, NULL, NULL); - elm_diskselector_item_append(di, "September", NULL, _disk_sel, NULL); - elm_diskselector_item_append(di, "October", NULL, NULL, NULL); - elm_diskselector_item_append(di, "November", NULL, NULL, NULL); - elm_diskselector_item_append(di, "December", NULL, NULL, NULL); - - elm_diskselector_item_selected_set(ds_it, EINA_TRUE); - elm_diskselector_round_set(di, round); - - return di; -} - -enum _api_state -{ - SCROLLER_POLICY_SET_ON, - SCROLLER_POLICY_SET_OFF, - BOUNCE_SET, - ITEM_LABEL_SET, - TOOLTIP_TEXT_SET, - ITEM_TOOLTIP_UNSET, - ITEM_CURSOR_SET, - ITEM_CURSOR_UNSET, - ITEM_ICON_SET, - SELECTED_SET, - ITEM_PREV_GET, - ITEM_DEL_NOT_SELECTED, - ITEM_DEL, /* delete when selected */ - CLEAR, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *disks = elm_box_children_get(api->data); - if(!eina_list_count(disks)) - return; - - switch(api->state) - { /* Put all api-changes under switch */ - case SCROLLER_POLICY_SET_ON: /* 0 */ - { /* Get first disk */ - Evas_Object *disk = eina_list_nth(disks, 0); - elm_diskselector_scroller_policy_set(disk, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); - } - break; - - case SCROLLER_POLICY_SET_OFF: /* 1 */ - { /* Get first disk */ - Evas_Object *disk = eina_list_nth(disks, 0); - elm_diskselector_scroller_policy_set(disk, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - } - break; - - case BOUNCE_SET: /* 2 */ - { /* Get second disk, cancel bounce */ - Evas_Object *disk = eina_list_nth(disks, 1); - elm_diskselector_bounce_set(disk, EINA_FALSE, EINA_FALSE); - } - break; - - case ITEM_LABEL_SET: /* 3 */ - elm_diskselector_item_label_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), "Label from API"); - break; - - case TOOLTIP_TEXT_SET: /* 4 */ - elm_diskselector_item_tooltip_text_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), "Tooltip from API"); - break; - - case ITEM_TOOLTIP_UNSET: /* 5 */ - elm_diskselector_item_tooltip_unset(elm_diskselector_selected_item_get(eina_list_nth(disks, 0))); - break; - - case ITEM_CURSOR_SET: /* 6 */ - elm_diskselector_item_cursor_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), ELM_CURSOR_HAND2); - break; - - case ITEM_CURSOR_UNSET: /* 7 */ - elm_diskselector_item_cursor_unset(elm_diskselector_selected_item_get(eina_list_nth(disks, 0))); - break; - - case ITEM_ICON_SET: /* 8 */ - { /* Set icon of selected item in first disk */ - char buf[PATH_MAX]; - Evas_Object *ic = elm_icon_add(elm_object_parent_widget_get(eina_list_nth(disks, 0))); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_diskselector_item_icon_set(elm_diskselector_selected_item_get(eina_list_nth(disks, 0)), ic); - evas_object_show(ic); - } - break; - - case SELECTED_SET: /* 9 */ - { /* Select NEXT item of third disk */ - elm_diskselector_item_selected_set(elm_diskselector_item_next_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2))), EINA_TRUE); - } - break; - - case ITEM_PREV_GET: /* 10 */ - { /* Select PREV item of third disk */ - elm_diskselector_item_selected_set(elm_diskselector_item_prev_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2))), EINA_TRUE); - } - break; - - case ITEM_DEL_NOT_SELECTED: /* 11 */ - { /* Remove selected item of third disk */ - elm_diskselector_item_del(elm_diskselector_item_prev_get(elm_diskselector_selected_item_get(eina_list_nth(disks, 2)))); - } - break; - - case ITEM_DEL: /* 12 */ - { /* Remove selected item of first disk */ - elm_diskselector_item_del(elm_diskselector_selected_item_get(eina_list_nth(disks, 1))); - } - break; - - case CLEAR: /* 13 */ - elm_diskselector_clear(eina_list_nth(disks, 0)); - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_diskselector) -{ - Evas_Object *bg, *bx, *bxx, *disk, *ic; - Elm_Object_Item *ds_it; - char buf[PATH_MAX]; - int idx = 0; - - char *month_list[] = { - "Jan", "Feb", "Mar", - "Apr", "May", "Jun", - "Jul", "Aug", "Sep", - "Oct", "Nov", "Dec" - }; - char date[3]; - - 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_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(bg); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - 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_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - disk = _disk_create(win, EINA_TRUE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - ds_it = elm_diskselector_selected_item_get(disk); - elm_diskselector_item_selected_set(ds_it, EINA_FALSE); - - disk = _disk_create(win, EINA_FALSE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - ds_it = elm_diskselector_first_item_get(disk); - ds_it = elm_diskselector_item_next_get(ds_it); - elm_diskselector_item_selected_set(ds_it, EINA_TRUE); - - disk = _disk_create(win, EINA_FALSE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - elm_diskselector_side_label_length_set(disk, 4); - - disk = elm_diskselector_add(win); - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 1, 1); - elm_diskselector_item_append(disk, "Sunday", ic, NULL, NULL); - elm_diskselector_item_append(disk, "Monday", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Tuesday", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Wednesday", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Thursday", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Friday", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Saturday", NULL, NULL, NULL); - elm_diskselector_round_set(disk, EINA_TRUE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - - disk = elm_diskselector_add(win); - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 1, 1); - elm_diskselector_item_append(disk, "머리스타일", ic, NULL, NULL); - elm_diskselector_item_append(disk, "プロが伝授する", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "生上访要求政府", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "English", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "والشريعة", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "עִבְרִית", NULL, NULL, NULL); - elm_diskselector_item_append(disk, "Grüßen", NULL, NULL, NULL); - elm_diskselector_round_set(disk, EINA_TRUE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - - // displayed item number setting example - disk = elm_diskselector_add(win); - elm_diskselector_display_item_num_set(disk, 5); - printf("Number of Items in DiskSelector : %d\n", - elm_diskselector_display_item_num_get(disk)); - - for (idx = 0; idx < (int)(sizeof(month_list) / sizeof(month_list[0])); idx++) - { - ds_it = elm_diskselector_item_append(disk, month_list[idx], NULL, NULL, - NULL); - } - - elm_diskselector_item_selected_set(ds_it, EINA_TRUE); - elm_diskselector_round_set(disk, EINA_TRUE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - - // displayed item number setting example - disk = elm_diskselector_add(win); - elm_diskselector_display_item_num_set(disk, 7); - printf("Number of Items in DiskSelector : %d\n", elm_diskselector_display_item_num_get(disk)); - - for (idx = 1; idx < 31; idx++) - { - snprintf(date, sizeof(date), "%d", idx); - ds_it = elm_diskselector_item_append(disk, date, NULL, NULL, NULL); - } - - elm_diskselector_item_selected_set(ds_it, EINA_TRUE); - elm_diskselector_round_set(disk, EINA_TRUE); - evas_object_size_hint_weight_set(disk, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(disk, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, disk); - evas_object_show(disk); - evas_object_smart_callback_add(disk, "selected", _print_disk_info_cb, NULL); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c deleted file mode 100644 index f622c42..0000000 --- a/src/bin/test_entry.c +++ /dev/null @@ -1,1673 +0,0 @@ -#include -#include "tsuite.h" - -static void -my_entry_bt_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_set(en, ""); -} - -static void -my_entry_bt_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_entry_get(en); - printf("ENTRY:\n"); - if (s) printf("%s\n", s); - printf("ENTRY PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_entry_bt_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_selection_get(en); - printf("SELECTION:\n"); - if (s) printf("%s\n", s); - printf("SELECTION PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_entry_bt_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_insert(en, "Insert some BOLD text"); -} - -static void -my_entry_bt_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_scrollable_set(en, !elm_entry_scrollable_get(en)); -} - -static void -my_entry_bt_6(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - static Elm_Wrap_Type wr = ELM_WRAP_NONE; - - wr++; - if (wr == ELM_WRAP_LAST) wr = ELM_WRAP_NONE; - printf("wr: %i\n", wr); - elm_entry_line_wrap_set(en, wr); -} - -TEST_START(test_entry) -{ - Evas_Object *bg, *bx, *bx2, *bt, *en; - char buf[4096]; - - 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); - - en = elm_entry_add(win); - elm_entry_line_wrap_set(en, ELM_WRAP_NONE); - snprintf(buf, sizeof(buf), - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By the way, links are
" - "called Anchors so you will need
" - "to refer to them this way.
" - "
" - - "Also you can stick in items with (relsize + ascent): " - "" - " (full) " - "" - " (to the left)
" - - "Also (size + ascent): " - "" - " (full) " - "" - " (before this)
" - - "And as well (absize + ascent): " - "" - " (full) " - "" - " or even paths to image files on disk too like: " - "" - " ... end." - , elm_app_data_dir_get() - ); - elm_entry_entry_set(en, buf); - 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); - elm_box_pack_end(bx, en); - evas_object_show(en); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clr"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_1, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Prnt"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_2, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Sel"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_3, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Ins"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_4, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scrl"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_5, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Wr"); - evas_object_smart_callback_add(bt, "clicked", my_entry_bt_6, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - elm_object_focus_set(en, EINA_TRUE); - evas_object_show(win); -} -TEST_END - -static void -my_scrolled_entry_bt_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_set(en, ""); -} - -static void -my_scrolled_entry_bt_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_entry_get(en); - printf("ENTRY:\n"); - if (s) printf("%s\n", s); - printf("ENTRY PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_scrolled_entry_bt_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_selection_get(en); - printf("SELECTION:\n"); - if (s) printf("%s\n", s); - printf("SELECTION PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_scrolled_entry_bt_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_insert(en, "Insert some BOLD text"); -} - -static void -my_scrolled_entry_bt_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_entry_get(en); - printf("PASSWORD: '%s'\n", s ? s : ""); -} - -static void -scrolled_anchor_test(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_insert(en, "ANCHOR CLICKED"); -} - -TEST_START(test_entry_scrolled) -{ - Evas_Object *bg, *bx, *bx2, *bt, *en, *en_p, *sp; - static Elm_Entry_Filter_Accept_Set digits_filter_data, digits_filter_data2; - static Elm_Entry_Filter_Limit_Size limit_filter_data, limit_filter_data2; - - 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); - - /* disabled entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_entry_set(en, "Disabled entry"); - elm_entry_single_line_set(en, 1); - elm_object_disabled_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - /* password entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_password_set(en, 1); - elm_entry_single_line_set(en, 1); - elm_entry_entry_set(en, "Access denied, give up!"); - elm_object_disabled_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - /* multi-line disable entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - 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); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); - elm_object_disabled_set(en, 1); - elm_entry_context_menu_item_add(en, "Hello", NULL, ELM_ICON_NONE, NULL, NULL); - elm_entry_context_menu_item_add(en, "World", NULL, ELM_ICON_NONE, NULL, NULL); - elm_entry_entry_set(en, - "Multi-line disabled entry widget :)
" - "We can use markup like this for styling and
" - "formatting like this, as well as
" - "links in the text," - "but it won't be editable or clickable."); - evas_object_show(en); - elm_box_pack_end(bx, en); - - sp = elm_separator_add(win); - elm_separator_horizontal_set(sp, 1); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - /* Single line selected entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "This is a single line"); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - elm_entry_select_all(en); - evas_object_show(en); - elm_box_pack_end(bx, en); - - /* Only digits entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "01234"); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - digits_filter_data.accepted = "0123456789"; - digits_filter_data.rejected = NULL; - elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data); - - /* No digits entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "No numbers here"); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - digits_filter_data2.accepted = NULL; - digits_filter_data2.rejected = "0123456789"; - elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data2); - - /* Size limited entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "Just 20 chars"); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - limit_filter_data.max_char_count = 20; - limit_filter_data.max_byte_count = 0; - elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data); - - /* Byte size limited entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "And now only 30 bytes"); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - evas_object_show(en); - elm_box_pack_end(bx, en); - - limit_filter_data2.max_char_count = 0; - limit_filter_data2.max_byte_count = 30; - elm_entry_markup_filter_append(en, elm_entry_filter_limit_size, &limit_filter_data2); - - /* Single line password entry */ - en_p = elm_entry_add(win); - elm_entry_scrollable_set(en_p, EINA_TRUE); - evas_object_size_hint_weight_set(en_p, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en_p, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(en_p, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_entry_set(en_p, "Password here"); - elm_entry_single_line_set(en_p, 1); - elm_entry_password_set(en_p, 1); - evas_object_show(en_p); - elm_box_pack_end(bx, en_p); - - /* scrolled entry with icon/end widgets*/ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_single_line_set(en, 1); - 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); - bt = elm_icon_add(win); - elm_icon_standard_set(bt, "home"); - evas_object_size_hint_min_set(bt, 48, 48); - evas_object_color_set(bt, 255, 0, 0, 128); - evas_object_show(bt); - elm_entry_icon_set(en, bt); - bt = elm_icon_add(win); - elm_icon_standard_set(bt, "delete"); - evas_object_color_set(bt, 255, 0, 0, 128); - evas_object_size_hint_min_set(bt, 48, 48); - evas_object_show(bt); - elm_entry_end_set(en, bt); - elm_entry_entry_set(en, "scrolled entry with icon and end objects"); - evas_object_show(en); - elm_box_pack_end(bx, en); - - /* markup scrolled entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - 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); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); - elm_entry_entry_set(en, - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By them way, links are
" - "called Anchors so you will need
" - "to refer to them this way. At the end here is a really long " - "line to test line wrapping to see if it works. But just in " - "case this line is not long enough I will add more here to " - "really test it out, as Elementary really needs some " - "good testing to see if entry widgets work as advertised."); - evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en); - evas_object_show(en); - elm_box_pack_end(bx, en); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clear"); - evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_1, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Print"); - evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_2, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Print pwd"); - evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_5, en_p); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Selection"); - evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_3, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Insert"); - evas_object_smart_callback_add(bt, "clicked", my_scrolled_entry_bt_4, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 300); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END - -static void -my_ent_bt_clr(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_set(en, ""); -} - -static void -my_ent_bt_pri(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_entry_get(en); - printf("ENTRY:\n"); - if (s) printf("%s\n", s); - printf("ENTRY PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_ent_bt_sel(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - const char *s = elm_entry_selection_get(en); - printf("SELECTION:\n"); - if (s) printf("%s\n", s); - printf("SELECTION PLAIN UTF8:\n"); - if (s) - { - s = elm_entry_markup_to_utf8(s); - if (s) - { - printf("%s\n", s); - free((char *)s); - } - } -} - -static void -my_ent_bt_all(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_select_all(en); -} - -static void -my_ent_bt_non(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_select_none(en); -} - -static void -my_ent_bt_ins(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_insert(en, "Insert text"); -} - -static void -my_ent_bt_lef(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_prev(en); -} - -static void -my_ent_bt_rig(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_next(en); -} - -static void -my_ent_bt_up_(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_up(en); -} - -static void -my_ent_bt_dow(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_down(en); -} - -static void -my_ent_bt_beg(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_begin_set(en); -} - -static void -my_ent_bt_end(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_end_set(en); -} - -static void -my_ent_bt_lbe(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_line_begin_set(en); -} - -static void -my_ent_bt_len(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_line_end_set(en); -} - -static void -my_ent_bt_sbe(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_selection_begin(en); -} - -static void -my_ent_bt_sen(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_cursor_selection_end(en); -} - -static void -my_ent_bt_fmt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - printf("IS FORMAT: %i\n", - (int)elm_entry_cursor_is_format_get(en)); -} - -static void -my_ent_bt_vfm(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - printf("IS VISIBLE FORMAT %i\n", - (int)elm_entry_cursor_is_visible_format_get(en)); -} - -static void -my_ent_bt_chr(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - printf("CHAR '%s'\n", elm_entry_cursor_content_get(en)); -} - -static void -my_ent_bt_cut(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_selection_cut(en); -} - -static void -my_ent_bt_cop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_selection_copy(en); -} - -static void -my_ent_bt_pas(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_selection_paste(en); -} - -TEST_START(test_entry3) -{ - Evas_Object *bg, *bx, *bx2, *bt, *en; - - 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); - - /* Single line selected entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_entry_set(en, "This is a single line"); - elm_entry_single_line_set(en, 1); - elm_box_pack_end(bx, en); - evas_object_show(en); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pri"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Sel"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "All"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Non"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Ins"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Lef"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Rig"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Up "); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Dow"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Beg"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "End"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_end, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Fmt"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "VFm"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Chr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cut"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cop"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pas"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - /* markup scrolled entry */ - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - 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); - elm_entry_entry_set(en, - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By them way, links are
" - "called Anchors so you will need
" - "to refer to them this way. At the end here is a really long " - "line to test line wrapping to see if it works. But just in " - "case this line is not long enough I will add more here to " - "really test it out, as Elementary really needs some " - "good testing to see if entry widgets work as advertised." - ); - evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en); - elm_box_pack_end(bx, en); - evas_object_show(en); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pri"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Sel"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "All"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Non"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Ins"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Lef"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Rig"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Up "); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Dow"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Beg"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "End"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_end, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Fmt"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "VFm"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Chr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cut"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cop"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pas"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 480); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END - -TEST_START(test_entry4) -{ - Evas_Object *bg, *ly, *en; - char buf[PATH_MAX]; - - 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); - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "layout"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, ly); - evas_object_show(ly); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_entry_entry_set(en, "This is a single line"); - elm_entry_single_line_set(en, 1); - elm_object_part_content_set(ly, "element1", en); - evas_object_show(en); - - en = elm_entry_add(win); - elm_entry_line_wrap_set(en, ELM_WRAP_NONE); - elm_entry_entry_set(en, - "This is an entry widget
" - "that uses markup
" - "like this and has
" - "no scroller, so you can
" - "use it more flexibly."); - 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); - elm_object_part_content_set(ly, "element2", en); - evas_object_show(en); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - 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); - elm_entry_entry_set(en, - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By them way, links are
" - "called Anchors so you will need
" - "to refer to them this way. At the end here is a really long " - "line to test line wrapping to see if it works. But just in " - "case this line is not long enough I will add more here to " - "really test it out, as Elementary really needs some " - "good testing to see if entry widgets work as advertised." - ); - evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en); - elm_object_part_content_set(ly, "element3", en); - evas_object_show(en); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_entry5) -{ - Evas_Object *bg, *bx, *bx2, *bt, *en; - - 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); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_line_wrap_set(en, ELM_WRAP_CHAR); - 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); - elm_entry_entry_set(en, - "This is an entry widget in this window that " - "uses markup like this for styling and " - "formatting like this, as well as " - "to refer to them this way. At the end here is a really long " - "line to test line wrapping to see if it works. But just in " - "case this line is not long enough I will add more here to " - "really test it out, as Elementary really needs some " - "good testing to see if entry widgets work as advertised." - ); - evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, en); - elm_box_pack_end(bx, en); - evas_object_show(en); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_clr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pri"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pri, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Sel"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sel, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "All"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_all, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Non"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_non, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Ins"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_ins, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Lef"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lef, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Rig"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_rig, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Up "); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_up_, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Dow"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_dow, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Beg"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_beg, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "End"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_end, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_lbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "LEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_len, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SBe"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sbe, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "SEn"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_sen, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Fmt"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_fmt, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "VFm"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_vfm, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Chr"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_chr, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cut"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cut, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Cop"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_cop, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Pas"); - evas_object_smart_callback_add(bt, "clicked", my_ent_bt_pas, en); - 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(bx2, bt); - evas_object_propagate_events_set(bt, 0); - elm_object_focus_allow_set(bt, 0); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 480); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END - -static void -_scrolled_entry_clear(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *en = data; - elm_entry_entry_set(en, ""); -} - -TEST_START(test_entry_notepad) -{ - Evas_Object *bg, *bx, *bx2, *bt, *np; - - 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); - - np = elm_entry_add(win); - elm_entry_scrollable_set(np, EINA_TRUE); - elm_entry_file_set(np, "note.txt", ELM_TEXT_FORMAT_PLAIN_UTF8); - evas_object_size_hint_weight_set(np, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(np, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, np); - evas_object_show(np); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clear"); - evas_object_smart_callback_add(bt, "clicked", _scrolled_entry_clear, np); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 300); - - elm_object_focus_set(win, EINA_TRUE); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_fileselector.c b/src/bin/test_fileselector.c deleted file mode 100644 index 61adb7c..0000000 --- a/src/bin/test_fileselector.c +++ /dev/null @@ -1,281 +0,0 @@ -#include -#include "tsuite.h" - -static void -my_fileselector_done(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - /* event_info conatin the full path of the selected file - * or NULL if none is selected or cancel is pressed */ - const char *selected = event_info; - - if (selected) - printf("Selected file: %s\n", selected); -/* else test window deleted in tsuite_cleanup - evas_object_del(data); delete the test window */ -} - -static void -my_fileselector_selected(void *data __UNUSED__, - Evas_Object *obj, - void *event_info) -{ - /* event_info conatin the full path of the selected file */ - const char *selected = event_info; - printf("Selected file: %s\n", selected); - - /* or you can query the selection */ - printf("or: %s\n", elm_fileselector_selected_get(obj)); -} - -static void -_is_save_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - printf("Toggle Is save\n"); - if (elm_fileselector_is_save_get(fs)) - elm_fileselector_is_save_set(fs, EINA_FALSE); - else - elm_fileselector_is_save_set(fs, EINA_TRUE); -} - -static void -_folder_only_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - printf("Toggle Folder only\n"); - if (elm_fileselector_folder_only_get(fs)) - elm_fileselector_folder_only_set(fs, EINA_FALSE); - else - elm_fileselector_folder_only_set(fs, EINA_TRUE); -} - -static void -_expandable_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - printf("Toggle Expandable\n"); - if (elm_fileselector_expandable_get(fs)) - elm_fileselector_expandable_set(fs, EINA_FALSE); - else - elm_fileselector_expandable_set(fs, EINA_TRUE); -} - -static void -_sel_get_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - printf("Get Selected: %s\n", elm_fileselector_selected_get(fs)); -} - -static void -_path_get_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - printf("Get Path: %s\n", elm_fileselector_path_get(fs)); -} - -static void -_mode_cycle_clicked(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs = data; - Elm_Fileselector_Mode mode; - - mode = (elm_fileselector_mode_get(fs) + 1) % ELM_FILESELECTOR_LAST; - elm_fileselector_mode_set(fs, mode); - - printf("Setting mode to: %d\n", mode); -} - -enum _api_state -{ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - /* Get first item of list of vbox children - Evas_Object *fs_bt = eina_list_nth(items, 0); */ - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -static void -create_dir_struct(void) -{ - FILE *fp; - mkdir("/tmp/test_fs_bt", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/k_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/m_file.txt", "w"); - if (fp) fclose(fp); - - mkdir("/tmp/test_fs_bt/a_subdir", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_subdir/d_sub_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/a_subdir/j_sub_file.txt", "w"); - if (fp) fclose(fp); -} - -TEST_START(test_fileselector) -{ - Evas_Object *fs, *bg, *vbox, *hbox, *bxx, *bt, *sep; - - /* Set the locale according to the system pref. - * If you dont do so the file selector will order the files list in - * a case sensitive manner - */ - setlocale(LC_ALL, ""); - - elm_need_ethumb(); - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - vbox = elm_box_add(win); - api->data = vbox; -// elm_win_resize_object_add(win, vbox); - evas_object_size_hint_align_set(vbox, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(vbox); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, vbox); - - create_dir_struct(); /* Create a dir struct in /tmp */ - - fs = elm_fileselector_add(win); - /* enable the fs file name entry */ - elm_fileselector_is_save_set(fs, EINA_TRUE); - /* make the file list a tree with dir expandable in place */ - elm_fileselector_expandable_set(fs, EINA_FALSE); - /* start the fileselector in the test dir */ - elm_fileselector_path_set(fs, "/tmp/test_fs_bt"); - /* allow fs to expand in x & y */ - evas_object_size_hint_weight_set(fs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(fs, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(vbox, fs); - evas_object_show(fs); // TODO fix this is the widget - - /* the 'done' cb is called when the user press ok/cancel */ - evas_object_smart_callback_add(fs, "done", my_fileselector_done, win); - /* the 'selected' cb is called when the user click on a file/dir */ - evas_object_smart_callback_add(fs, "selected", my_fileselector_selected, - win); - - /* test buttons */ - 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); - - bt = elm_check_add(win); - elm_object_text_set(bt, "is save"); - elm_check_state_set(bt, elm_fileselector_is_save_get(fs)); - evas_object_smart_callback_add(bt, "changed", _is_save_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_check_add(win); - elm_object_text_set(bt, "folder only"); - elm_check_state_set(bt, elm_fileselector_folder_only_get(fs)); - evas_object_smart_callback_add(bt, "changed", _folder_only_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_check_add(win); - elm_object_text_set(bt, "expandable"); - elm_check_state_set(bt, elm_fileselector_expandable_get(fs)); - evas_object_smart_callback_add(bt, "changed", _expandable_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - hbox = elm_box_add(win); - elm_box_horizontal_set(hbox, EINA_TRUE); - elm_box_pack_end(vbox, hbox); - evas_object_show(hbox); - - bt = elm_button_add(win); - elm_object_text_set(bt, "selected get"); - evas_object_smart_callback_add(bt, "clicked", _sel_get_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "path get"); - evas_object_smart_callback_add(bt, "clicked", _path_get_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "mode cycle"); - evas_object_smart_callback_add(bt, "clicked", _mode_cycle_clicked, fs); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - evas_object_resize(win, 240, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_fileselector_button.c b/src/bin/test_fileselector_button.c deleted file mode 100644 index 94584ad..0000000 --- a/src/bin/test_fileselector_button.c +++ /dev/null @@ -1,227 +0,0 @@ -#include -#include "tsuite.h" - -static void -_file_chosen(void *data, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Evas_Object *entry = data; - const char *file = event_info; - if (file) - { - elm_entry_entry_set(entry, file); - printf("File chosen: %s\n", file); - } - else - printf("File selection canceled.\n"); -} - -static void -_inwin_mode_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_bt = data; - Eina_Bool value = elm_fileselector_button_inwin_mode_get(fs_bt); - elm_fileselector_button_inwin_mode_set(fs_bt, !value); - printf("Inwin mode set to: %s\n", value ? "false" : "true"); -} - -static void -_current_sel_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_bt = data; - Eina_Bool value = elm_fileselector_button_is_save_get(fs_bt); - elm_fileselector_button_is_save_set(fs_bt, !value); - printf("Current selection editable entry set to: %s\n", - value ? "false" : "true"); -} - -static void -_folder_only_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_bt = data; - Eina_Bool value = elm_fileselector_button_folder_only_get(fs_bt); - elm_fileselector_button_folder_only_set(fs_bt, !value); - printf("Folder only flag set to: %s\n", value ? "false" : "true"); -} - -static void -_expandable_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_bt = data; - Eina_Bool value = elm_fileselector_button_expandable_get(fs_bt); - elm_fileselector_button_expandable_set(fs_bt, !value); - printf("Expandable flag set to: %s\n", value ? "false" : "true"); -} - -enum _api_state -{ - ICON_UNSET, - WINDOW_TITLE_SET, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - /* Get first item of list of vbox children */ - Evas_Object *fs_bt = eina_list_nth(items, 0); - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case ICON_UNSET: - elm_fileselector_button_icon_unset(fs_bt); - break; - - case WINDOW_TITLE_SET: - elm_fileselector_button_window_title_set(fs_bt, "Custom title from API"); - break; - - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -static void -create_dir_struct(void) -{ - FILE *fp; - mkdir("/tmp/test_fs_bt", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/k_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/m_file.txt", "w"); - if (fp) fclose(fp); - - mkdir("/tmp/test_fs_bt/a_subdir", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_subdir/d_sub_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/a_subdir/j_sub_file.txt", "w"); - if (fp) fclose(fp); -} - -TEST_START(test_fileselector_button) -{ - Evas_Object *bg, *vbox, *hbox, *bxx, *ic, *bt, *fs_bt, *en, *lb; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - vbox = elm_box_add(win); - api->data = vbox; - evas_object_show(vbox); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, vbox); - - create_dir_struct(); /* Create a dir struct in /tmp */ - /* file selector button */ - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "file"); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - fs_bt = elm_fileselector_button_add(win); - elm_object_text_set(fs_bt, "Select a file"); - elm_fileselector_button_icon_set(fs_bt, ic); - elm_fileselector_button_path_set(fs_bt, "/tmp/test_fs_bt"); - - elm_box_pack_end(vbox, fs_bt); - evas_object_show(fs_bt); - evas_object_show(ic); - - /* attribute setting buttons */ - hbox = elm_box_add(win); - elm_box_horizontal_set(hbox, EINA_TRUE); - elm_box_pack_end(vbox, hbox); - evas_object_show(hbox); - - bt = elm_check_add(win); - elm_object_style_set(bt, "toggle"); - elm_object_text_set(bt, "current selection text entry"); - evas_object_smart_callback_add(bt, "changed", _current_sel_toggle, fs_bt); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_check_add(win); - elm_object_style_set(bt, "toggle"); - elm_object_text_set(bt, "Inwin mode"); - elm_check_state_set (bt, EINA_TRUE); - evas_object_smart_callback_add(bt, "changed", _inwin_mode_toggle, fs_bt); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_check_add(win); - elm_object_style_set(bt, "toggle"); - elm_object_text_set(bt, "Folder only mode"); - evas_object_smart_callback_add(bt, "changed", _folder_only_toggle, fs_bt); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_check_add(win); - elm_object_style_set(bt, "toggle"); - elm_object_text_set(bt, "Expandable mode"); - evas_object_smart_callback_add(bt, "changed", _expandable_toggle, fs_bt); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - 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, ELM_WRAP_NONE); - 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); -} -TEST_END diff --git a/src/bin/test_fileselector_entry.c b/src/bin/test_fileselector_entry.c deleted file mode 100644 index 535fa29..0000000 --- a/src/bin/test_fileselector_entry.c +++ /dev/null @@ -1,236 +0,0 @@ -#include -#include "tsuite.h" - -static void -_file_chosen(void *data, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Evas_Object *entry = data; - char *file = event_info; - elm_entry_entry_set(entry, file); - printf("File chosen: %s\n", file); -} - -static void -_inwin_mode_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_en = data; - Eina_Bool value = elm_fileselector_entry_inwin_mode_get(fs_en); - elm_fileselector_entry_inwin_mode_set(fs_en, !value); - printf("Inwin mode set to: %s\n", value ? "false" : "true"); -} - -static void -_folder_only_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_en = data; - Evas_Object *ic = elm_fileselector_entry_button_icon_get(fs_en); - Eina_Bool value = elm_fileselector_entry_folder_only_get(fs_en); - elm_fileselector_entry_folder_only_set(fs_en, !value); - printf("Folder only flag set to: %s\n", value ? "false" : "true"); - if (!value) - { - elm_icon_standard_set(ic, "folder"); - elm_object_text_set(fs_en, "Select a folder"); - } - else - { - elm_icon_standard_set(ic, "file"); - elm_object_text_set(fs_en, "Select a file"); - } -} - -static void -_expandable_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_en = data; - Eina_Bool value = elm_fileselector_entry_expandable_get(fs_en); - elm_fileselector_entry_expandable_set(fs_en, !value); - printf("Expandable flag set to: %s\n", value ? "false" : "true"); -} - -static void -_disabled_toggle(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - Evas_Object *fs_en = data; - Eina_Bool value = elm_object_disabled_get(fs_en); - elm_object_disabled_set(fs_en, !value); - printf("Disabled flag set to: %s\n", value ? "false" : "true"); -} - -enum _api_state -{ - ICON_UNSET, - WINDOW_TITLE_SET, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - /* Get first item of list of vbox children */ - Evas_Object *fs_bt = eina_list_nth(items, 0); - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case ICON_UNSET: - elm_fileselector_entry_button_icon_unset(fs_bt); - break; - - case WINDOW_TITLE_SET: - elm_fileselector_entry_window_title_set(fs_bt, "Custom title from API"); - break; - - case API_STATE_LAST: - - break; - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -static void -create_dir_struct(void) -{ - FILE *fp; - mkdir("/tmp/test_fs_bt", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/k_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/m_file.txt", "w"); - if (fp) fclose(fp); - - mkdir("/tmp/test_fs_bt/a_subdir", S_IRWXU); - fp = fopen("/tmp/test_fs_bt/a_subdir/d_sub_file.txt", "w"); - if (fp) fclose(fp); - fp = fopen("/tmp/test_fs_bt/a_subdir/j_sub_file.txt", "w"); - if (fp) fclose(fp); -} - -TEST_START(test_fileselector_entry) -{ - Evas_Object *bg, *vbox, *hbox, *bxx, *ic, *bt, *fs_en, *en, *lb; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - vbox = elm_box_add(win); - evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - api->data = vbox; - evas_object_show(vbox); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, vbox); - - create_dir_struct(); /* Create a dir struct in /tmp */ - - /* file selector entry */ - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "file"); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - fs_en = elm_fileselector_entry_add(win); - elm_fileselector_entry_path_set(fs_en, "/tmp/test_fs_bt"); - elm_object_text_set(fs_en, "Select a file"); - elm_fileselector_entry_button_icon_set(fs_en, ic); - evas_object_size_hint_weight_set(fs_en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(fs_en, EVAS_HINT_FILL, EVAS_HINT_FILL); - - elm_box_pack_end(vbox, fs_en); - evas_object_show(fs_en); - evas_object_show(ic); - - /* attribute setting buttons */ - hbox = elm_box_add(win); - elm_box_horizontal_set(hbox, EINA_TRUE); - elm_box_pack_end(vbox, hbox); - evas_object_show(hbox); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Toggle inwin mode"); - evas_object_smart_callback_add(bt, "clicked", _inwin_mode_toggle, fs_en); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Toggle folder only mode"); - evas_object_smart_callback_add(bt, "clicked", _folder_only_toggle, fs_en); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Toggle expandable mode"); - evas_object_smart_callback_add(bt, "clicked", _expandable_toggle, fs_en); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Last selection:"); - elm_box_pack_end(vbox, lb); - evas_object_show(lb); - - hbox = elm_box_add(win); - elm_box_horizontal_set(hbox, EINA_TRUE); - elm_box_pack_end(vbox, hbox); - evas_object_show(hbox); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Toggle disabled"); - evas_object_smart_callback_add(bt, "clicked", _disabled_toggle, fs_en); - elm_box_pack_end(hbox, bt); - evas_object_show(bt); - - en = elm_entry_add(win); - elm_entry_line_wrap_set(en, ELM_WRAP_NONE); - elm_entry_editable_set(en, EINA_FALSE); - evas_object_smart_callback_add(fs_en, "file,chosen", _file_chosen, en); - elm_box_pack_end(vbox, en); - evas_object_show(en); - - evas_object_resize(win, 400, 500); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_flip.c b/src/bin/test_flip.c deleted file mode 100644 index b449618..0000000 --- a/src/bin/test_flip.c +++ /dev/null @@ -1,611 +0,0 @@ -#include -#include "tsuite.h" - -void -my_fl_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_ROTATE_Y_CENTER_AXIS); -} - -void -my_fl_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_ROTATE_X_CENTER_AXIS); -} - -void -my_fl_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_ROTATE_XZ_CENTER_AXIS); -} - -void -my_fl_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_ROTATE_YZ_CENTER_AXIS); -} - -void -my_fl_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_CUBE_LEFT); -} - -void -my_fl_6(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_CUBE_RIGHT); -} - -void -my_fl_7(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_CUBE_UP); -} - -void -my_fl_8(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *fl = data; - elm_flip_go(fl, ELM_FLIP_CUBE_DOWN); -} - -TEST_START(test_flip) -{ - Evas_Object *bg, *bx, *bx2, *fl, *o, *bt, *ly; - char buf[PATH_MAX]; - - elm_win_focus_highlight_enabled_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); - - 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); - - fl = elm_flip_add(win); - evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, fl); - - o = elm_bg_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg"); - elm_bg_file_set(o, buf, NULL); - elm_flip_content_front_set(fl, o); - evas_object_show(o); - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "layout"); - evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_flip_content_back_set(fl, ly); - evas_object_show(ly); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - elm_object_part_content_set(ly, "element1", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - elm_object_part_content_set(ly, "element2", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - elm_object_part_content_set(ly, "element3", bt); - evas_object_show(bt); - - evas_object_show(fl); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - - bt = elm_button_add(win); - elm_object_text_set(bt, "1"); - evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "2"); - evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "3"); - evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "4"); - evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - - bt = elm_button_add(win); - elm_object_text_set(bt, "5"); - evas_object_smart_callback_add(bt, "clicked", my_fl_5, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "6"); - evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "7"); - evas_object_smart_callback_add(bt, "clicked", my_fl_7, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "8"); - evas_object_smart_callback_add(bt, "clicked", my_fl_8, fl); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END - -TEST_START(test_flip2) -{ - Evas_Object *bg, *bx, *bx2, *fl, *o, *bt, *tb, *li, *en; - char buf[PATH_MAX]; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg"); - elm_bg_file_set(bg, buf, NULL); - 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); - - fl = elm_flip_add(win); - evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, fl); - - o = elm_box_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - - elm_toolbar_item_append(tb, "arrow_left", "Hello", NULL, NULL); - elm_toolbar_item_append(tb, "arrow_right", "Out", NULL, NULL); - elm_toolbar_item_append(tb, "home", "There", NULL, NULL); - elm_toolbar_item_append(tb, "refresh", "World", NULL, NULL); - - elm_box_pack_end(o, tb); - evas_object_show(tb); - - li = elm_list_add(win); - evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_list_item_append(li, "This is a list", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Second item", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "3rd", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Fourth", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Number five is alive!", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "The quick brown fox jumps over the lazy dog", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Booyah", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "And another item", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "More of them", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Get with it", NULL, NULL, NULL, NULL); - - elm_list_go(li); - - elm_box_pack_end(o, li); - evas_object_show(li); - - elm_flip_content_front_set(fl, o); - evas_object_show(o); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_line_wrap_set(en, ELM_WRAP_NONE); - snprintf(buf, sizeof(buf), - "This is an entry widget in this window that
" - "uses markup like this for styling and
" - "formatting like this, as well as
" - "links in the text, so enter text
" - "in here to edit it. By the way, links are
" - "called Anchors so you will need
" - "to refer to them this way.
" - "
" - - "Also you can stick in items with (relsize + ascent): " - "" - " (full) " - "" - " (to the left)
" - - "Also (size + ascent): " - "" - " (full) " - "" - " (before this)
" - - "And as well (absize + ascent): " - "" - " (full) " - "" - " or even paths to image files on disk too like: " - "" - " ... end." - , elm_app_data_dir_get() - ); - elm_entry_entry_set(en, buf); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_flip_content_back_set(fl, en); - evas_object_show(en); - - evas_object_show(fl); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - - bt = elm_button_add(win); - elm_object_text_set(bt, "1"); - evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "2"); - evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "3"); - evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "4"); - evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "5"); - evas_object_smart_callback_add(bt, "clicked", my_fl_5, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "6"); - evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END - -TEST_START(test_flip3) -{ - Evas_Object *bg, *bx, *bx2, *fl, *fl_f, *fl_b, *o, *bt, *fr; - char buf[PATH_MAX]; - - 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); - - fl = elm_flip_add(win); - evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, fl); - evas_object_show(fl); - - fr = elm_frame_add(win); - elm_object_text_set(fr, "Front"); - evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_flip_content_front_set(fl, fr); - evas_object_show(fr); - - fl_f = elm_flip_add(win); - evas_object_size_hint_align_set(fl_f, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl_f, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(fr, fl_f); - evas_object_show(fl_f); - - o = elm_bg_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg"); - elm_bg_file_set(o, buf, NULL); - elm_flip_content_front_set(fl_f, o); - evas_object_show(o); - - o = elm_bg_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_02.jpg"); - elm_bg_file_set(o, buf, NULL); - elm_flip_content_back_set(fl_f, o); - evas_object_show(o); - - fr = elm_frame_add(win); - elm_object_text_set(fr, "Back"); - evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_flip_content_back_set(fl, fr); - evas_object_show(fr); - - fl_b = elm_flip_add(win); - evas_object_size_hint_align_set(fl_b, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl_b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(fr, fl_b); - evas_object_show(fl_b); - - o = elm_bg_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_03.jpg"); - elm_bg_file_set(o, buf, NULL); - elm_flip_content_front_set(fl_b, o); - evas_object_show(o); - - o = elm_bg_add(win); - evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_04.jpg"); - elm_bg_file_set(o, buf, NULL); - elm_flip_content_back_set(fl_b, o); - evas_object_show(o); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Main Flip"); - evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Front Flip"); - evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl_f); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Back Flip"); - evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl_b); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END - -static void -my_fl_go(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *fl = evas_object_data_get(win, "fl"); - elm_flip_go(fl, ELM_FLIP_PAGE_LEFT); -} - -static void -my_fl_ch(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *fl = evas_object_data_get(win, "fl"); - Evas_Object *rdg = evas_object_data_get(win, "rdg"); - elm_flip_interaction_set(fl, elm_radio_value_get(rdg)); -} - -TEST_START(test_flip4) -{ - Evas_Object *bg, *bx, *fl, *im, *li, *bt, *rd, *rdg; - char buf[PATH_MAX]; - - 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); - - fl = elm_flip_add(win); - evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, fl); - evas_object_data_set(win, "fl", fl); - - elm_flip_interaction_set(fl, ELM_FLIP_INTERACTION_NONE); - elm_flip_interacton_direction_enabled_set(fl, ELM_FLIP_DIRECTION_UP, EINA_TRUE); - elm_flip_interacton_direction_enabled_set(fl, ELM_FLIP_DIRECTION_DOWN, EINA_TRUE); - elm_flip_interacton_direction_enabled_set(fl, ELM_FLIP_DIRECTION_LEFT, EINA_TRUE); - elm_flip_interacton_direction_enabled_set(fl, ELM_FLIP_DIRECTION_RIGHT, EINA_TRUE); - elm_flip_interacton_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_UP, 0.25); - elm_flip_interacton_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_DOWN, 0.25); - elm_flip_interacton_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_LEFT, 0.25); - elm_flip_interacton_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_RIGHT, 0.25); - evas_object_show(fl); - - im = evas_object_image_filled_add(evas_object_evas_get(win)); - evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), "twofish.jpg"); - evas_object_image_file_set(im, buf, NULL); - elm_flip_content_front_set(fl, im); - evas_object_show(im); - -#if 0 - im = evas_object_image_filled_add(evas_object_evas_get(win)); - evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), "sky_04.jpg"); - evas_object_image_file_set(im, buf, NULL); - elm_flip_content_back_set(fl, im); - evas_object_show(im); -#else - li = elm_list_add(win); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - 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); - elm_list_item_append(li, "Item 3 (Which is very long just for testing purposes)", NULL, NULL, NULL, NULL); - elm_list_go(li); - elm_flip_content_back_set(fl, li); - evas_object_show(li); -#endif - - rd = elm_radio_add(win); - evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0); - elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_NONE); - elm_object_text_set(rd, "None"); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_smart_callback_add(rd, "changed", my_fl_ch, win); - rdg = rd; - evas_object_data_set(win, "rdg", rdg); - - rd = elm_radio_add(win); - evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0); - elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_ROTATE); - elm_object_text_set(rd, "Rotate"); - elm_radio_group_add(rd, rdg); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_smart_callback_add(rd, "changed", my_fl_ch, win); - - rd = elm_radio_add(win); - evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0); - elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_CUBE); - elm_object_text_set(rd, "Cube"); - elm_radio_group_add(rd, rdg); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_smart_callback_add(rd, "changed", my_fl_ch, win); - - rd = elm_radio_add(win); - evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0); - elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_PAGE); - elm_object_text_set(rd, "Page"); - elm_radio_group_add(rd, rdg); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_smart_callback_add(rd, "changed", my_fl_ch, win); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Go"); - evas_object_smart_callback_add(bt, "clicked", my_fl_go, win); - 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_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_flip_page.c b/src/bin/test_flip_page.c deleted file mode 100644 index 60034bf..0000000 --- a/src/bin/test_flip_page.c +++ /dev/null @@ -1,914 +0,0 @@ -#include -#include "tsuite.h" - -typedef struct _State State; -typedef struct _Slice Slice; - -typedef struct _Vertex2 Vertex2; -typedef struct _Vertex3 Vertex3; - -struct _State -{ - Evas_Object *front, *back; - Evas_Coord down_x, down_y, x, y; - Eina_Bool down : 1; - Eina_Bool backflip : 1; - - Ecore_Animator *anim; - Ecore_Job *job; - Evas_Coord ox, oy, w, h; - int slices_w, slices_h; - Slice **slices, **slices2; - int dir; // 0 == left, 1 == right, 2 == up, 3 == down - int finish; -}; - -struct _Slice -{ - Evas_Object *obj; - // (0)---(1) - // | | - // | | - // (3)---(2) - double u[4], v[4], x[4], y[4], z[4]; -}; - -struct _Vertex2 -{ - double x, y; -}; - -struct _Vertex3 -{ - double x, y, z; -}; - -static State state = -{ - NULL, NULL, - 0, 0, 0, 0, - 0, - 0, - - NULL, - NULL, - 0, 0, 0, 0, - 0, 0, - NULL, NULL, - -1, - 0 -}; - -static Slice * -_slice_new(State *st __UNUSED__, Evas_Object *obj) -{ - Slice *sl; - - sl = calloc(1, sizeof(Slice)); - if (!sl) return NULL; - sl->obj = evas_object_image_add(evas_object_evas_get(obj)); - evas_object_image_smooth_scale_set(sl->obj, 0); - evas_object_pass_events_set(sl->obj, 1); - evas_object_image_source_set(sl->obj, obj); - return sl; -} - -static void -_slice_free(Slice *sl) -{ - evas_object_del(sl->obj); - free(sl); -} - -static void -_slice_apply(State *st, Slice *sl, - Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__, Evas_Coord w, Evas_Coord h __UNUSED__, - Evas_Coord ox, Evas_Coord oy, Evas_Coord ow, Evas_Coord oh) -{ - Evas_Map *m; - int i; - - m = evas_map_new(4); - if (!m) return; - evas_map_smooth_set(m, 0); - for (i = 0; i < 4; i++) - { - evas_map_point_color_set(m, i, 255, 255, 255, 255); - if (st->dir == 0) - { - int p[4] = { 0, 1, 2, 3 }; - evas_map_point_coord_set(m, i, ox + sl->x[p[i]], oy + sl->y[p[i]], sl->z[p[i]]); - evas_map_point_image_uv_set(m, i, sl->u[p[i]] , sl->v[p[i]]); - } - else if (st->dir == 1) - { - int p[4] = { 1, 0, 3, 2 }; - evas_map_point_coord_set(m, i, ox + (w - sl->x[p[i]]), oy + sl->y[p[i]], sl->z[p[i]]); - evas_map_point_image_uv_set(m, i, ow - sl->u[p[i]] , sl->v[p[i]]); - } - else if (st->dir == 2) - { - int p[4] = { 1, 0, 3, 2 }; - evas_map_point_coord_set(m, i, ox + sl->y[p[i]], oy + sl->x[p[i]], sl->z[p[i]]); - evas_map_point_image_uv_set(m, i, sl->v[p[i]] , sl->u[p[i]]); - } - else if (st->dir == 3) - { - int p[4] = { 0, 1, 2, 3 }; - evas_map_point_coord_set(m, i, ox + sl->y[p[i]], oy + (w - sl->x[p[i]]), sl->z[p[i]]); - evas_map_point_image_uv_set(m, i, sl->v[p[i]] , oh - sl->u[p[i]]); - } - } - evas_object_map_enable_set(sl->obj, EINA_TRUE); - evas_object_image_fill_set(sl->obj, 0, 0, ow, oh); - evas_object_map_set(sl->obj, m); - evas_map_free(m); -} - -static void -_slice_3d(State *st __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) -{ - Evas_Map *m = (Evas_Map *)evas_object_map_get(sl->obj); - int i; - - if (!m) return; - // vanishing point is center of page, and focal dist is 1024 - evas_map_util_3d_perspective(m, x + (w / 2), y + (h / 2), 0, 1024); - for (i = 0; i < 4; i++) - { - Evas_Coord x, y, z; - evas_map_point_coord_get(m, i, &x, &y, &z); - evas_map_point_coord_set(m, i, x, y, 0); - } - if (evas_map_util_clockwise_get(m)) evas_object_show(sl->obj); - else evas_object_hide(sl->obj); - evas_object_map_set(sl->obj, m); -} - -static void -_slice_light(State *st __UNUSED__, Slice *sl, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) -{ - Evas_Map *m = (Evas_Map *)evas_object_map_get(sl->obj); - int i; - - if (!m) return; - evas_map_util_3d_lighting(m, - // light position - // (centered over page 10 * h toward camera) - x + (w / 2) , y + (h / 2) , -10000, - 255, 255, 255, // light color - 0 , 0 , 0); // ambient minimum - // multiply brightness by 1.2 to make lightish bits all white so we dont - // add shading where we could otherwise be pure white - for (i = 0; i < 4; i++) - { - int r, g, b, a; - - evas_map_point_color_get(m, i, &r, &g, &b, &a); - r = (double)r * 1.2; if (r > 255) r = 255; - g = (double)g * 1.2; if (g > 255) g = 255; - b = (double)b * 1.2; if (b > 255) b = 255; - evas_map_point_color_set(m, i, r, g, b, a); - } - evas_object_map_set(sl->obj, m); -} - -static void -_slice_xyz(State *st __UNUSED__, Slice *sl, - double x1, double y1, double z1, - double x2, double y2, double z2, - double x3, double y3, double z3, - double x4, double y4, double z4) -{ - sl->x[0] = x1; sl->y[0] = y1; sl->z[0] = z1; - sl->x[1] = x2; sl->y[1] = y2; sl->z[1] = z2; - sl->x[2] = x3; sl->y[2] = y3; sl->z[2] = z3; - sl->x[3] = x4; sl->y[3] = y4; sl->z[3] = z4; -} - -static void -_slice_uv(State *st __UNUSED__, Slice *sl, - double u1, double v1, - double u2, double v2, - double u3, double v3, - double u4, double v4) -{ - sl->u[0] = u1; sl->v[0] = v1; - sl->u[1] = u2; sl->v[1] = v2; - sl->u[2] = u3; sl->v[2] = v3; - sl->u[3] = u4; sl->v[3] = v4; -} - -static void -_deform_point(Vertex2 *vi, Vertex3 *vo, double rho, double theta, double A) -{ - // ^Y - // | - // | X - // +----> - // theta == cone angle (0 -> PI/2) - // A == distance of cone apex from origin - // rho == angle of cone from vertical axis (...-PI/2 to PI/2...) - Vertex3 v1; - double d, r, b; - - d = sqrt((vi->x * vi->x) + pow(vi->y - A, 2)); - r = d * sin(theta); - b = asin(vi->x / d) / sin(theta); - - v1.x = r * sin(b); - v1.y = d + A - (r * (1 - cos(b)) * sin(theta)); - v1.z = r * (1 - cos(b)) * cos(theta); - - vo->x = (v1.x * cos(rho)) - (v1.z * sin(rho)); - vo->y = v1.y; - vo->z = (v1.x * sin(rho)) + (v1.z * cos(rho)); -} - -static void -_interp_point(Vertex3 *vi1, Vertex3 *vi2, Vertex3 *vo, double v) -{ - vo->x = (v * vi2->x) + ((1.0 - v) * vi1->x); - vo->y = (v * vi2->y) + ((1.0 - v) * vi1->y); - vo->z = (v * vi2->z) + ((1.0 - v) * vi1->z); -} - -static void -_state_slices_clear(State *st) -{ - int i, j, num; - - if (st->slices) - { - num = 0; - for (j = 0; j < st->slices_h; j++) - { - for (i = 0; i < st->slices_w; i++) - { - if (st->slices[num]) _slice_free(st->slices[num]); - if (st->slices2[num]) _slice_free(st->slices2[num]); - num++; - } - } - free(st->slices); - free(st->slices2); - st->slices = NULL; - st->slices2 = NULL; - } - st->slices_w = 0; - st->slices_h = 0; -} - -static int -_slice_obj_color_sum(Slice *s, int p, int *r, int *g, int *b, int *a) -{ - Evas_Map *m; - int rr = 0, gg = 0, bb = 0, aa = 0; - - if (!s) return 0; - m = (Evas_Map *)evas_object_map_get(s->obj); - if (!m) return 0; - evas_map_point_color_get(m, p, &rr, &gg, &bb, &aa); - *r += rr; *g += gg; *b += bb; *a += aa; - return 1; -} - -static void -_slice_obj_color_set(Slice *s, int p, int r, int g, int b, int a) -{ - Evas_Map *m; - - if (!s) return; - m = (Evas_Map *)evas_object_map_get(s->obj); - if (!m) return; - evas_map_point_color_set(m, p, r, g, b, a); - evas_object_map_set(s->obj, m); -} - -static void -_slice_obj_vert_color_merge(Slice *s1, int p1, Slice *s2, int p2, - Slice *s3, int p3, Slice *s4, int p4) -{ - int r = 0, g = 0, b = 0, a = 0, n = 0; - - n += _slice_obj_color_sum(s1, p1, &r, &g, &b, &a); - n += _slice_obj_color_sum(s2, p2, &r, &g, &b, &a); - n += _slice_obj_color_sum(s3, p3, &r, &g, &b, &a); - n += _slice_obj_color_sum(s4, p4, &r, &g, &b, &a); - - if (n < 1) return; - r /= n; g /= n; b /= n; a /= n; - - _slice_obj_color_set(s1, p1, r, g, b, a); - _slice_obj_color_set(s2, p2, r, g, b, a); - _slice_obj_color_set(s3, p3, r, g, b, a); - _slice_obj_color_set(s4, p4, r, g, b, a); -} - -static int -_state_update(State *st) -{ - Evas_Coord x1, y1, x2, y2, mx, my, dst, dx, dy; - Evas_Coord x, y, w, h, ox, oy, ow, oh; - int i, j, num, nn, jump, num2; - Slice *sl; - double b, minv = 0.0, minva, mgrad; - int gx, gy, gszw, gszh, gw, gh, col, row, nw, nh; - double rho, A, theta, perc, percm, n, rhol, Al, thetal; - Vertex3 *tvo, *tvol; - - st->backflip = 0; - - evas_object_geometry_get(st->front, &x, &y, &w, &h); - ox = x; oy = y; ow = w; oh = h; - x1 = st->down_x; - y1 = st->down_y; - x2 = st->x; - y2 = st->y; - - dx = x2 - x1; - dy = y2 - y1; - dst = sqrt((dx * dx) + (dy * dy)); - if (st->dir == -1) - { - if (dst < 20) // MAGIC: 20 == drag hysterisis - return 0; - } - if (st->dir == -1) - { - if ((x1 > (w / 2)) && (dx < 0) && (abs(dx) > abs(dy))) st->dir = 0; // left - else if ((x1 < (w / 2)) && (dx >= 0) && (abs(dx) > abs(dy))) st->dir = 1; // right - else if ((y1 > (h / 2)) && (dy < 0) && (abs(dy) >= abs(dx))) st->dir = 2; // up - else if ((y1 < (h / 2)) && (dy >= 0) && (abs(dy) >= abs(dx))) st->dir = 3; // down - if (st->dir == -1) return 0; - } - if (st->dir == 0) - { - // no nothing. left drag is standard - } - else if (st->dir == 1) - { - x1 = (w - 1) - x1; - x2 = (w - 1) - x2; - } - else if (st->dir == 2) - { - Evas_Coord tmp; - - tmp = x1; x1 = y1; y1 = tmp; - tmp = x2; x2 = y2; y2 = tmp; - tmp = w; w = h; h = tmp; - } - else if (st->dir == 3) - { - Evas_Coord tmp; - - tmp = x1; x1 = y1; y1 = tmp; - tmp = x2; x2 = y2; y2 = tmp; - tmp = w; w = h; h = tmp; - x1 = (w - 1) - x1; - x2 = (w - 1) - x2; - } - - if (x2 >= x1) x2 = x1 - 1; - mx = (x1 + x2) / 2; - my = (y1 + y2) / 2; - - if (mx < 0) mx = 0; - else if (mx >= w) mx = w - 1; - if (my < 0) my = 0; - else if (my >= h) my = h - 1; - - mgrad = (double)(y1 - y2) / (double)(x1 - x2); - - if (mx < 1) mx = 1; // quick hack to keep curl line visible - - if (mgrad == 0.0) // special horizontal case - mgrad = 0.001; // quick dirty hack for now - // else - { - minv = 1.0 / mgrad; - // y = (m * x) + b - b = my + (minv * mx); - } - if ((b >= -5) && (b <= (h + 5))) - { - if (minv > 0.0) // clamp to h - { - minv = (double)(h + 5 - my) / (double)(mx); - b = my + (minv * mx); - } - else // clamp to 0 - { - minv = (double)(-5 - my) / (double)(mx); - b = my + (minv * mx); - } - } - - perc = (double)x2 / (double)x1; - percm = (double)mx / (double)x1; - if (perc < 0.0) perc = 0.0; - else if (perc > 1.0) perc = 1.0; - if (percm < 0.0) percm = 0.0; - else if (percm > 1.0) percm = 1.0; - - minva = atan(minv) / (M_PI / 2); - if (minva < 0.0) minva = -minva; - - // A = apex of cone - if (b <= 0) A = b; - else A = h - b; - if (A < -(h * 20)) A = -h * 20; - //--// - Al = -5; - - // rho = is how much the page is turned - n = 1.0 - perc; - n = 1.0 - cos(n * M_PI / 2.0); - n = n * n; - rho = -(n * M_PI); - //--// - rhol = -(n * M_PI); - - // theta == curliness (how much page culrs in on itself - n = sin((1.0 - perc) * M_PI); - n = n * 1.2; - theta = 7.86 + n; - //--// - n = sin((1.0 - perc) * M_PI); - n = 1.0 - n; - n = n * n; - n = 1.0 - n; - thetal = 7.86 + n; - - nw = 16; - nh = 16; - if (nw < 1) nw = 1; - if (nh < 1) nh = 1; - gszw = w / nw; - gszh = h / nh; - if (gszw < 4) gszw = 4; - if (gszh < 4) gszh = 4; - - nw = (w + gszw - 1) / gszw; - nh = (h + gszh - 1) / gszh; - if ((st->slices_w != nw) || (st->slices_h != nh)) _state_slices_clear(st); - st->slices_w = nw; - st->slices_h = nh; - if (!st->slices) - { - st->slices = calloc(st->slices_w * st->slices_h, sizeof(Slice *)); - if (!st->slices) return 0; - st->slices2 = calloc(st->slices_w * st->slices_h, sizeof(Slice *)); - if (!st->slices2) - { - free(st->slices); - st->slices = NULL; - return 0; - } - } - - num = (st->slices_w + 1) * (st->slices_h + 1); - - tvo = alloca(sizeof(Vertex3) * num); - tvol = alloca(sizeof(Vertex3) * (st->slices_w + 1)); - - for (col = 0, gx = 0; gx <= (w + gszw - 1); gx += gszw, col++) - { - Vertex2 vil; - - vil.x = gx; - vil.y = h - gx; - _deform_point(&vil, &(tvol[col]), rhol, thetal, Al); - } - - n = minva * sin(perc * M_PI); - n = n * n; - - num = 0; - for (col = 0, gx = 0; gx <= (w + gszw - 1); gx += gszw, col++) - { - for (gy = 0; gy <= (h + gszh - 1); gy += gszh) - { - Vertex2 vi; - Vertex3 vo, tvo1; - - if (gx > w) vi.x = w; - else vi.x = gx; - if (gy > h) vi.y = h; - else vi.y = gy; - _deform_point(&vi, &vo, rho, theta, A); - tvo1 = tvol[col]; - if (gy > h) tvo1.y = h; - else tvo1.y = gy; - _interp_point(&vo, &tvo1, &(tvo[num]), n); - num++; - } - } - - jump = st->slices_h + 1; - for (col = 0, gx = 0; gx < w; gx += gszw, col++) - { - num = st->slices_h * col; - num2 = jump * col; - - gw = gszw; - if ((gx + gw) > w) gw = w - gx; - - for (row = 0, gy = 0; gy < h; gy += gszh, row++) - { - Vertex3 vo[4]; - - if (b > 0) nn = num + st->slices_h - row - 1; - else nn = num + row; - - gh = gszh; - if ((gy + gh) > h) gh = h - gy; - - vo[0] = tvo[num2 + row]; - vo[1] = tvo[num2 + row + jump]; - vo[2] = tvo[num2 + row + jump + 1]; - vo[3] = tvo[num2 + row + 1]; -#define SWP(a, b) do {typeof(a) vt; vt = (a); (a) = (b); (b) = vt;} while (0) - if (b > 0) - { - SWP(vo[0], vo[3]); - SWP(vo[1], vo[2]); - vo[0].y = h - vo[0].y; - vo[1].y = h - vo[1].y; - vo[2].y = h - vo[2].y; - vo[3].y = h - vo[3].y; - } - - // FRONT - sl = st->slices[nn]; - if (!sl) - { - sl = _slice_new(st, st->front); - st->slices[nn] = sl; - } - _slice_xyz(st, sl, - vo[0].x, vo[0].y, vo[0].z, - vo[1].x, vo[1].y, vo[1].z, - vo[2].x, vo[2].y, vo[2].z, - vo[3].x, vo[3].y, vo[3].z); - if (b <= 0) - _slice_uv(st, sl, - gx, gy, gx + gw, gy, - gx + gw, gy + gh, gx, gy + gh); - else - _slice_uv(st, sl, - gx, h - (gy + gh), gx + gw, h - (gy + gh), - gx + gw, h - gy, gx, h - gy); - - // BACK - sl = st->slices2[nn]; - if (!sl) - { - sl = _slice_new(st, st->back); - st->slices2[nn] = sl; - } - - _slice_xyz(st, sl, - vo[1].x, vo[1].y, vo[1].z, - vo[0].x, vo[0].y, vo[0].z, - vo[3].x, vo[3].y, vo[3].z, - vo[2].x, vo[2].y, vo[2].z); - if (st->backflip) - { - if (b <= 0) - _slice_uv(st, sl, - gx + gw, gy, gx, gy, - gx, gy + gh, gx + gw, gy + gh); - else - _slice_uv(st, sl, - gx + gw, h - (gy + gh), gx, h - (gy + gh), - gx, h - gy, gx + gw, h - gy); - } - else - { - if (b <= 0) - _slice_uv(st, sl, - w - (gx + gw), gy, w - (gx), gy, - w - (gx), gy + gh, w - (gx + gw), gy + gh); - else - _slice_uv(st, sl, - w - (gx + gw), h - (gy + gh), w - (gx), h - (gy + gh), - w - (gx), h - gy, w - (gx + gw), h - gy); - } - } - } - - num = 0; - for (j = 0; j < st->slices_h; j++) - { - for (i = 0; i < st->slices_w; i++) - { - _slice_apply(st, st->slices[num], x, y, w, h, ox, oy, ow, oh); - _slice_apply(st, st->slices2[num], x, y, w, h, ox, oy, ow, oh); - _slice_light(st, st->slices[num], ox, oy, ow, oh); - _slice_light(st, st->slices2[num], ox, oy, ow, oh); - num++; - } - } - - for (i = 0; i <= st->slices_w; i++) - { - num = i * st->slices_h; - for (j = 0; j <= st->slices_h; j++) - { - Slice *s[4]; - - s[0] = s[1] = s[2] = s[3] = NULL; - if ((i > 0) && (j > 0)) - s[0] = st->slices[num - 1 - st->slices_h]; - if ((i < st->slices_w) && (j > 0)) - s[1] = st->slices[num - 1]; - if ((i > 0) && (j < st->slices_h)) - s[2] = st->slices[num - st->slices_h]; - if ((i < st->slices_w) && (j < st->slices_h)) - s[3] = st->slices[num]; - if (st->dir == 0) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, - s[2], 1, s[3], 0); - else if (st->dir == 1) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, - s[2], 0, s[3], 1); - else if (st->dir == 2) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, - s[2], 0, s[3], 1); - else if (st->dir == 3) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, - s[2], 1, s[3], 0); - s[0] = s[1] = s[2] = s[3] = NULL; - if ((i > 0) && (j > 0)) - s[0] = st->slices2[num - 1 - st->slices_h]; - if ((i < st->slices_w) && (j > 0)) - s[1] = st->slices2[num - 1]; - if ((i > 0) && (j < st->slices_h)) - s[2] = st->slices2[num - st->slices_h]; - if ((i < st->slices_w) && (j < st->slices_h)) - s[3] = st->slices2[num]; - if (st->dir == 0) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, - s[2], 0, s[3], 1); - else if (st->dir == 1) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, - s[2], 1, s[3], 0); - else if (st->dir == 2) - _slice_obj_vert_color_merge(s[0], 2, s[1], 3, - s[2], 1, s[3], 0); - else if (st->dir == 3) - _slice_obj_vert_color_merge(s[0], 3, s[1], 2, - s[2], 0, s[3], 1); - num++; - } - } - - num = 0; - for (i = 0; i < st->slices_w; i++) - { - for (j = 0; j < st->slices_h; j++) - { - _slice_3d(st, st->slices[num], ox, oy, ow, oh); - _slice_3d(st, st->slices2[num], ox, oy, ow, oh); - num++; - } - } - - return 1; -} - -static void -_state_end(State *st) -{ - _state_slices_clear(st); -} - -static Eina_Bool -_state_anim(void *data, double pos) -{ - State *st = data; - double p; - - p = ecore_animator_pos_map(pos, ECORE_POS_MAP_ACCELERATE, 0.0, 0.0); - if (st->finish) - { - if (st->dir == 0) - st->x = st->ox * (1.0 - p); - else if (st->dir == 1) - st->x = st->ox + ((st->w - st->ox) * p); - else if (st->dir == 2) - st->y = st->oy * (1.0 - p); - else if (st->dir == 3) - st->y = st->oy + ((st->h - st->oy) * p); - } - else - { - if (st->dir == 0) - st->x = st->ox + ((st->w - st->ox) * p); - else if (st->dir == 1) - st->x = st->ox * (1.0 - p); - else if (st->dir == 2) - st->y = st->oy + ((st->h - st->oy) * p); - else if (st->dir == 3) - st->y = st->oy * (1.0 - p); - } - _state_update(st); - if (pos < 1.0) return EINA_TRUE; - evas_object_show(st->front); - evas_object_show(st->back); - _state_end(st); - st->anim = NULL; - return EINA_FALSE; -} - -static void -_update_curl_job(void *data) -{ - State *st = data; - st->job = NULL; - if (_state_update(st)) - { - evas_object_hide(st->front); - evas_object_hide(st->back); - } -} - -static void -im_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - State *st = &state; - Evas_Event_Mouse_Down *ev = event_info; - Evas_Coord x, y, w, h; - - if (ev->button != 1) return; - st->front = data; - st->back = evas_object_data_get(data, "im2"); - st->backflip = 1; - st->down = 1; - evas_object_geometry_get(st->front, &x, &y, &w, &h); - st->x = ev->canvas.x - x; - st->y = ev->canvas.y - y; - st->w = w; - st->h = h; - st->down_x = st->x; - st->down_y = st->y; - st->dir = -1; - if (_state_update(st)) - { - evas_object_hide(st->front); - evas_object_hide(st->back); - } -} - -static void -im_up_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - State *st = &state; - Evas_Event_Mouse_Up *ev = event_info; - Evas_Coord x, y, w, h; - double tm = 0.5; - - if (ev->button != 1) return; - st->down = 0; - evas_object_geometry_get(st->front, &x, &y, &w, &h); - st->x = ev->canvas.x - x; - st->y = ev->canvas.y - y; - st->w = w; - st->h = h; - st->ox = st->x; - st->oy = st->y; - if (st->job) - { - ecore_job_del(st->job); - st->job = NULL; - } - if (st->anim) ecore_animator_del(st->anim); - st->finish = 0; - if (st->dir == 0) - { - tm = (double)st->x / (double)st->w; - if (st->x < (st->w / 2)) st->finish = 1; - } - else if (st->dir == 1) - { - if (st->x > (st->w / 2)) st->finish = 1; - tm = 1.0 - ((double)st->x / (double)st->w); - } - else if (st->dir == 2) - { - if (st->y < (st->h / 2)) st->finish = 1; - tm = (double)st->y / (double)st->h; - } - else if (st->dir == 3) - { - if (st->y > (st->h / 2)) st->finish = 1; - tm = 1.0 - ((double)st->y / (double)st->h); - } - if (tm < 0.01) tm = 0.01; - else if (tm > 0.99) tm = 0.99; - if (!st->finish) tm = 1.0 - tm; - tm *= 0.5; - st->anim = ecore_animator_timeline_add(tm, _state_anim, st); - _state_anim(st, 0.0); -} - -static void -im_move_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - State *st = &state; - Evas_Event_Mouse_Move *ev = event_info; - Evas_Coord x, y, w, h; - - if (!st->down) return; - evas_object_geometry_get(st->front, &x, &y, &w, &h); - st->x = ev->cur.canvas.x - x; - st->y = ev->cur.canvas.y - y; - st->w = w; - st->h = h; - if (st->job) ecore_job_del(st->job); - st->job = ecore_job_add(_update_curl_job, st); -} - -TEST_START(test_flip_page) -{ - Evas_Object *bg, *im, *im2, *rc; - char buf[PATH_MAX]; - - elm_win_focus_highlight_enabled_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); - - im2 = evas_object_image_filled_add(evas_object_evas_get(win)); - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), "sky_04.jpg"); - evas_object_image_file_set(im2, buf, NULL); - evas_object_move(im2, 40, 40); - evas_object_resize(im2, 400, 400); - evas_object_show(im2); - -#if 0 - im = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(im, buf, "layout"); -#else - im = evas_object_image_filled_add(evas_object_evas_get(win)); - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), "twofish.jpg"); - evas_object_image_file_set(im, buf, NULL); -#endif - evas_object_move(im, 40, 40); - evas_object_resize(im, 400, 400); - evas_object_show(im); - - evas_object_data_set(im, "im2", im2); - - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 0, 0, 0); - evas_object_move(rc, 40, 340); - evas_object_resize(rc, 400, 100); - evas_object_show(rc); - - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_DOWN, im_down_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_UP, im_up_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_MOVE, im_move_cb, im); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 0, 0, 0); - evas_object_move(rc, 40, 40); - evas_object_resize(rc, 400, 100); - evas_object_show(rc); - - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_DOWN, im_down_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_UP, im_up_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_MOVE, im_move_cb, im); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 0, 0, 0); - evas_object_move(rc, 340, 40); - evas_object_resize(rc, 100, 400); - evas_object_show(rc); - - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_DOWN, im_down_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_UP, im_up_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_MOVE, im_move_cb, im); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 0, 0, 0); - evas_object_move(rc, 40, 40); - evas_object_resize(rc, 100, 400); - evas_object_show(rc); - - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_DOWN, im_down_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_UP, im_up_cb, im); - evas_object_event_callback_add(rc, EVAS_CALLBACK_MOUSE_MOVE, im_move_cb, im); - - evas_object_resize(win, 480, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_flipselector.c b/src/bin/test_flipselector.c deleted file mode 100644 index bf97ec1..0000000 --- a/src/bin/test_flipselector.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -#include "tsuite.h" - -void -_sel_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Flipselector_Item *it; - - it = event_info; - printf("label of selected item is: %s\n", elm_flipselector_item_label_get(it)); -} - -void -_unsel_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Elm_Flipselector_Item *it; - Evas_Object *fp = data; - it = elm_flipselector_selected_item_get(fp); - elm_flipselector_item_selected_set(it, EINA_FALSE); -} - -void -_third_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Elm_Flipselector_Item *it; - Evas_Object *fp = data; - it = elm_flipselector_first_item_get(fp); - it = elm_flipselector_item_next_get(it); - it = elm_flipselector_item_next_get(it); - elm_flipselector_item_selected_set(it, EINA_TRUE); -} - -void -_underflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("underflow!\n"); -} - -void -_overflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("overflow!\n"); -} - -TEST_START(test_flipselector) -{ - char buf[8]; - unsigned int i; - Evas_Object *bg, *bx, *fp, *bt; - static const char *lbl[] = { - "Elementary", - "Evas", - "Eina", - "Edje", - "Eet", - "Ecore", - "Efreet", - "Edbus" - }; - - 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); - - fp = elm_flipselector_add(win); - evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_smart_callback_add(fp, "selected", _sel_cb, NULL); - evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL); - evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL); - for (i = 0; i < sizeof(lbl)/sizeof(char *); i++) - elm_flipselector_item_append(fp, lbl[i], NULL, NULL); - elm_box_pack_end(bx, fp); - evas_object_show(fp); - - fp = elm_flipselector_add(win); - evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL); - evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL); - evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - for (i = 2099; i >= 1990; i--) - { - snprintf(buf, 8, "%d", i); - elm_flipselector_item_append(fp, buf, _sel_cb, NULL); - } - elm_box_pack_end(bx, fp); - evas_object_show(fp); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Select 2097"); - evas_object_smart_callback_add(bt, "clicked", _third_cb, fp); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Unselect year"); - evas_object_smart_callback_add(bt, "clicked", _unsel_cb, fp); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_focus.c b/src/bin/test_focus.c deleted file mode 100644 index 0633d6b..0000000 --- a/src/bin/test_focus.c +++ /dev/null @@ -1,371 +0,0 @@ -#include -#include "tsuite.h" - -static Eina_Bool -_event(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Object *src __UNUSED__, Evas_Callback_Type type, void *event_info) -{ - if (type == EVAS_CALLBACK_KEY_DOWN) - printf ("Key Down:"); - else if (type == EVAS_CALLBACK_KEY_UP) - printf ("Key Up:"); - else - return EINA_FALSE; - Evas_Event_Key_Down *ev = event_info; - printf("%s\n", ev->key); - - ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; - return EINA_TRUE; -} - -static void -_on_key_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *einfo __UNUSED__) -{ - //Evas_Event_Key_Down *event = einfo; - //printf("%s %p Key %s Parent %p\n", evas_object_type_get(obj), - // obj, event->keyname, evas_object_smart_parent_get(obj)); -} - -static void -_disable(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt = data; - elm_object_disabled_set(bt, EINA_TRUE); -} - -static void -_enable(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt = data; - elm_object_disabled_set(bt, EINA_FALSE); -} - -static inline void -my_show(Evas_Object *obj) -{ - evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, - _on_key_down, NULL); - evas_object_show(obj); -} - -TEST_START(test_focus) -{ - unsigned int i, j; - - elm_win_focus_highlight_enabled_set(win, EINA_TRUE); - evas_object_resize(win, 800, 600); - elm_object_event_callback_add(win, _event, NULL); - my_show(win); - - { - Evas_Object *bg; - 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); - my_show(bg); - } - - Evas_Object *mainbx = elm_box_add(win); - elm_box_horizontal_set(mainbx, EINA_TRUE); - elm_win_resize_object_add(win, mainbx); - evas_object_size_hint_weight_set(mainbx, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - my_show(mainbx); - - { //First Col - Evas_Object *bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - elm_box_pack_end(mainbx, bx); - my_show(bx); - - { - Evas_Object *lb = elm_label_add(win); - elm_object_text_set(lb, - "Use Tab, Shift+Tab, and
" - "Arrow Keys
" - ); - evas_object_size_hint_weight_set(lb, 0.0, 0.0); - evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, - EVAS_HINT_FILL); - elm_box_pack_end(bx, lb); - my_show(lb); - } - - { - Evas_Object *tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_part_text_set(tg, "on", "Yes"); - elm_object_part_text_set(tg, "off", "No"); - elm_box_pack_end(bx, tg); - my_show(tg); - } - - { - Evas_Object *en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5); - elm_entry_entry_set(en, "This is a single line"); - elm_entry_single_line_set(en, 1); - elm_box_pack_end(bx, en); - my_show(en); - } - - { - Evas_Object *bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, 0.0, 0.0); - elm_box_pack_end(bx, bx2); - - for (i = 2; i; i--) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Box"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - if (i%2) - elm_object_disabled_set(bt, EINA_TRUE); - elm_box_pack_end(bx2, bt); - my_show(bt); - } - - { - Evas_Object *sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, - EVAS_HINT_FILL); - elm_scroller_bounce_set(sc, 1, 1); - elm_scroller_content_min_limit(sc, 1, 1); - elm_box_pack_end(bx2, sc); - my_show(sc); - - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Scroller"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_object_event_callback_add(bt, _event, NULL); - elm_object_content_set(sc, bt); - my_show(bt); - elm_object_event_callback_del(bt, _event, NULL); - } - } - - my_show(bx2); - } - - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Box"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_box_pack_end(bx, bt); - my_show(bt); - } - - { - Evas_Object *bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, 0.0, 0.0); - elm_box_pack_end(bx, bx2); - my_show(bx2); - - for (i = 2; i; i--) - { - Evas_Object *bx3 = elm_box_add(win); - evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx3, 0.0, 0.0); - elm_box_pack_end(bx2, bx3); - my_show(bx3); - - for (j = 3; j; j--) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Box"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_box_pack_end(bx3, bt); - my_show(bt); - } - } - - { - Evas_Object *sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, - EVAS_HINT_FILL); - elm_scroller_bounce_set(sc, 0, 1); - elm_scroller_content_min_limit(sc, 1, 0); - elm_box_pack_end(bx2, sc); - my_show(sc); - - Evas_Object *bx3 = elm_box_add(win); - evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx3, 0.0, 0.0); - elm_object_content_set(sc, bx3); - my_show(bx3); - - for (i = 5; i; i--) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "BX Scroller"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_box_pack_end(bx3, bt); - my_show(bt); - } - } - } - } - - {//Second Col - char buf[PATH_MAX]; - Evas_Object *ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "twolines"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - elm_box_pack_end(mainbx, ly); - my_show(ly); - - { - Evas_Object *bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, 0.0, 0.0); - elm_object_part_content_set(ly, "element1", bx2); - my_show(bx2); - - for (i = 3; i; i--) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Layout"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_box_pack_end(bx2, bt); - my_show(bt); - elm_object_focus_custom_chain_prepend(bx2, bt, NULL); - } - } - - { - Evas_Object *bx2 = elm_box_add(win); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bx2, 0.0, 0.0); - elm_object_part_content_set(ly, "element2", bx2); - my_show(bx2); - - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Disable"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - elm_box_pack_end(bx2, bt); - evas_object_smart_callback_add(bt, "clicked", _disable, bt); - my_show(bt); - elm_object_focus_custom_chain_prepend(bx2, bt, NULL); - - Evas_Object *bt2; - bt2 = elm_button_add(win); - elm_object_text_set(bt2, "Enable"); - evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt2, 0.0, 0.0); - elm_box_pack_end(bx2, bt2); - evas_object_smart_callback_add(bt2, "clicked", _enable, bt); - my_show(bt2); - elm_object_focus_custom_chain_append(bx2, bt2, NULL); - } - - } - } - - {//Third Col - Evas_Object *bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - elm_box_pack_end(mainbx, bx); - my_show(bx); - - { - Evas_Object *fr = elm_frame_add(win); - elm_object_text_set(fr, "Frame"); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - { - Evas_Object *tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(fr, tb); - my_show(tb); - for (j = 0; j < 1; j++) - for (i = 0; i < 2; i++) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Table"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_table_pack(tb, bt, i, j, 1, 1); - my_show(bt); - } - } - } - - { - Evas_Object *fr = elm_bubble_add(win); - elm_object_text_set(fr, "Bubble"); - evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, - EVAS_HINT_FILL); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - { - Evas_Object *tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_content_set(fr, tb); - my_show(tb); - for (j = 0; j < 2; j++) - for (i = 0; i < 1; i++) - { - Evas_Object *bt; - bt = elm_button_add(win); - elm_object_text_set(bt, "Table"); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, - EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_table_pack(tb, bt, i, j, 1, 1); - my_show(bt); - } - } - } - } -} -TEST_END diff --git a/src/bin/test_gengrid.c b/src/bin/test_gengrid.c deleted file mode 100644 index 38f2155..0000000 --- a/src/bin/test_gengrid.c +++ /dev/null @@ -1,472 +0,0 @@ -#include -#include "tsuite.h" - -typedef struct _Testitem -{ - Elm_Gengrid_Item *item; - const char *path; - int mode; - int onoff; -} Testitem; - -static const char *img[9] = -{ - "panel_01.jpg", - "plant_01.jpg", - "rock_01.jpg", - "rock_02.jpg", - "sky_01.jpg", - "sky_02.jpg", - "sky_03.jpg", - "sky_04.jpg", - "wood_01.jpg", -}; - -static Elm_Gengrid_Item_Class gic; -static int photo_idx = 0; -static void -_horizontal_grid(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *grid = data; - elm_gengrid_horizontal_set(grid, elm_check_state_get(obj)); -} - -static void -grid_drag_up(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Drag up: %p\n", event_info); -} - -static void -grid_drag_right(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Drag right: %p\n", event_info); -} - -static void -grid_drag_down(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Drag down: %p\n", event_info); -} - -static void -grid_drag_left(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Drag left: %p\n", event_info); -} - -static void -grid_drag_stop(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Drag stop: %p\n", event_info); -} - -static void -grid_selected(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Selected: %p\n", event_info); -} - -static void -grid_double_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("Double clicked: %p\n", event_info); -} - -static void -grid_longpress(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("longpress %p\n", event_info); -} - -static void -grid_moved(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("moved %p\n", event_info); -} - -static void -grid_item_check_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Testitem *ti = data; - ti->onoff = elm_check_state_get(obj); - printf("item %p onoff = %i\n", ti, ti->onoff); -} - -char * -grid_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - const Testitem *ti = data; - char buf[256]; - snprintf(buf, sizeof(buf), "Photo %s", ti->path); - return strdup(buf); -} - -Evas_Object * -grid_content_get(void *data, Evas_Object *obj, const char *part) -{ - const Testitem *ti = data; - if (!strcmp(part, "elm.swallow.icon")) - { - - Evas_Object *icon = elm_bg_add(obj); - elm_bg_file_set(icon, ti->path, NULL); - evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - evas_object_show(icon); - return icon; - } - else if (!strcmp(part, "elm.swallow.end")) - { - Evas_Object *ck; - ck = elm_check_add(obj); - evas_object_propagate_events_set(ck, 0); - elm_check_state_set(ck, ti->onoff); - evas_object_smart_callback_add(ck, "changed", grid_item_check_changed, data); - evas_object_show(ck); - return ck; - } - return NULL; -} - -Eina_Bool -grid_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} - -void -grid_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -static void -grid_sel(void *data, Evas_Object *obj, void *event_info) -{ - printf("sel item data [%p] on grid obj [%p], pointer [%p]\n", data, obj, event_info); -} - -enum _api_state -{ - GRID_ALIGN_SET, - GRID_BRING_IN, - GRID_NO_SELECT_MODE, - GRID_NO_BOUNCE, - GRID_PAGE_RELATIVE, - GRID_PAGE_SIZE, - GRID_TOOLTIP_SET_TEXT, - GRID_TOOLTIP_UNSET, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - Evas_Object *grid = api->data; - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case GRID_ALIGN_SET: /* 0 */ - elm_gengrid_align_set(grid, 0.2, 0.8); - break; - - case GRID_BRING_IN: /* 1 */ - elm_gengrid_item_bring_in(elm_gengrid_first_item_get(grid)); - break; - - case GRID_NO_SELECT_MODE: /* 2 */ - elm_gengrid_no_select_mode_set(grid, EINA_TRUE); - break; - - case GRID_NO_BOUNCE: /* 3 */ - elm_gengrid_bounce_set(grid, EINA_TRUE, EINA_FALSE); - break; - - case GRID_PAGE_RELATIVE: /* 4 */ - elm_gengrid_bounce_set(grid, EINA_TRUE, EINA_TRUE); - elm_gengrid_page_relative_set(grid, 0.5, 0.5); - break; - - case GRID_PAGE_SIZE: /* 5 */ - elm_gengrid_page_size_set(grid, 50, 25); - break; - - case GRID_TOOLTIP_SET_TEXT: /* 6 */ - { - Elm_Gengrid_Item *item = elm_gengrid_first_item_get(grid); - elm_gengrid_item_tooltip_text_set(item, "This is the first item"); - } - break; - - case GRID_TOOLTIP_UNSET: /* 7 */ - { - Elm_Gengrid_Item *item = elm_gengrid_first_item_get(grid); - elm_gengrid_item_tooltip_unset(item); - } - break; - - case API_STATE_LAST: - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_gengrid) -{ - Evas_Object *bg, *bxx, *grid; - static Testitem ti[144]; - int i, n; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - grid = elm_gengrid_add(win); - elm_gengrid_item_size_set(grid, 150, 150); - elm_gengrid_horizontal_set(grid, EINA_FALSE); - elm_gengrid_multi_select_set(grid, EINA_TRUE); - elm_gengrid_reorder_mode_set(grid, EINA_TRUE); - evas_object_smart_callback_add(grid, "selected", grid_selected, NULL); - evas_object_smart_callback_add(grid, "clicked,double", grid_double_clicked, NULL); - evas_object_smart_callback_add(grid, "longpressed", grid_longpress, NULL); - evas_object_smart_callback_add(grid, "moved", grid_moved, NULL); - evas_object_smart_callback_add(grid, "drag,start,up", grid_drag_up, NULL); - evas_object_smart_callback_add(grid, "drag,start,right", grid_drag_right, NULL); - evas_object_smart_callback_add(grid, "drag,start,down", grid_drag_down, NULL); - evas_object_smart_callback_add(grid, "drag,start,left", grid_drag_left, NULL); - evas_object_smart_callback_add(grid, "drag,stop", grid_drag_stop, NULL); - 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); - - api->data = grid; - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, grid); - - gic.item_style = "default"; - gic.func.text_get = grid_text_get; - gic.func.content_get = grid_content_get; - gic.func.state_get = grid_state_get; - gic.func.del = grid_del; - - n = 0; - for (i = 0; i < 12 * 12; i++) - { - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), img[n]); - n = (n + 1) % 9; - ti[i].mode = i; - ti[i].path = eina_stringshare_add(buf); - ti[i].item = elm_gengrid_item_append(grid, &gic, &(ti[i]), grid_sel, NULL); - if (!(i % 5)) - elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE); - } - - evas_object_show(grid); - - evas_object_resize(win, 600, 600); - evas_object_show(win); -} -TEST_END - -static void -_before_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *ti; - Evas_Object *grid = data; - Elm_Gengrid_Item *sel; - char buf[PATH_MAX]; - - sel = elm_gengrid_selected_item_get(grid); - if (!sel) - return; - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), img[(photo_idx++) % 9]); - ti = malloc(sizeof(*ti)); - ti->mode = 0; - ti->path = eina_stringshare_add(buf); - ti->item = elm_gengrid_item_insert_before(grid, &gic, ti, sel, grid_sel, - NULL); -} - -static void -_after_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *ti; - Evas_Object *grid = data; - Elm_Gengrid_Item *sel; - char buf[PATH_MAX]; - - sel = elm_gengrid_selected_item_get(grid); - if (!sel) - return; - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), img[(photo_idx++) % 9]); - ti = malloc(sizeof(*ti)); - ti->mode = 0; - ti->path = eina_stringshare_add(buf); - ti->item = elm_gengrid_item_insert_after(grid, &gic, ti, sel, grid_sel, - NULL); -} - -static void -_delete_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *grid = data; - Eina_List *l, *l2, *l3; - Elm_Gengrid_Item *it; - - l = (Eina_List*)elm_gengrid_selected_items_get(grid); - if (!l) return; - EINA_LIST_FOREACH_SAFE(l, l2, l3, it) - elm_gengrid_item_del(it); -} - -static void -_prepend_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *ti; - Evas_Object *grid = data; - char buf[PATH_MAX]; - - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), img[(photo_idx++) % 9]); - ti = malloc(sizeof(*ti)); - ti->mode = 0; - ti->path = eina_stringshare_add(buf); - ti->item = elm_gengrid_item_prepend(grid, &gic, ti, grid_sel, NULL); -} - -static void -_append_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *ti; - Evas_Object *grid = data; - char buf[PATH_MAX]; - - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), img[(photo_idx++) % 9]); - ti = malloc(sizeof(*ti)); - ti->mode = 0; - ti->path = eina_stringshare_add(buf); - ti->item = elm_gengrid_item_append(grid, &gic, ti, grid_sel, NULL); -} - -static void -_size_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *grid = data; - int size = elm_spinner_value_get(obj); - elm_gengrid_item_size_set(grid, size, size); -} - -TEST_START(test_gengrid2) -{ - Evas_Object *bg, *grid, *bx, *hbx, *bt, *ck; - - 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); - - 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); - elm_gengrid_horizontal_set(grid, EINA_FALSE); - elm_gengrid_multi_select_set(grid, EINA_FALSE); - evas_object_smart_callback_add(grid, "selected", grid_selected, NULL); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_min_set(grid, 600, 500); - elm_box_pack_end(bx, grid); - evas_object_show(grid); - - hbx = elm_box_add(win); - evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(hbx, EINA_TRUE); - elm_box_pack_end(bx, hbx); - evas_object_show(hbx); - - 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, 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, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Insert before"); - evas_object_smart_callback_add(bt, "clicked", _before_bt_clicked, grid); - elm_box_pack_end(hbx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Insert after"); - evas_object_smart_callback_add(bt, "clicked", _after_bt_clicked, grid); - elm_box_pack_end(hbx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Delete"); - evas_object_smart_callback_add(bt, "clicked", _delete_bt_clicked, grid); - elm_box_pack_end(hbx, bt); - evas_object_show(bt); - - bt = elm_spinner_add(win); - elm_spinner_min_max_set(bt, 10, 1024); - elm_spinner_value_set(bt, 150); - elm_spinner_label_format_set(bt, "Item size: %.0f"); - evas_object_smart_callback_add(bt, "changed", _size_changed, grid); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(hbx, 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, ck); - evas_object_show(ck); - - gic.item_style = "default"; - gic.func.text_get = grid_text_get; - gic.func.content_get = grid_content_get; - gic.func.state_get = grid_state_get; - gic.func.del = grid_del; - - evas_object_resize(win, 600, 600); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_genlist.c b/src/bin/test_genlist.c deleted file mode 100644 index 0044375..0000000 --- a/src/bin/test_genlist.c +++ /dev/null @@ -1,2003 +0,0 @@ -#include -#include -#include "tsuite.h" - -/* Hint: - * In this example some calls to elm_genlist_item_append() are used which give the - * value of an int as 'item data' and 'func data' after casting into (void*). For - * sure this works only on architectures where sizeof(int)==sizeof(void*). - * For real world usage you should hold a data structure or value in your - * application and then give only a pointer to this data as data pointer. - */ - -typedef struct _Testitem -{ - Elm_Object_Item *item; - int mode; - int onoff; -} Testitem; - - -static Elm_Genlist_Item_Class itc1; -char *gl_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - char buf[256]; - snprintf(buf, sizeof(buf), "Item # %i", (int)(long)data); - return strdup(buf); -} - -Evas_Object *gl_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part) -{ - char buf[PATH_MAX]; - Evas_Object *ic = elm_icon_add(obj); - if (!strcmp(part, "elm.swallow.end")) - snprintf(buf, sizeof(buf), "%s/images/bubble.png", elm_app_data_dir_get()); - else - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - return ic; -} -Eina_Bool gl_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} -void gl_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -static void -gl_sel(void *data, Evas_Object *obj, void *event_info) -{ - printf("sel item data [%p] on genlist obj [%p], item pointer [%p]\n", data, obj, event_info); -} - -static void -_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Evas_Object *gl = data; - Evas_Event_Mouse_Move *ev = event_info; - int where = 0; - Elm_Object_Item *gli; - gli = elm_genlist_at_xy_item_get(gl, ev->cur.canvas.x, ev->cur.canvas.y, &where); - if (gli) - printf("over %p, where %i\n", elm_genlist_item_data_get(gli), where); - else - printf("over none, where %i\n", where); -} - -static void -_bt50_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_item_bring_in(data); -} - -static void -_bt1500_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_item_middle_bring_in(data); -} - -static void -_gl_selected(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("selected: %p\n", event_info); -} - -static void -_gl_double_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("double clicked: %p\n", event_info); -} - -static void -_gl_longpress(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - printf("longpress %p\n", event_info); -} - -enum _api_state -{ - HORIZONTAL_SET, - NO_SELECT_MODE_SET, - COMPRESS_MODE_SET, - BOUNCE_SET, - HOMOGENEOUS_SET, - SCROLLER_POLICY_SET, - TOOLTIP_TEXT_SET, - ITEM_CURSOR_SET, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - Evas_Object *gl = eina_list_nth(items, 0); /* Genlist is the first item */ - /* use elm_box_children_get() to get list of children */ - switch(api->state) - {/* Put all api-changes under switch */ - case HORIZONTAL_SET: /* 0 */ - elm_genlist_horizontal_set(gl, ELM_LIST_LIMIT); - break; - - case NO_SELECT_MODE_SET: /* 1 */ - elm_genlist_no_select_mode_set(gl, EINA_TRUE); - elm_genlist_horizontal_set(gl, ELM_LIST_SCROLL); /* Back to default */ - break; - - case COMPRESS_MODE_SET: /* 2 */ - elm_genlist_no_select_mode_set(gl, EINA_FALSE); /* Back to default */ - elm_genlist_compress_mode_set(gl, EINA_TRUE); - break; - - case BOUNCE_SET: /* 3 */ - elm_genlist_bounce_set(gl, EINA_FALSE, EINA_FALSE); - break; - - case HOMOGENEOUS_SET: /* 4 */ - elm_genlist_bounce_set(gl, EINA_TRUE, EINA_TRUE); /* Back to default */ - elm_genlist_homogeneous_set(gl, EINA_TRUE); - break; - - case SCROLLER_POLICY_SET: /* 5 */ - elm_genlist_homogeneous_set(gl, EINA_FALSE); /* Back to default */ - elm_genlist_scroller_policy_set(gl, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); - break; - - case TOOLTIP_TEXT_SET: /* 6 */ - { - elm_genlist_item_tooltip_text_set(elm_genlist_first_item_get(gl), "Tooltip text from API"); - elm_genlist_item_bring_in(elm_genlist_first_item_get(gl)); - } - break; - - case ITEM_CURSOR_SET: /* 7 */ - elm_genlist_item_cursor_set(elm_genlist_first_item_get(gl), ELM_CURSOR_HAND2); - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_genlist) -{ - Evas_Object *bg, *gl, *bt_50, *bt_1500, *bx, *bxx; - Evas_Object *over; - Elm_Object_Item *gli; - int i; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - 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); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - gl = elm_genlist_add(win); - evas_object_smart_callback_add(gl, "selected", _gl_selected, NULL); - evas_object_smart_callback_add(gl, "clicked,double", _gl_double_clicked, NULL); - evas_object_smart_callback_add(gl, "longpressed", _gl_longpress, NULL); - // FIXME: This causes genlist to resize the horiz axis very slowly :( - // Reenable this and resize the window horizontally, then try to resize it back - //elm_genlist_horizontal_mode_set(gl, ELM_LIST_LIMIT); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - over = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(over, 0, 0, 0, 0); - evas_object_event_callback_add(over, EVAS_CALLBACK_MOUSE_MOVE, _move, gl); - evas_object_repeat_events_set(over, 1); - evas_object_show(over); - evas_object_size_hint_weight_set(over, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, over); - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - bt_50 = elm_button_add(win); - elm_object_text_set(bt_50, "Go to 50"); - evas_object_show(bt_50); - elm_box_pack_end(bx, bt_50); - - bt_1500 = elm_button_add(win); - elm_object_text_set(bt_1500, "Go to 1500"); - evas_object_show(bt_1500); - elm_box_pack_end(bx, bt_1500); - - for (i = 0; i < 2000; i++) - { - gli = elm_genlist_item_append(gl, &itc1, - (void *)(long)i/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - if (i == 50) - evas_object_smart_callback_add(bt_50, "clicked", _bt50_cb, gli); - else if (i == 1500) - evas_object_smart_callback_add(bt_1500, "clicked", _bt1500_cb, gli); - } - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END - -/*************/ - -static void -my_gl_clear(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - elm_genlist_clear(gl); -} - -static void -my_gl_add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - static int i = 0; - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - elm_genlist_item_append(gl, &itc1, - (void *)(long)i/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - i++; -} - -static void -my_gl_insert_before(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - static int i = 0; - Elm_Object_Item *gli_selected; - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - gli_selected = elm_genlist_selected_item_get(gl); - if(!gli_selected) - { - printf("no item selected\n"); - return ; - } - - elm_genlist_item_insert_before(gl, &itc1, - (void *)(long)i/* item data */, - NULL/* parent */, - gli_selected /* item before */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - i++; -} - -static void -my_gl_insert_after(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - static int i = 0; - Elm_Object_Item *gli_selected; - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - gli_selected = elm_genlist_selected_item_get(gl); - if(!gli_selected) - { - printf("no item selected\n"); - return ; - } - - elm_genlist_item_insert_after(gl, &itc1, - (void *)(long)i/* item data */, - NULL/* parent */, - gli_selected /* item after */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - i++; -} - -static void -my_gl_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - Elm_Object_Item *gli = elm_genlist_selected_item_get(gl); - if (!gli) - { - printf("no item selected\n"); - return; - } - elm_genlist_item_del(gli); -} - -static void -my_gl_disable(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - Elm_Object_Item *gli = elm_genlist_selected_item_get(gl); - if (!gli) - { - printf("no item selected\n"); - return; - } - elm_genlist_item_disabled_set(gli, 1); - elm_genlist_item_selected_set(gli, 0); - elm_genlist_item_update(gli); -} - -static void -my_gl_update_all(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - int i = 0; - Elm_Object_Item *it = elm_genlist_first_item_get(gl); - while (it) - { - elm_genlist_item_update(it); - printf("%i\n", i); - i++; - it = elm_genlist_item_next_get(it); - } -} - -static void -my_gl_first(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - Elm_Object_Item *gli = elm_genlist_first_item_get(gl); - if (!gli) return; - elm_genlist_item_show(gli); - elm_genlist_item_selected_set(gli, 1); -} - -static void -my_gl_last(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *gl = data; - Elm_Object_Item *gli = elm_genlist_last_item_get(gl); - if (!gli) return; - elm_genlist_item_show(gli); - elm_genlist_item_selected_set(gli, 1); -} - -static Eina_Bool -my_gl_flush_delay(void *data __UNUSED__) -{ - elm_all_flush(); - return ECORE_CALLBACK_CANCEL; -} - -static void -my_gl_flush(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - ecore_timer_add(1.2, my_gl_flush_delay, NULL); -} - -TEST_START(test_genlist2) -{ - Evas_Object *bg, *gl, *bx, *bx2, *bx3, *bt; - Elm_Object_Item *gli[10]; - char buf[PATH_MAX]; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - 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); - - gl = elm_genlist_add(win); - 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); - evas_object_show(gl); - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - gli[0] = elm_genlist_item_append(gl, &itc1, - (void *)1001/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - (void *)1001/* func data */); - gli[1] = elm_genlist_item_append(gl, &itc1, - (void *)1002/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - (void *)1002/* func data */); - gli[2] = elm_genlist_item_append(gl, &itc1, - (void *)1003/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - (void *)1003/* func data */); - gli[3] = elm_genlist_item_prepend(gl, &itc1, - (void *)1004/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - (void *)1004/* func data */); - gli[4] = elm_genlist_item_prepend(gl, &itc1, - (void *)1005/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - (void *)1005/* func data */); - gli[5] = elm_genlist_item_insert_before(gl, &itc1, - (void *)1006/* item data */, NULL/* parent */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, (void *)1006/* func data */); - gli[6] = elm_genlist_item_insert_after(gl, &itc1, - (void *)1007/* item data */, NULL/* parent */, gli[2]/* rel */, ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, (void *)1007/* func data */); - - elm_box_pack_end(bx, gl); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "/\\"); - evas_object_smart_callback_add(bt, "clicked", my_gl_first, gl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "\\/"); - evas_object_smart_callback_add(bt, "clicked", my_gl_last, gl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "#"); - evas_object_smart_callback_add(bt, "clicked", my_gl_disable, gl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "U"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update_all, gl); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "X"); - evas_object_smart_callback_add(bt, "clicked", my_gl_clear, gl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "+"); - evas_object_smart_callback_add(bt, "clicked", my_gl_add, gl); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "-"); - evas_object_smart_callback_add(bt, "clicked", my_gl_del, gl); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx3 = elm_box_add(win); - elm_box_horizontal_set(bx3, EINA_TRUE); - elm_box_homogeneous_set(bx3, EINA_TRUE); - evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "+ before"); - evas_object_smart_callback_add(bt, "clicked", my_gl_insert_before, gl); - 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(bx3, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "+ after"); - evas_object_smart_callback_add(bt, "clicked", my_gl_insert_after, gl); - 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(bx3, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Flush"); - evas_object_smart_callback_add(bt, "clicked", my_gl_flush, gl); - 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(bx3, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx3); - evas_object_show(bx3); - - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -/*************/ - -static Elm_Genlist_Item_Class itc2; -char *gl2_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - const Testitem *tit = data; - char buf[256]; - snprintf(buf, sizeof(buf), "Item mode %i", tit->mode); - return strdup(buf); -} -Evas_Object *gl2_content_get(void *data, Evas_Object *obj, const char *part) -{ - const Testitem *tit = data; - char buf[PATH_MAX]; - Evas_Object *ic = elm_icon_add(obj); - if (!strcmp(part, "elm.swallow.icon")) - { - if (!(tit->mode & 0x3)) - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 1) - snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 2) - snprintf(buf, sizeof(buf), "%s/images/panel_01.jpg", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 3) - snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - } - else if (!strcmp(part, "elm.swallow.end")) - { - if (!(tit->mode & 0x3)) - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 1) - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 2) - snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", elm_app_data_dir_get()); - else if ((tit->mode & 0x3) == 3) - snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - } - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - return ic; -} -Eina_Bool gl2_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} -void gl2_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -static void -my_gl_update(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *tit = data; - tit->mode++; - elm_genlist_item_update(tit->item); -} - -static void -my_gl_labels_update(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *tit = data; - tit->mode++; - elm_genlist_item_fields_update(tit->item, "*", ELM_GENLIST_ITEM_FIELD_LABEL); -} - -static void -my_gl_contents_update(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Testitem *tit = data; - tit->mode++; - elm_genlist_item_fields_update(tit->item, "*", ELM_GENLIST_ITEM_FIELD_CONTENT); -} - -TEST_START(test_genlist3) -{ - Evas_Object *bg, *gl, *bx, *bx2, *bt; - static Testitem tit[3]; - - 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); - - gl = elm_genlist_add(win); - 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); - evas_object_show(gl); - - itc2.item_style = "default"; - itc2.func.text_get = gl2_text_get; - itc2.func.content_get = gl2_content_get; - itc2.func.state_get = gl2_state_get; - itc2.func.del = gl2_del; - - tit[0].mode = 0; - tit[0].item = elm_genlist_item_append(gl, &itc2, - &(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[1].mode = 1; - tit[1].item = elm_genlist_item_append(gl, &itc2, - &(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[2].mode = 2; - tit[2].item = elm_genlist_item_append(gl, &itc2, - &(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - - elm_box_pack_end(bx, gl); - evas_object_show(bx); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[1]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "labels"); - evas_object_smart_callback_add(bt, "clicked", my_gl_labels_update, &(tit[1])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "contents"); - evas_object_smart_callback_add(bt, "clicked", my_gl_contents_update, &(tit[2])); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -/*************/ - -static void -my_gl_item_check_changed(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Testitem *tit = data; - tit->onoff = elm_check_state_get(obj); - printf("item %p onoff = %i\n", tit, tit->onoff); -} - -static Elm_Genlist_Item_Class itc3; -char *gl3_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - const Testitem *tit = data; - char buf[256]; - snprintf(buf, sizeof(buf), "Item mode %i", tit->mode); - return strdup(buf); -} -Evas_Object *gl3_content_get(void *data, Evas_Object *obj, const char *part) -{ - const Testitem *tit = data; - if (!strcmp(part, "elm.swallow.icon")) - { - Evas_Object *lb; - - lb = elm_label_add(obj); - elm_label_line_wrap_set(lb, ELM_WRAP_CHAR); - elm_label_wrap_width_set(lb, 201); - elm_object_text_set(lb, "ashj ascjscjh n asjkl hcjlh ls hzshnn zjh sh zxjcjsnd h dfw sdv edev efe fwefvv vsd cvs ws wf fvwf wd fwe f we wef we wfe rfwewef wfv wswf wefg sdfws w wsdcfwcf wsc vdv sdsd sdcd cv wsc sdcv wsc d sdcdcsd sdcdsc wdvd sdcsd wscxcv wssvd sd"); - return lb; - } - else if (!strcmp(part, "elm.swallow.end")) - { - Evas_Object *ck; - ck = elm_check_add(obj); - evas_object_propagate_events_set(ck, EINA_FALSE); - elm_check_state_set(ck, tit->onoff); - evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed, data); - return ck; - } - return NULL; -} -Eina_Bool gl3_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} -void gl3_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -TEST_START(test_genlist4) -{ - Evas_Object *bg, *gl, *bx, *bx2, *bt; - static Testitem tit[3]; - - 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); - - gl = elm_genlist_add(win); - elm_genlist_height_for_width_mode_set(gl, EINA_TRUE); - elm_genlist_multi_select_set(gl, 1); - 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); - evas_object_show(gl); - - itc3.item_style = "default"; - itc3.func.text_get = gl3_text_get; - itc3.func.content_get = gl3_content_get; - itc3.func.state_get = gl3_state_get; - itc3.func.del = gl3_del; - - tit[0].mode = 0; - tit[0].item = elm_genlist_item_append(gl, &itc3, - &(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[1].mode = 1; - tit[1].item = elm_genlist_item_append(gl, &itc3, - &(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[2].mode = 2; - tit[2].item = elm_genlist_item_append(gl, &itc3, - &(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - - elm_box_pack_end(bx, gl); - evas_object_show(bx); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[1]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[2]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[1])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[3]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[2])); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - - -/*************/ -static void -my_gl_item_check_changed2(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Testitem *tit = data; - tit->onoff = elm_check_state_get(obj); - printf("item %p onoff = %i\n", tit, tit->onoff); -} - -static Elm_Genlist_Item_Class itc5; -char *gl5_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part) -{ - const Testitem *tit = data; - char buf[256]; - if (!strcmp(part, "elm.text")) - { - snprintf(buf, sizeof(buf), "Item mode %i", tit->mode); - } - else if (!strcmp(part, "elm.text.sub")) - { - snprintf(buf, sizeof(buf), "%i bottles on the wall", tit->mode); - } - return strdup(buf); -} -Evas_Object *gl5_content_get(void *data, Evas_Object *obj, const char *part) -{ - const Testitem *tit = data; - char buf[PATH_MAX]; - if (!strcmp(part, "elm.swallow.icon")) - { - Evas_Object *bx = elm_box_add(obj); - Evas_Object *ic; - elm_box_horizontal_set(bx, EINA_TRUE); - ic = elm_icon_add(obj); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_show(ic); - elm_box_pack_end(bx, ic); - ic = elm_icon_add(obj); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_show(ic); - elm_box_pack_end(bx, ic); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - return bx; - } - else if (!strcmp(part, "elm.swallow.end")) - { - Evas_Object *ck; - ck = elm_check_add(obj); - evas_object_propagate_events_set(ck, EINA_FALSE); - elm_check_state_set(ck, tit->onoff); - evas_object_smart_callback_add(ck, "changed", my_gl_item_check_changed2, data); - evas_object_show(ck); - return ck; - } - return NULL; -} -Eina_Bool gl5_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} -void gl5_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -static void -item_drag_up(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag up\n"); -} - -static void -item_drag_down(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag down\n"); -} - -static void -item_drag_left(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag left\n"); -} - -static void -item_drag_right(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag right\n"); -} - -static void -scroll_top(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Top edge!\n"); -} - -static void -scroll_bottom(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Bottom edge!\n"); -} - -static void -scroll_left(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Left edge!\n"); -} - -static void -scroll_right(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Right edge!\n"); -} - -static void -item_drag(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag\n"); -} - -static void -item_drag_stop(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("drag stop\n"); -} - -static void -item_longpress(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("longpress\n"); -} - -TEST_START(test_genlist5) -{ - Evas_Object *bg, *gl, *bx, *bx2, *bt; - static Testitem tit[3]; - - 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); - - gl = elm_genlist_add(win); - elm_genlist_always_select_mode_set(gl, 1); - 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); - evas_object_show(gl); - itc5.item_style = "double_label"; - itc5.func.text_get = gl5_text_get; - itc5.func.content_get = gl5_content_get; - itc5.func.state_get = gl5_state_get; - itc5.func.del = gl5_del; - - tit[0].mode = 0; - tit[0].item = elm_genlist_item_append(gl, &itc5, - &(tit[0])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[1].mode = 1; - tit[1].item = elm_genlist_item_append(gl, &itc5, - &(tit[1])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - tit[2].mode = 2; - tit[2].item = elm_genlist_item_append(gl, &itc5, - &(tit[2])/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl_sel/* func */, - NULL/* func data */); - - elm_box_pack_end(bx, gl); - evas_object_show(bx); - - evas_object_smart_callback_add(gl, "drag,start,up", item_drag_up, NULL); - evas_object_smart_callback_add(gl, "drag,start,down", item_drag_down, NULL); - evas_object_smart_callback_add(gl, "drag,start,left", item_drag_left, NULL); - evas_object_smart_callback_add(gl, "drag,start,right", item_drag_right, NULL); - evas_object_smart_callback_add(gl, "scroll,edge,top", scroll_top, NULL); - evas_object_smart_callback_add(gl, "scroll,edge,bottom", scroll_bottom, NULL); - evas_object_smart_callback_add(gl, "scroll,edge,left", scroll_left, NULL); - evas_object_smart_callback_add(gl, "scroll,edge,right", scroll_right, NULL); - evas_object_smart_callback_add(gl, "drag", item_drag, NULL); - evas_object_smart_callback_add(gl, "drag,stop", item_drag_stop, NULL); - evas_object_smart_callback_add(gl, "longpressed", item_longpress, NULL); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[1]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[2]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[1])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[3]"); - evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[2])); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -/*************/ - -static Elm_Genlist_Item_Class itc4; - -static void -gl4_sel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = (Elm_Object_Item *)event_info; - int depth = 0; - - depth = elm_genlist_item_expanded_depth_get(glit); - printf("expanded depth for selected item is %d\n", depth); - -} -static void -gl4_exp(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - Evas_Object *gl = elm_genlist_item_genlist_get(glit); - int val = (int)(long)elm_genlist_item_data_get(glit); - val *= 10; - elm_genlist_item_append(gl, &itc4, - (void *)(long)(val + 1)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc4, - (void *)(long)(val + 2)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc4, - (void *)(long)(val + 3)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); -} -static void -gl4_con(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_subitems_clear(glit); -} - -static void -gl4_exp_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_TRUE); -} -static void -gl4_con_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_FALSE); -} - -char *gl4_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - char buf[256]; - snprintf(buf, sizeof(buf), "Item mode %i", (int)(long)data); - return strdup(buf); -} -Evas_Object *gl4_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part) -{ - char buf[PATH_MAX]; - if (!strcmp(part, "elm.swallow.icon")) - { - Evas_Object *ic = elm_icon_add(obj); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - evas_object_show(ic); - return ic; - } - else if (!strcmp(part, "elm.swallow.end")) - { - Evas_Object *ck; - ck = elm_check_add(obj); - evas_object_propagate_events_set(ck, EINA_FALSE); - evas_object_show(ck); - return ck; - } - return NULL; -} -Eina_Bool gl4_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return EINA_FALSE; -} -void gl4_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__) -{ -} - -TEST_START(test_genlist6) -{ - Evas_Object *bg, *gl, *bx, *bx2, *bt; - - 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); - - gl = elm_genlist_add(win); - 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); - evas_object_show(gl); - - itc4.item_style = "default"; - itc4.func.text_get = gl4_text_get; - itc4.func.content_get = gl4_content_get; - itc4.func.state_get = gl4_state_get; - itc4.func.del = gl4_del; - - elm_genlist_item_append(gl, &itc4, - (void *)1/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc4, - (void *)2/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc4, - (void *)3/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - - evas_object_smart_callback_add(gl, "expand,request", gl4_exp_req, gl); - evas_object_smart_callback_add(gl, "contract,request", gl4_con_req, gl); - evas_object_smart_callback_add(gl, "expanded", gl4_exp, gl); - evas_object_smart_callback_add(gl, "contracted", gl4_con, gl); - - elm_box_pack_end(bx, gl); - evas_object_show(bx); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[1]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[0])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[2]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[1])); - 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(bx2, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "[3]"); - // evas_object_smart_callback_add(bt, "clicked", my_gl_update, &(tit[2])); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -/*************/ - -struct genlist7_data -{ - Evas_Object *win, *pager; -}; - -static Elm_Genlist_Item_Class itc7; -static void -gl_sel7(void *data, Evas_Object *obj, void *event_info) -{ - if (!event_info) return; - elm_genlist_item_item_class_update(event_info, &itc7); - printf("sel item data [%p] on genlist obj [%p], item pointer [%p], new item style [%s] \n", data, obj, event_info, itc7.item_style); -} - -static void -test_genlist7_back_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - struct genlist7_data *info = data; - if (!info) return; - - elm_pager_content_pop(info->pager); -} - -static void -test_genlist7_swipe(void *data, Evas_Object *obj __UNUSED__, void *event_info) -{ - struct genlist7_data *info = data; - Evas_Object *box, *entry, *button; - char item_data[] = "Just a simple test"; - - if ((!event_info) || (!data)) return; - - box = elm_box_add(info->win); - elm_box_homogeneous_set(box, EINA_FALSE); - 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); - evas_object_show(box); - - entry = elm_entry_add(info->win); - elm_entry_scrollable_set(entry, EINA_TRUE); - elm_entry_editable_set(entry, EINA_FALSE); - elm_entry_entry_set(entry, item_data); - 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); - evas_object_show(entry); - - button = elm_button_add(info->win); - elm_object_text_set(button, "back"); - evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0); - evas_object_smart_callback_add(button, "clicked", test_genlist7_back_cb, - info); - evas_object_show(button); - - elm_box_pack_start(box, entry); - elm_box_pack_end(box, button); - - elm_pager_content_push(info->pager, box); -} - -TEST_START(test_genlist7) -{ - Evas_Object *bg, *gl, *pager; - static struct genlist7_data info; - static Testitem tit[3]; - - info.win = win; - - 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); - - pager = elm_pager_add(win); - elm_win_resize_object_add(win, pager); - evas_object_size_hint_weight_set(pager, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(pager, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(pager); - info.pager = pager; - - gl = elm_genlist_add(win); - 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); - evas_object_smart_callback_add(gl, "swipe", test_genlist7_swipe, &info); - evas_object_show(gl); - elm_pager_content_push(pager, gl); - - itc2.item_style = "default"; - itc2.func.text_get = gl2_text_get; - itc2.func.content_get = gl2_content_get; - itc2.func.state_get = gl2_state_get; - itc2.func.del = gl2_del; - - itc7.item_style = "double_label"; - itc7.func.text_get = gl5_text_get; - itc7.func.content_get = gl5_content_get; - itc7.func.state_get = gl5_state_get; - itc7.func.del = gl5_del; - - tit[0].mode = 0; - tit[0].item = elm_genlist_item_append(gl, &itc2, - &(tit[0])/* item data */, NULL/* parent */, - ELM_GENLIST_ITEM_NONE, gl_sel7/* func */, - NULL/* func data */); - tit[1].mode = 1; - tit[1].item = elm_genlist_item_append(gl, &itc2, - &(tit[1])/* item data */, NULL/* parent */, - ELM_GENLIST_ITEM_NONE, gl_sel7/* func */, - NULL/* func data */); - tit[2].mode = 2; - tit[2].item = elm_genlist_item_append(gl, &itc2, - &(tit[2])/* item data */, NULL/* parent */, - ELM_GENLIST_ITEM_NONE, gl_sel7/* func */, - NULL/* func data */); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -/*************/ - -static Elm_Genlist_Item_Class itc_group; -char *gl8_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - char buf[256]; - snprintf(buf, sizeof(buf), "Group Index # %i (Item # %i)", (int)((long)data / 10), (int)(long)data); - return strdup(buf); -} - -static void -_bt_show_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_item_top_show(data); - //elm_genlist_item_show(data); - //elm_genlist_item_middle_show(data); -} -static void -_bt_bring_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_genlist_item_top_bring_in(data); - //elm_genlist_item_bring_in(data); - //elm_genlist_item_middle_bring_in(data); -} - -TEST_START(test_genlist8) -{ - Evas_Object *bg, *gl, *bt[8], *bx, *bx2, *bx3; - Elm_Object_Item *gli = NULL, *git = NULL; - int i, bt_num; - - 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); - - gl = elm_genlist_add(win); - evas_object_smart_callback_add(gl, "selected", _gl_selected, NULL); - evas_object_smart_callback_add(gl, "clicked,double", _gl_double_clicked, NULL); - evas_object_smart_callback_add(gl, "longpressed", _gl_longpress, NULL); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - itc_group.item_style = "group_index"; - itc_group.func.text_get = gl8_text_get; - itc_group.func.content_get = NULL; - itc_group.func.state_get = NULL; - itc_group.func.del = gl_del; - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt_num = 0; - bt[bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Show 0"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx2, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Show 26"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx2, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Show 101"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx2, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Show 480"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx2, bt[bt_num]); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - bx3 = elm_box_add(win); - elm_box_horizontal_set(bx3, EINA_TRUE); - elm_box_homogeneous_set(bx3, EINA_TRUE); - evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Bring top 0"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx3, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Bring top 31"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx3, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Bring top 239"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx3, bt[bt_num]); - - bt[++bt_num] = elm_button_add(win); - elm_object_text_set(bt[bt_num], "Bring top 477"); - evas_object_size_hint_align_set(bt[bt_num], EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(bt[bt_num], EVAS_HINT_EXPAND, 0.0); - evas_object_show(bt[bt_num]); - elm_box_pack_end(bx3, bt[bt_num]); - - elm_box_pack_end(bx, bx3); - evas_object_show(bx3); - - for (i = 0; i < 500; i++) - { - if (!(i % 10)) - { - gli = git = elm_genlist_item_append(gl, &itc_group, - (void *)(long)i/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_GROUP, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - elm_genlist_item_display_only_set(git, EINA_TRUE); - } - else if (git) - { - gli = elm_genlist_item_append(gl, &itc1, - (void *)(long)i/* item data */, - git/* parent */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - } - switch (i) - { - case 0: - evas_object_smart_callback_add(bt[0], "clicked", _bt_show_cb, gli); - evas_object_smart_callback_add(bt[4], "clicked", _bt_bring_cb, gli); - break; - case 26: - evas_object_smart_callback_add(bt[1], "clicked", _bt_show_cb, gli); - break; - case 31: - evas_object_smart_callback_add(bt[5], "clicked", _bt_bring_cb, gli); - break; - case 101: - evas_object_smart_callback_add(bt[2], "clicked", _bt_show_cb, gli); - break; - case 239: - evas_object_smart_callback_add(bt[6], "clicked", _bt_bring_cb, gli); - break; - case 477: - evas_object_smart_callback_add(bt[7], "clicked", _bt_bring_cb, gli); - break; - case 480: - evas_object_smart_callback_add(bt[3], "clicked", _bt_show_cb, gli); - break; - } - } - - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END - -/*************/ - -static void -gl9_exp(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - Evas_Object *gl = elm_genlist_item_genlist_get(glit); - int val = (int)(long)elm_genlist_item_data_get(glit); - val *= 10; - elm_genlist_item_append(gl, &itc1, - (void *)(long)(val + 1)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)(long)(val + 2)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)(long)(val + 3)/* item data */, - glit/* parent */, - ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); -} -static void -gl9_con(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_subitems_clear(glit); -} - -static void -gl9_exp_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_TRUE); -} -static void -gl9_con_req(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_FALSE); -} - -TEST_START(test_genlist9) -{ - Evas_Object *bg, *gl, *bx; - Elm_Object_Item *git; - - 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); - - gl = elm_genlist_add(win); - evas_object_smart_callback_add(gl, "selected", _gl_selected, NULL); - evas_object_smart_callback_add(gl, "clicked,double", _gl_double_clicked, NULL); - evas_object_smart_callback_add(gl, "longpressed", _gl_longpress, NULL); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - itc_group.item_style = "group_index"; - itc_group.func.text_get = gl8_text_get; - itc_group.func.content_get = NULL; - itc_group.func.state_get = NULL; - itc_group.func.del = gl_del; - - git = elm_genlist_item_append(gl, &itc_group, - (void *)0/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_GROUP, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_display_only_set(git, EINA_TRUE); - elm_genlist_item_append(gl, &itc1, - (void *)1/* item data */, git/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)2/* item data */, git/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)3/* item data */, git/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - git = elm_genlist_item_append(gl, &itc_group, - (void *)4/* item data */, NULL/* parent */, ELM_GENLIST_ITEM_GROUP, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_display_only_set(git, EINA_TRUE); - elm_genlist_item_append(gl, &itc1, - (void *)5/* item data */, git/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)6/* item data */, git/* parent */, ELM_GENLIST_ITEM_NONE, gl4_sel/* func */, - NULL/* func data */); - elm_genlist_item_append(gl, &itc1, - (void *)7/* item data */, git/* parent */, ELM_GENLIST_ITEM_SUBITEMS, gl4_sel/* func */, - NULL/* func data */); - - evas_object_smart_callback_add(gl, "expand,request", gl9_exp_req, gl); - evas_object_smart_callback_add(gl, "contract,request", gl9_con_req, gl); - evas_object_smart_callback_add(gl, "expanded", gl9_exp, gl); - evas_object_smart_callback_add(gl, "contracted", gl9_con, gl); - - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END - -/*************/ - -static Elm_Genlist_Item_Class itc10; -static char *mode_type[] = { "slide", "rotate" }; -char *gl10_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part) -{ - char buf[256]; - if (!strcmp(part, "elm.text.mode")) - snprintf(buf, sizeof(buf), "Mode # %i", (int)(long)data); - else - snprintf(buf, sizeof(buf), "Item # %i", (int)(long)data); - return strdup(buf); -} - -Evas_Object *gl10_content_get(void *data __UNUSED__, Evas_Object *obj, const char *part) -{ - char buf[PATH_MAX]; - Evas_Object *ic = elm_icon_add(obj); - if (!strcmp(part, "elm.swallow.end")) - snprintf(buf, sizeof(buf), "%s/images/bubble.png", elm_app_data_dir_get()); - else - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - return ic; -} -static void -_gl_sel10(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - if (!data) return; - int v = elm_radio_value_get(data); - if (v == 1) - elm_genlist_item_mode_set(event_info, mode_type[v], EINA_TRUE); -} - -static void -_my_gl_mode_right(void *data, Evas_Object *obj __UNUSED__, void *event_info) -{ - if (!data) return; - int v = elm_radio_value_get(data); - if (v == 0) - elm_genlist_item_mode_set(event_info, mode_type[v], EINA_TRUE); -} - -static void -_my_gl_mode_left(void *data, Evas_Object *obj __UNUSED__, void *event_info) -{ - if (!data) return; - int v = elm_radio_value_get(data); - if (v == 0) - elm_genlist_item_mode_set(event_info, mode_type[v], EINA_FALSE); -} - -static void -_my_gl_mode_cancel(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - fprintf(stderr, "drag\n"); - if (!data) return; - int v = elm_radio_value_get(data); - Elm_Object_Item *glit = elm_genlist_mode_item_get(obj); - if (glit) - elm_genlist_item_mode_set(glit, mode_type[v], EINA_FALSE); -} - -TEST_START(test_genlist10) -{ - Evas_Object *bg, *fr, *lb, *bx, *bx2, *bx3, *rd, *rdg, *gl; - int i; - - 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); - - fr = elm_frame_add(win); - elm_object_text_set(fr, "Mode Type"); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - bx2 = elm_box_add(win); - elm_object_content_set(fr, bx2); - evas_object_show(bx2); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "Sweep genlist items to the right.
" - "Test this by changing Mode Type to Slide or Rotate."); - elm_box_pack_end(bx2, lb); - evas_object_show(lb); - - bx3 = elm_box_add(win); - elm_box_horizontal_set(bx3, EINA_TRUE); - elm_box_pack_end(bx2, bx3); - evas_object_show(bx3); - - rd = elm_radio_add(win); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_radio_state_value_set(rd, 0); - elm_object_text_set(rd, "Slide "); - evas_object_show(rd); - elm_box_pack_end(bx3, rd); - rdg = rd; - - rd = elm_radio_add(win); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_radio_state_value_set(rd, 1); - elm_object_text_set(rd, "Rotate"); - elm_radio_group_add(rd, rdg); - evas_object_show(rd); - elm_box_pack_end(bx3, rd); - - gl = elm_genlist_add(win); - 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); - evas_object_smart_callback_add(gl, "drag,start,right", _my_gl_mode_right, rdg); - evas_object_smart_callback_add(gl, "drag,start,left", _my_gl_mode_left, rdg); - evas_object_smart_callback_add(gl, "drag,start,up", _my_gl_mode_cancel, rdg); - evas_object_smart_callback_add(gl, "drag,start,down", _my_gl_mode_cancel, rdg); - evas_object_show(gl); - - itc10.item_style = "default"; - itc10.func.text_get = gl10_text_get; - itc10.func.content_get = gl10_content_get; - itc10.func.state_get = gl_state_get; - itc10.func.del = gl_del; - elm_genlist_mode_item_style_set(gl, "mode"); - - for (i = 0; i < 50; i++) - elm_genlist_item_append(gl, - &itc10, - (void *)(1000 + i)/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE/* flags */, - _gl_sel10/* func */, - rdg/* func data */); - - elm_box_pack_end(bx, gl); - - evas_object_resize(win, 520, 520); - evas_object_show(win); -} -TEST_END - -/*************/ - -static void -_reorder_tg_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - elm_genlist_reorder_mode_set(data, elm_check_state_get(obj)); -} - -/** - * gl_moved is called after an item was reordered. - * This is only called when reorder mode is enabled. - * - * @param data : the genlist object passed as data. - * @param obj : the genlist object. - * @param item : the moved item. - * - * If the move_after is true, - * the item(*item) had been moved after the given relative item(*rel_item) in list. - * If the move_after is false, - * the item(*item) had been moved before the given relative item(*rel_item) in list. - * - */ -static void gl_moved(Evas_Object *obj __UNUSED__, Elm_Object_Item *item __UNUSED__, Elm_Object_Item *rel_item __UNUSED__, Eina_Bool move_after __UNUSED__) -{ - // if needed, add application logic. -} - -TEST_START(test_genlist11) -{ - Evas_Object *bg, *fr, *lb, *bx, *tg, *gl; - int i; - - 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); - - fr = elm_frame_add(win); - - elm_object_text_set(fr, "Reorder Mode"); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "Enable reorder mode if you want to move item.
" - "Then long press and drag item."); - elm_object_content_set(fr, lb); - evas_object_show(lb); - - gl = elm_genlist_add(win); - 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); - evas_object_show(gl); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_text_set(tg, "Reorder Mode:"); - elm_check_state_set(tg, elm_mirrored_get()); - evas_object_smart_callback_add(tg, "changed", _reorder_tg_changed_cb, gl); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - - itc1.item_style = "default"; - itc1.func.text_get = gl_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - evas_object_smart_callback_add(gl, "moved", (Evas_Smart_Cb)gl_moved, gl); - - for (i = 0; i < 50; i++) - elm_genlist_item_append(gl, - &itc1, - (void *)(1 + i)/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE/* flags */, - NULL/* func */, - NULL/* func data */); - - elm_box_pack_end(bx, gl); - - evas_object_resize(win, 400, 500); - evas_object_show(win); -} -TEST_END - -char *gl12_text_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - return strdup("Enlightenment is not just a window manager for Linux/X11 and others, but also a whole suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager. It covers uses from small mobile devices like phones all the way to powerful multi-core desktops (which are the primary development environment)."); -} - -TEST_START(test_genlist12) -{ - Evas_Object *bg, *bx, *gl; - int i; - - 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); - - gl = elm_genlist_add(win); - elm_genlist_height_for_width_mode_set(gl, EINA_TRUE); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - itc1.item_style = "message"; - itc1.func.text_get = gl12_text_get; - itc1.func.content_get = gl_content_get; - itc1.func.state_get = gl_state_get; - itc1.func.del = gl_del; - - for (i = 0; i < 1000; i++) - { - elm_genlist_item_append(gl, &itc1, - (void *)(long)i/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE, - gl_sel/* func */, - (void *)(long)(i * 10)/* func data */); - } - - evas_object_resize(win, 400, 500); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_glview.c b/src/bin/test_glview.c deleted file mode 100644 index cfe4d18..0000000 --- a/src/bin/test_glview.c +++ /dev/null @@ -1,626 +0,0 @@ -#include -#include "tsuite.h" - -#ifndef M_PI -#define M_PI 3.14159265 -#endif - -typedef struct _Gear Gear; -typedef struct _GLData GLData; -struct _Gear -{ - GLfloat *vertices; - GLuint vbo; - int count; -}; - -// GL related data here.. -struct _GLData -{ - Evas_GL_API *glapi; - GLuint program; - GLuint vtx_shader; - GLuint fgmt_shader; - int initialized : 1; - int mouse_down : 1; - - // Gear Stuff - GLfloat view_rotx; - GLfloat view_roty; - GLfloat view_rotz; - - Gear *gear1; - Gear *gear2; - Gear *gear3; - - GLfloat angle; - - GLuint proj_location; - GLuint light_location; - GLuint color_location; - - GLfloat proj[16]; - GLfloat light[3]; -}; - -static void gears_init(GLData *gld); -static void free_gear(Gear *gear); -static void gears_reshape(GLData *gld, int width, int height); -static void render_gears(GLData *gld); - -//--------------------------------// -// Gear Stuff.... -static GLfloat * -vert(GLfloat *p, GLfloat x, GLfloat y, GLfloat z, GLfloat *n) -{ - p[0] = x; - p[1] = y; - p[2] = z; - p[3] = n[0]; - p[4] = n[1]; - p[5] = n[2]; - - return p + 6; -} - -/* Draw a gear wheel. You'll probably want to call this function when - * building a display list since we do a lot of trig here. - * - * Input: inner_radius - radius of hole at center - * outer_radius - radius at center of teeth - * width - width of gear - * teeth - number of teeth - * tooth_depth - depth of tooth - */ -static Gear * -make_gear(GLData *gld, GLfloat inner_radius, GLfloat outer_radius, GLfloat width, - GLint teeth, GLfloat tooth_depth) -{ - GLint i; - GLfloat r0, r1, r2; - GLfloat da; - GLfloat *v; - Gear *gear; - double s[5], c[5]; - GLfloat normal[3]; - const int tris_per_tooth = 20; - Evas_GL_API *gl = gld->glapi; - - gear = (Gear*)malloc(sizeof(Gear)); - if (gear == NULL) - return NULL; - - r0 = inner_radius; - r1 = outer_radius - tooth_depth / 2.0; - r2 = outer_radius + tooth_depth / 2.0; - - da = 2.0 * M_PI / teeth / 4.0; - - gear->vertices = calloc(teeth * tris_per_tooth * 3 * 6, - sizeof *gear->vertices); - s[4] = 0; - c[4] = 1; - v = gear->vertices; - for (i = 0; i < teeth; i++) - { - s[0] = s[4]; - c[0] = c[4]; - s[1] = sin(i * 2.0 * M_PI / teeth + da); - c[1] = cos(i * 2.0 * M_PI / teeth + da); - s[2] = sin(i * 2.0 * M_PI / teeth + da * 2); - c[2] = cos(i * 2.0 * M_PI / teeth + da * 2); - s[3] = sin(i * 2.0 * M_PI / teeth + da * 3); - c[3] = cos(i * 2.0 * M_PI / teeth + da * 3); - s[4] = sin(i * 2.0 * M_PI / teeth + da * 4); - c[4] = cos(i * 2.0 * M_PI / teeth + da * 4); - - normal[0] = 0.0; - normal[1] = 0.0; - normal[2] = 1.0; - - v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal); - - v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal); - v = vert(v, r2 * c[2], r2 * s[2], width * 0.5, normal); - v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal); - v = vert(v, r1 * c[3], r1 * s[3], width * 0.5, normal); - v = vert(v, r0 * c[0], r0 * s[0], width * 0.5, normal); - v = vert(v, r1 * c[4], r1 * s[4], width * 0.5, normal); - v = vert(v, r0 * c[4], r0 * s[4], width * 0.5, normal); - - v = vert(v, r0 * c[4], r0 * s[4], width * 0.5, normal); - v = vert(v, r0 * c[0], r0 * s[0], width * 0.5, normal); - v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal); - v = vert(v, r0 * c[0], r0 * s[0], -width * 0.5, normal); - - normal[0] = 0.0; - normal[1] = 0.0; - normal[2] = -1.0; - - v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal); - - v = vert(v, r0 * c[4], r0 * s[4], -width * 0.5, normal); - v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal); - v = vert(v, r0 * c[0], r0 * s[0], -width * 0.5, normal); - v = vert(v, r1 * c[3], r1 * s[3], -width * 0.5, normal); - v = vert(v, r1 * c[0], r1 * s[0], -width * 0.5, normal); - v = vert(v, r2 * c[2], r2 * s[2], -width * 0.5, normal); - v = vert(v, r2 * c[1], r2 * s[1], -width * 0.5, normal); - - v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal); - - v = vert(v, r1 * c[0], r1 * s[0], width * 0.5, normal); - v = vert(v, r1 * c[0], r1 * s[0], -width * 0.5, normal); - v = vert(v, r2 * c[1], r2 * s[1], width * 0.5, normal); - v = vert(v, r2 * c[1], r2 * s[1], -width * 0.5, normal); - v = vert(v, r2 * c[2], r2 * s[2], width * 0.5, normal); - v = vert(v, r2 * c[2], r2 * s[2], -width * 0.5, normal); - v = vert(v, r1 * c[3], r1 * s[3], width * 0.5, normal); - v = vert(v, r1 * c[3], r1 * s[3], -width * 0.5, normal); - v = vert(v, r1 * c[4], r1 * s[4], width * 0.5, normal); - v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal); - - v = vert(v, r1 * c[4], r1 * s[4], -width * 0.5, normal); - } - - gear->count = (v - gear->vertices) / 6; - - gl->glGenBuffers(1, &gear->vbo); - gl->glBindBuffer(GL_ARRAY_BUFFER, gear->vbo); - gl->glBufferData(GL_ARRAY_BUFFER, gear->count * 6 * 4, - gear->vertices, GL_STATIC_DRAW); - - - return gear; -} - -static void -free_gear(Gear *gear) -{ - free(gear->vertices); - free(gear); - gear = NULL; -} - -static void -multiply(GLfloat *m, const GLfloat *n) -{ - GLfloat tmp[16]; - const GLfloat *row, *column; - div_t d; - int i, j; - - for (i = 0; i < 16; i++) - { - tmp[i] = 0; - d = div(i, 4); - row = n + d.quot * 4; - column = m + d.rem; - for (j = 0; j < 4; j++) - tmp[i] += row[j] * column[j * 4]; - } - memcpy(m, &tmp, sizeof tmp); -} - -static void -rotate(GLfloat *m, GLfloat angle, GLfloat x, GLfloat y, GLfloat z) -{ - double s, c; - - s = sin(angle); - c = cos(angle); - GLfloat r[16] = - { - x * x * (1 - c) + c, y * x * (1 - c) + z * s, x * z * (1 - c) - y * s, 0, - x * y * (1 - c) - z * s, y * y * (1 - c) + c, y * z * (1 - c) + x * s, 0, - x * z * (1 - c) + y * s, y * z * (1 - c) - x * s, z * z * (1 - c) + c, 0, - 0, 0, 0, 1 - }; - - multiply(m, r); -} - -static void -translate(GLfloat *m, GLfloat x, GLfloat y, GLfloat z) -{ - GLfloat t[16] = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, x, y, z, 1 }; - - multiply(m, t); -} - -static void -draw_gear(GLData *gld, Gear *gear, GLfloat *m, - GLfloat x, GLfloat y, GLfloat angle, const GLfloat *color) -{ - Evas_GL_API *gl = gld->glapi; - GLfloat tmp[16]; - - memcpy(tmp, m, sizeof tmp); - translate(tmp, x, y, 0); - rotate(tmp, 2 * M_PI * angle / 360.0, 0, 0, 1); - gl->glUniformMatrix4fv(gld->proj_location, 1, GL_FALSE, tmp); - gl->glUniform3fv(gld->light_location, 1, gld->light); - gl->glUniform4fv(gld->color_location, 1, color); - - gl->glBindBuffer(GL_ARRAY_BUFFER, gear->vbo); - - gl->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, - 6 * sizeof(GLfloat), NULL); - gl->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, - 6 * sizeof(GLfloat), (GLfloat *) 0 + 3); - gl->glEnableVertexAttribArray(0); - gl->glEnableVertexAttribArray(1); - gl->glDrawArrays(GL_TRIANGLE_STRIP, 0, gear->count); -} - -static void -gears_draw(GLData *gld) -{ - Evas_GL_API *gl = gld->glapi; - - static const GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 }; - static const GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 }; - static const GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 }; - GLfloat m[16]; - - gl->glClearColor(0.8, 0.8, 0.1, 0.5); - gl->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - - memcpy(m, gld->proj, sizeof m); - rotate(m, 2 * M_PI * gld->view_rotx / 360.0, 1, 0, 0); - rotate(m, 2 * M_PI * gld->view_roty / 360.0, 0, 1, 0); - rotate(m, 2 * M_PI * gld->view_rotz / 360.0, 0, 0, 1); - - draw_gear(gld, gld->gear1, m, -3.0, -2.0, gld->angle, red); - draw_gear(gld, gld->gear2, m, 3.1, -2.0, -2 * gld->angle - 9.0, green); - draw_gear(gld, gld->gear3, m, -3.1, 4.2, -2 * gld->angle - 25.0, blue); -} - -static void render_gears(GLData *gld) -{ - gears_draw(gld); - - gld->angle += 2.0; -} - -/* new window size or exposure */ -static void -gears_reshape(GLData *gld, int width, int height) -{ - Evas_GL_API *gl = gld->glapi; - - GLfloat ar, m[16] = { - 1.0, 0.0, 0.0, 0.0, - 0.0, 1.0, 0.0, 0.0, - 0.0, 0.0, 0.1, 0.0, - 0.0, 0.0, 0.0, 1.0 - }; - - if (width < height) - ar = width; - else - ar = height; - - m[0] = 0.1 * ar / width; - m[5] = 0.1 * ar / height; - memcpy(gld->proj, m, sizeof gld->proj); - gl->glViewport(0, 0, (GLint) width, (GLint) height); -} - -static const char vertex_shader[] = - "uniform mat4 proj;\n" - "attribute vec4 position;\n" - "attribute vec4 normal;\n" - "varying vec3 rotated_normal;\n" - "varying vec3 rotated_position;\n" - "vec4 tmp;\n" - "void main()\n" - "{\n" - " gl_Position = proj * position;\n" - " rotated_position = gl_Position.xyz;\n" - " tmp = proj * normal;\n" - " rotated_normal = tmp.xyz;\n" - "}\n"; - - static const char fragment_shader[] = - "#ifdef GL_ES\n" - "precision mediump float;\n" - "#endif\n" - "uniform vec4 color;\n" - "uniform vec3 light;\n" - "varying vec3 rotated_normal;\n" - "varying vec3 rotated_position;\n" - "vec3 light_direction;\n" - "vec4 white = vec4(0.5, 0.5, 0.5, 1.0);\n" - "void main()\n" - "{\n" - " light_direction = normalize(light - rotated_position);\n" - " gl_FragColor = color + white * dot(light_direction, rotated_normal);\n" - "}\n"; - - -static void -gears_init(GLData *gld) -{ - Evas_GL_API *gl = gld->glapi; - - const char *p; - char msg[512]; - - gl->glEnable(GL_CULL_FACE); - gl->glEnable(GL_DEPTH_TEST); - - p = vertex_shader; - gld->vtx_shader = gl->glCreateShader(GL_VERTEX_SHADER); - gl->glShaderSource(gld->vtx_shader, 1, &p, NULL); - gl->glCompileShader(gld->vtx_shader); - gl->glGetShaderInfoLog(gld->vtx_shader, sizeof msg, NULL, msg); - printf("vertex shader info: %s\n", msg); - - p = fragment_shader; - gld->fgmt_shader = gl->glCreateShader(GL_FRAGMENT_SHADER); - gl->glShaderSource(gld->fgmt_shader, 1, &p, NULL); - gl->glCompileShader(gld->fgmt_shader); - gl->glGetShaderInfoLog(gld->fgmt_shader, sizeof msg, NULL, msg); - printf("fragment shader info: %s\n", msg); - - gld->program = gl->glCreateProgram(); - gl->glAttachShader(gld->program, gld->vtx_shader); - gl->glAttachShader(gld->program, gld->fgmt_shader); - gl->glBindAttribLocation(gld->program, 0, "position"); - gl->glBindAttribLocation(gld->program, 1, "normal"); - - gl->glLinkProgram(gld->program); - gl->glGetProgramInfoLog(gld->program, sizeof msg, NULL, msg); - printf("info: %s\n", msg); - - gl->glUseProgram(gld->program); - gld->proj_location = gl->glGetUniformLocation(gld->program, "proj"); - gld->light_location = gl->glGetUniformLocation(gld->program, "light"); - gld->color_location = gl->glGetUniformLocation(gld->program, "color"); - - /* make the gears */ - gld->gear1 = make_gear(gld, 1.0, 4.0, 1.0, 20, 0.7); - gld->gear2 = make_gear(gld, 0.5, 2.0, 2.0, 10, 0.7); - gld->gear3 = make_gear(gld, 1.3, 2.0, 0.5, 10, 0.7); -} - - -static void -gldata_init(GLData *gld) -{ - gld->initialized = 0; - gld->mouse_down = 0; - - gld->view_rotx = -20.0; - gld->view_roty = -30.0; - gld->view_rotz = 0.0; - gld->angle = 0.0; - - gld->light[0] = 1.0; - gld->light[1] = 1.0; - gld->light[2] = -5.0; -} - - -//-------------------------// - -static void -_init_gl(Evas_Object *obj) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - - gears_init(gld); -} - -static void -_del_gl(Evas_Object *obj) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - if (!gld) - { - printf("Unable to get GLData. \n"); - return; - } - Evas_GL_API *gl = gld->glapi; - - gl->glDeleteShader(gld->vtx_shader); - gl->glDeleteShader(gld->fgmt_shader); - gl->glDeleteProgram(gld->program); - gl->glDeleteBuffers(1, &gld->gear1->vbo); - gl->glDeleteBuffers(1, &gld->gear2->vbo); - gl->glDeleteBuffers(1, &gld->gear3->vbo); - - free_gear(gld->gear1); - free_gear(gld->gear2); - free_gear(gld->gear3); - - evas_object_data_del((Evas_Object*)obj, "..gld"); - free(gld); -} - - -static void -_resize_gl(Evas_Object *obj) -{ - int w, h; - GLData *gld = evas_object_data_get(obj, "gld"); - - elm_glview_size_get(obj, &w, &h); - - // GL Viewport stuff. you can avoid doing this if viewport is all the - // same as last frame if you want - gears_reshape(gld, w,h); -} - - - -static void -_draw_gl(Evas_Object *obj) -{ - Evas_GL_API *gl = elm_glview_gl_api_get(obj); - GLData *gld = evas_object_data_get(obj, "gld"); - if (!gld) return; - - render_gears(gld); - gl->glFinish(); -} - -static Eina_Bool -_anim(void *data) -{ - elm_glview_changed_set(data); - return EINA_TRUE; -} - -static void -_on_done(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - evas_object_del((Evas_Object*)data); -} - - -static void -_del(void *data __UNUSED__, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Ecore_Animator *ani = evas_object_data_get(obj, "ani"); - ecore_animator_del(ani); -} - - -static void -_key_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Key_Down *ev; - ev = (Evas_Event_Key_Down *)event_info; - GLData *gld = evas_object_data_get(obj, "gld"); - - if (strcmp(ev->keyname, "Left") == 0) - { - gld->view_roty += 5.0; - return; - } - - if (strcmp(ev->keyname, "Right") == 0) - { - gld->view_roty -= 5.0; - return; - } - - if (strcmp(ev->keyname, "Up") == 0) - { - gld->view_rotx += 5.0; - return; - } - - if (strcmp(ev->keyname, "Down") == 0) - { - gld->view_rotx -= 5.0; - return; - } - if ((strcmp(ev->keyname, "Escape") == 0) || - (strcmp(ev->keyname, "Return") == 0)) - { - //_on_done(data, obj, event_info); - return; - } -} - -static void -_mouse_down(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - gld->mouse_down = 1; -} - -static void -_mouse_move(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Event_Mouse_Move *ev; - ev = (Evas_Event_Mouse_Move *)event_info; - GLData *gld = evas_object_data_get(obj, "gld"); - float dx = 0, dy = 0; - - if (gld->mouse_down) - { - dx = ev->cur.canvas.x - ev->prev.canvas.x; - dy = ev->cur.canvas.y - ev->prev.canvas.y; - - gld->view_roty += -1.0 * dx; - gld->view_rotx += -1.0 * dy; - } -} - -static void -_mouse_up(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - gld->mouse_down = 0; -} - -TEST_START(test_glview) -{ - Evas_Object *bg, *bx, *bt, *gl; - Ecore_Animator *ani; - GLData *gld = NULL; - - // alloc a data struct to hold our relevant gl info in - if (!(gld = calloc(1, sizeof(GLData)))) return; - gldata_init(gld); - - // new window - do the usual and give it a name, title and delete handler - - // add a standard bg - 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); - - 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); - - // Add a GLView - gl = elm_glview_add(win); - 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); - elm_glview_mode_set(gl, ELM_GLVIEW_ALPHA|ELM_GLVIEW_DEPTH); - elm_glview_resize_policy_set(gl, ELM_GLVIEW_RESIZE_POLICY_RECREATE); - elm_glview_render_policy_set(gl, ELM_GLVIEW_RENDER_POLICY_ALWAYS); - elm_glview_init_func_set(gl, _init_gl); - elm_glview_del_func_set(gl, _del_gl); - elm_glview_resize_func_set(gl, _resize_gl); - elm_glview_render_func_set(gl, (Elm_GLView_Func_Cb)_draw_gl); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - // Add Mouse/Key Event Callbacks - elm_object_focus_set(gl, EINA_TRUE); - evas_object_event_callback_add(gl, EVAS_CALLBACK_KEY_DOWN, _key_down, gl); - evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down, gl); - evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_UP, _mouse_up, gl); - evas_object_event_callback_add(gl, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move, gl); - - - // Animator and other vars - ani = ecore_animator_add(_anim, gl); - gld->glapi = elm_glview_gl_api_get(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 */ - 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); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_glview_simple.c b/src/bin/test_glview_simple.c deleted file mode 100644 index 85d3cb1..0000000 --- a/src/bin/test_glview_simple.c +++ /dev/null @@ -1,282 +0,0 @@ -#include -#include "tsuite.h" - -typedef struct _GLData GLData; - -// GL related data here.. -struct _GLData -{ - Evas_GL_API *glapi; - GLuint program; - GLuint vtx_shader; - GLuint fgmt_shader; - GLuint vbo; - int initialized : 1; -}; - - -static float red = 1.0; - -//--------------------------------// -static GLuint -load_shader( GLData *gld, GLenum type, const char *shader_src ) -{ - Evas_GL_API *gl = gld->glapi; - GLuint shader; - GLint compiled; - - // Create the shader object - shader = gl->glCreateShader(type); - if (shader==0) - return 0; - - // Load/Compile shader source - gl->glShaderSource(shader, 1, &shader_src, NULL); - gl->glCompileShader(shader); - gl->glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled); - - if (!compiled) - { - GLint info_len = 0; - gl->glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &info_len); - if (info_len > 1) - { - char* info_log = malloc(sizeof(char) * info_len); - - gl->glGetShaderInfoLog(shader, info_len, NULL, info_log); - printf("Error compiling shader:\n%s\n======\n%s\n======\n", info_log, shader_src ); - free(info_log); - } - gl->glDeleteShader(shader); - return 0; - } - - return shader; -} - -// Initialize the shader and program object -static int -init_shaders(GLData *gld) -{ - Evas_GL_API *gl = gld->glapi; - GLbyte vShaderStr[] = - "attribute vec4 vPosition; \n" - "void main() \n" - "{ \n" - " gl_Position = vPosition; \n" - "} \n"; - - GLbyte fShaderStr[] = - "#ifdef GL_ES \n" - "precision mediump float; \n" - "#endif \n" - "void main() \n" - "{ \n" - " gl_FragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 );\n" - "} \n"; - - GLint linked; - - // Load the vertex/fragment shaders - gld->vtx_shader = load_shader(gld, GL_VERTEX_SHADER, (const char*)vShaderStr); - gld->fgmt_shader = load_shader(gld, GL_FRAGMENT_SHADER, (const char*)fShaderStr); - - // Create the program object - gld->program = gl->glCreateProgram( ); - if (gld->program==0) - return 0; - - gl->glAttachShader(gld->program, gld->vtx_shader); - gl->glAttachShader(gld->program, gld->fgmt_shader); - - gl->glBindAttribLocation(gld->program, 0, "vPosition"); - gl->glLinkProgram(gld->program); - gl->glGetProgramiv(gld->program, GL_LINK_STATUS, &linked); - - if (!linked) - { - GLint info_len = 0; - gl->glGetProgramiv(gld->program, GL_INFO_LOG_LENGTH, &info_len); - if (info_len > 1) - { - char* info_log = malloc(sizeof(char) * info_len); - - gl->glGetProgramInfoLog(gld->program, info_len, NULL, info_log); - printf("Error linking program:\n%s\n", info_log); - free(info_log); - } - gl->glDeleteProgram(gld->program); - return 0; - } - return 1; -} - - - -// Callbacks -static void -_init_gl(Evas_Object *obj) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - Evas_GL_API *gl = gld->glapi; - GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f, - -0.5f, -0.5f, 0.0f, - 0.5f, -0.5f, 0.0f }; - - if (!init_shaders(gld)) - { - printf("Error Initializing Shaders\n"); - return; - } - - gl->glGenBuffers(1, &gld->vbo); - gl->glBindBuffer(GL_ARRAY_BUFFER, gld->vbo); - gl->glBufferData(GL_ARRAY_BUFFER, 3 * 3 * 4, vVertices, GL_STATIC_DRAW); -} - -static void -_del_gl(Evas_Object *obj) -{ - GLData *gld = evas_object_data_get(obj, "gld"); - if (!gld) - { - printf("Unable to get GLData. \n"); - return; - } - Evas_GL_API *gl = gld->glapi; - - gl->glDeleteShader(gld->vtx_shader); - gl->glDeleteShader(gld->fgmt_shader); - gl->glDeleteProgram(gld->program); - gl->glDeleteBuffers(1, &gld->vbo); - - evas_object_data_del((Evas_Object*)obj, "..gld"); - free(gld); -} - - -static void -_resize_gl(Evas_Object *obj) -{ - int w, h; - GLData *gld = evas_object_data_get(obj, "gld"); - Evas_GL_API *gl = gld->glapi; - - elm_glview_size_get(obj, &w, &h); - - // GL Viewport stuff. you can avoid doing this if viewport is all the - // same as last frame if you want - gl->glViewport(0, 0, w, h); -} - - - -static void -_draw_gl(Evas_Object *obj) -{ - Evas_GL_API *gl = elm_glview_gl_api_get(obj); - GLData *gld = evas_object_data_get(obj, "gld"); - if (!gld) return; - int w, h; - - elm_glview_size_get(obj, &w, &h); - - gl->glViewport(0, 0, w, h); - gl->glClearColor(red,0.8,0.3,1); - gl->glClear(GL_COLOR_BUFFER_BIT); - - // Draw a Triangle - gl->glEnable(GL_BLEND); - - gl->glUseProgram(gld->program); - - gl->glBindBuffer(GL_ARRAY_BUFFER, gld->vbo); - gl->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, - 0, 0); - gl->glEnableVertexAttribArray(0); - - gl->glDrawArrays(GL_TRIANGLES, 0, 3); - - // Optional - Flush the GL pipeline - gl->glFinish(); - - red -= 0.1; - if (red < 0.0) red = 1.0; -} - -static Eina_Bool -_anim(void *data) -{ - elm_glview_changed_set(data); - return EINA_TRUE; -} - -static void -_on_done(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - evas_object_del((Evas_Object*)data); -} - - -static void -_del(void *data __UNUSED__, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Ecore_Animator *ani = evas_object_data_get(obj, "ani"); - ecore_animator_del(ani); -} - - -TEST_START(test_glview_simple) -{ - Evas_Object *bg, *bx, *bt, *gl; - Ecore_Animator *ani; - GLData *gld = NULL; - - if (!(gld = calloc(1, sizeof(GLData)))) return; - - // Set the engine to opengl_x11 - elm_engine_set("opengl_x11"); - - 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); - - gl = elm_glview_add(win); - 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); - elm_glview_mode_set(gl, ELM_GLVIEW_ALPHA | ELM_GLVIEW_DEPTH); - elm_glview_resize_policy_set(gl, ELM_GLVIEW_RESIZE_POLICY_RECREATE); - elm_glview_render_policy_set(gl, ELM_GLVIEW_RENDER_POLICY_ON_DEMAND); - elm_glview_init_func_set(gl, _init_gl); - elm_glview_del_func_set(gl, _del_gl); - elm_glview_resize_func_set(gl, _resize_gl); - elm_glview_render_func_set(gl, _draw_gl); - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - elm_object_focus_set(gl, EINA_TRUE); - - ani = ecore_animator_add(_anim, gl); - gld->glapi = elm_glview_gl_api_get(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); - - 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); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_grid.c b/src/bin/test_grid.c deleted file mode 100644 index b024e1e..0000000 --- a/src/bin/test_grid.c +++ /dev/null @@ -1,176 +0,0 @@ -#include -#include "tsuite.h" - -static void -_ch_grid(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - int x, y, w, h; - - elm_grid_pack_get(obj, &x, &y, &w, &h); - elm_grid_pack_set(obj, x - 1, y - 1, w + 2, h + 2); -} - -struct _Api_Data -{ - Evas_Object *grid; - Evas_Object *child; -}; -typedef struct _Api_Data Api_Data; - -enum _api_state -{ - GRID_PACK_SET, - GRID_UNPACK, - GRID_SIZE, - GRID_CLEAR, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - Api_Data *dt = api->data; - int w, h; - - switch(api->state) - { /* Put all api-changes under switch */ - case GRID_PACK_SET: /* 0 */ - elm_grid_pack_set(dt->child, 5, 15, 60, 40); - break; - - case GRID_UNPACK: /* 1 */ - elm_grid_unpack(dt->grid, dt->child); - evas_object_del(dt->child); - break; - - case GRID_SIZE: /* 2 */ - elm_grid_size_get(dt->grid, &w, &h); - printf("size w=<%d> h=<%d>\n", w, h); - w = h = 100; /* grid size returns wrong values */ - w += 30; - h += 10; - - elm_grid_size_set(dt->grid, w, h); - break; - - case GRID_CLEAR: /* 3 */ - elm_grid_clear(dt->grid, EINA_TRUE); - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_grid) -{ - Evas_Object *bg, *gd, *bt, *rc, *en; - Api_Data *dt = malloc(sizeof(Api_Data)); - api->data = dt; - api->free_data = 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); - - gd = elm_grid_add(win); - elm_grid_size_set(gd, 100, 100); - elm_win_resize_object_add(win, gd); - evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - dt->grid = gd; - evas_object_show(gd); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_entry_set(en, "Entry text"); - elm_entry_single_line_set(en, 1); - elm_grid_pack(gd, en, 50, 10, 40, 10); - evas_object_show(en); - - en = elm_entry_add(win); - elm_entry_scrollable_set(en, EINA_TRUE); - elm_entry_entry_set(en, "Entry text 2"); - elm_entry_single_line_set(en, 1); - elm_grid_pack(gd, en, 60, 20, 30, 10); - evas_object_show(en); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_grid_pack(gd, api->bt, 30, 0, 40, 10); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - elm_grid_pack(gd, bt, 0, 0, 20, 20); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - elm_grid_pack(gd, bt, 10, 10, 40, 20); - dt->child = bt; - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - elm_grid_pack(gd, bt, 10, 30, 20, 50); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - elm_grid_pack(gd, bt, 80, 80, 20, 20); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Change"); - elm_grid_pack(gd, bt, 40, 40, 20, 20); - evas_object_smart_callback_add(bt, "clicked", _ch_grid, gd); - evas_object_show(bt); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 128, 0, 0, 128); - elm_grid_pack(gd, rc, 40, 70, 20, 10); - evas_object_show(rc); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 128, 0, 128); - elm_grid_pack(gd, rc, 60, 70, 10, 10); - evas_object_show(rc); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 0, 0, 128, 128); - elm_grid_pack(gd, rc, 40, 80, 10, 10); - evas_object_show(rc); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 128, 0, 128, 128); - elm_grid_pack(gd, rc, 50, 80, 10, 10); - evas_object_show(rc); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_color_set(rc, 128, 64, 0, 128); - elm_grid_pack(gd, rc, 60, 80, 10, 10); - evas_object_show(rc); - - evas_object_resize(win, 480, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_hover.c b/src/bin/test_hover.c deleted file mode 100644 index 74cd9ec..0000000 --- a/src/bin/test_hover.c +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include "tsuite.h" -static void -my_hover_bt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *hv = data; - - evas_object_show(hv); -} - -TEST_START(test_hover) -{ - Evas_Object *bg, *bx, *bt, *hv, *ic; - char buf[PATH_MAX]; - - 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); - - hv = elm_hover_add(win); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - evas_object_smart_callback_add(bt, "clicked", my_hover_bt, hv); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_hover_parent_set(hv, win); - elm_hover_target_set(hv, bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popup"); - elm_hover_content_set(hv, "middle", bt); - evas_object_show(bt); - - bx = elm_box_add(win); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 1"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 2"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 3"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_show(bx); - elm_hover_content_set(hv, "top", bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Bottom"); - elm_hover_content_set(hv, "bottom", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Left"); - elm_hover_content_set(hv, "left", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Right"); - elm_hover_content_set(hv, "right", bt); - evas_object_show(bt); - - 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); -} -TEST_END - -TEST_START(test_hover2) -{ - Evas_Object *bg, *bx, *bt, *hv, *ic; - char buf[PATH_MAX]; - - 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); - - hv = elm_hover_add(win); - elm_object_style_set(hv, "popout"); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button"); - evas_object_smart_callback_add(bt, "clicked", my_hover_bt, hv); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_hover_parent_set(hv, win); - elm_hover_target_set(hv, bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popup"); - elm_hover_content_set(hv, "middle", bt); - evas_object_show(bt); - - bx = elm_box_add(win); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 1"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 2"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - bt = elm_button_add(win); - elm_object_text_set(bt, "Top 3"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(bx); - elm_hover_content_set(hv, "top", bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Bot"); - elm_hover_content_set(hv, "bottom", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Left"); - elm_hover_content_set(hv, "left", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Right"); - elm_hover_content_set(hv, "right", bt); - evas_object_show(bt); - - 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); -} -TEST_END diff --git a/src/bin/test_hoversel.c b/src/bin/test_hoversel.c deleted file mode 100644 index 832ee0f..0000000 --- a/src/bin/test_hoversel.c +++ /dev/null @@ -1,190 +0,0 @@ -#include -#include "tsuite.h" -enum _api_state -{ - HOVERSEL_HORIZ, - HOVERSEL_END, - HOVERSEL_LABAL_SET, - HOVERSEL_ICON_UNSET, - HOVERSEL_CLEAR_OPEN, - HOVERSEL_CLEAR, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - const Eina_List *items = elm_box_children_get(api->data); - if(!eina_list_count(items)) - return; - - /* use elm_box_children_get() to get list of children */ - switch(api->state) - { /* Put all api-changes under switch */ - case HOVERSEL_HORIZ: /* Make first hover horiz (0) */ - elm_hoversel_horizontal_set(eina_list_nth(items, 0), EINA_TRUE); - elm_hoversel_hover_begin(eina_list_nth(items, 0)); - break; - - case HOVERSEL_END: /* Make first hover horiz (1) */ - elm_hoversel_hover_begin(eina_list_nth(items, 1)); - elm_hoversel_hover_end(eina_list_nth(items, 1)); - break; - - case HOVERSEL_LABAL_SET: /* set second hover label (2) */ - elm_object_text_set(eina_list_nth(items, 1), "Label from API"); - break; - - case HOVERSEL_ICON_UNSET: /* 3 */ - elm_object_text_set(eina_list_nth(items, 5), "Label only"); - elm_object_part_content_unset(eina_list_nth(items, 5), "icon"); - break; - - case HOVERSEL_CLEAR_OPEN: /* 4 */ - elm_hoversel_hover_begin(eina_list_nth(items, 1)); - elm_hoversel_clear(eina_list_nth(items, 1)); - break; - - case HOVERSEL_CLEAR: /* 5 */ - elm_hoversel_clear(eina_list_nth(items, 0)); - break; - - case API_STATE_LAST: - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_hoversel) -{ - Evas_Object *bg, *bx, *bxx, *bt, *ic; - char buf[PATH_MAX]; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - api->data = bx; - evas_object_show(bx); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, bx); - - bt = elm_hoversel_add(win); -// FIXME: need to add horizontal hoversel theme to default some day -// elm_hoversel_horizontal_set(bt, 1); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "Labels"); - elm_hoversel_item_add(bt, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 3", NULL, ELM_ICON_NONE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 4 - Long Label Here", NULL, ELM_ICON_NONE, NULL, NULL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_hoversel_add(win); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "Some Icons"); - elm_hoversel_item_add(bt, "Item 1", NULL, ELM_ICON_NONE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 2", NULL, ELM_ICON_NONE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_hoversel_add(win); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "All Icons"); - elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 2", "arrow_down", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_hoversel_add(win); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "All Icons"); - elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_hoversel_item_add(bt, "Item 2", buf, ELM_ICON_FILE, NULL, NULL); - elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_hoversel_add(win); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "Disabled Hoversel"); - elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 2", "close", ELM_ICON_STANDARD, NULL, NULL); - elm_object_disabled_set(bt, 1); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_hoversel_add(win); - elm_hoversel_hover_parent_set(bt, win); - elm_object_text_set(bt, "Icon + Label"); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_object_part_content_set(bt, "icon", ic); - evas_object_show(ic); - - elm_hoversel_item_add(bt, "Item 1", "apps", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 2", "arrow_down", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 3", "home", ELM_ICON_STANDARD, NULL, NULL); - elm_hoversel_item_add(bt, "Item 4", "close", ELM_ICON_STANDARD, NULL, NULL); - evas_object_size_hint_weight_set(bt, 0.0, 0.0); - evas_object_size_hint_align_set(bt, 0.5, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_resize(win, 320, 300); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_icon.c b/src/bin/test_icon.c deleted file mode 100644 index 66785cf..0000000 --- a/src/bin/test_icon.c +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include "tsuite.h" - -static void -icon_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("clicked!\n"); -} - -TEST_START(test_icon) -{ - Evas_Object *ic; - char buf[PATH_MAX]; - - elm_win_alpha_set(win, 1); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - elm_icon_no_scale_set(ic, 1); - evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(ic, 0.5, 0.5); - elm_win_resize_object_add(win, ic); - evas_object_show(ic); - - evas_object_smart_callback_add(ic, "clicked", icon_clicked, NULL); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_icon_desktops.c b/src/bin/test_icon_desktops.c deleted file mode 100644 index 1746f07..0000000 --- a/src/bin/test_icon_desktops.c +++ /dev/null @@ -1,98 +0,0 @@ -#include -#include "tsuite.h" -static Elm_Genlist_Item_Class it_desk; - -static char * -desk_gl_label_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ -#ifdef ELM_EFREET - Efreet_Desktop *d = (Efreet_Desktop *)data; - return strdup(d->name); -#else - return NULL; - (void)data; -#endif -} -static Evas_Object * -desk_gl_content_get(void *data, Evas_Object *obj, const char *part) -{ -#ifdef ELM_EFREET - Efreet_Desktop *d = (Efreet_Desktop *)data; - Evas_Object *ic; - - ic = elm_icon_add(obj); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - if (!(!strcmp(part, "elm.swallow.icon"))) return ic; - if (!d->icon) return ic; - elm_icon_standard_set(ic, d->icon); - return ic; -#else - return NULL; - (void)data; - (void)obj; - (void)part; -#endif -} -static void -desk_gl_del(void *data, Evas_Object *obj __UNUSED__) -{ -#ifdef ELM_EFREET - Efreet_Desktop *d = (Efreet_Desktop *)data; - efreet_desktop_free(d); -#else - return; - (void)data; -#endif -} - -#ifdef ELM_EFREET -static void -desktop_sel(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("sel\n"); -} -#endif - -TEST_START(test_icon_desktops) -{ - Evas_Object *bg, *gl; -#ifdef ELM_EFREET - Eina_List *desktops; -#endif - - 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); - - it_desk.item_style = "default"; - it_desk.func.label_get = desk_gl_label_get; - it_desk.func.content_get = desk_gl_content_get; - it_desk.func.state_get = NULL; - it_desk.func.del = desk_gl_del; - - gl = elm_genlist_add(win); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, gl); - evas_object_show(gl); - -#ifdef ELM_EFREET - if (elm_need_efreet()) - { - desktops = efreet_util_desktop_name_glob_list("*"); - if (desktops) - { - Efreet_Desktop *d; - - EINA_LIST_FREE(desktops, d) - elm_genlist_item_append(gl, &it_desk, d, - NULL, ELM_GENLIST_ITEM_NONE, - desktop_sel, NULL); - } - } -#endif - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_index.c b/src/bin/test_index.c deleted file mode 100644 index b6a297a..0000000 --- a/src/bin/test_index.c +++ /dev/null @@ -1,350 +0,0 @@ -#include -#include "tsuite.h" - -static Elm_Genlist_Item_Class itci; -char *gli_text_get(void *data, Evas_Object *obj __UNUSED__, const char *part __UNUSED__) -{ - char buf[256]; - int j = (long)data; - snprintf(buf, sizeof(buf), "%c%c", - 'A' + ((j >> 4) & 0xf), - 'a' + ((j ) & 0xf) - ); - return strdup(buf); -} - -void -index_changed2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - // called on a change but delayed in case multiple changes happen in a - // short timespan - elm_genlist_item_top_bring_in(elm_index_item_data_get(event_info)); -} - -void -index_changed(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - // this is calld on every change, no matter how often - // elm_genlist_item_bring_in(event_info); -} - -void -index_selected(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - // called on final select - elm_genlist_item_top_bring_in(elm_index_item_data_get(event_info)); -} - -struct _Idx_Data_Type -{ - Evas_Object *id; /* Pointer to Index */ - Elm_Object_Item *item; /* Item we use for search */ -}; -typedef struct _Idx_Data_Type Idx_Data_Type; - -enum _api_state -{ - INDEX_LEVEL_SET, - INDEX_ACTIVE_SET, - INDEX_APPEND_RELATIVE, - INDEX_PREPEND, - INDEX_ITEM_DEL, - INDEX_ITEM_FIND, - INDEX_CLEAR, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - Idx_Data_Type *d = api->data; - switch(api->state) - { /* Put all api-changes under switch */ - case INDEX_LEVEL_SET: /* 0 */ - elm_index_active_set(d->id, EINA_TRUE); - elm_index_item_level_set(d->id, (elm_index_item_level_get(d->id) ? 0 : 1)); - break; - - case INDEX_ACTIVE_SET: /* 1 */ - elm_index_active_set(d->id, EINA_FALSE); - break; - - case INDEX_APPEND_RELATIVE: /* 2 */ - elm_index_item_append_relative(d->id, "W", d->item, elm_index_item_find(d->id, d->item)); - break; - - case INDEX_PREPEND: /* 3 */ - elm_index_item_prepend(d->id, "D", d->item); - break; - - case INDEX_ITEM_DEL: /* 4 */ - elm_index_item_del(d->id, elm_index_item_find(d->id, d->item)); - break; - - case INDEX_ITEM_FIND: /* 5 */ - { - Elm_Object_Item *i = elm_index_item_find(d->id, d->item); - if(i) - { - printf("Item Find - Found Item.\n"); - elm_index_item_del(d->id, i); - } - } - break; - - case INDEX_CLEAR: /* 6 */ - elm_index_item_clear(d->id); - break; - - case API_STATE_LAST: - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_index) -{ - Evas_Object *bg, *bxx, *gl, *id; - Elm_Object_Item *glit; - int i, j; - Idx_Data_Type *dt = malloc(sizeof(Idx_Data_Type)); - api->data = dt; - api->free_data = 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - gl = elm_genlist_add(win); - evas_object_size_hint_weight_set(gl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(gl); - - dt->id = id = elm_index_add(win); - evas_object_size_hint_weight_set(id, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(id, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_win_resize_object_add(win, id); - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, gl); - - evas_object_show(id); - - itci.item_style = "default"; - itci.func.text_get = gli_text_get; - itci.func.content_get = NULL; - itci.func.state_get = NULL; - itci.func.del = NULL; - - j = 0; - for (i = 0; i < 100; i++) - { - glit = elm_genlist_item_append(gl, &itci, - (void *)(long)j/* item data */, - NULL/* parent */, - ELM_GENLIST_ITEM_NONE, - NULL/* func */, NULL/* func data */); - if (!(j & 0xf)) - { - char buf[32]; - - snprintf(buf, sizeof(buf), "%c", 'A' + ((j >> 4) & 0xf)); - elm_index_item_append(id, buf, glit); - } - j += 2; - } - evas_object_smart_callback_add(id, "delay,changed", index_changed2, NULL); - evas_object_smart_callback_add(id, "changed", index_changed, NULL); - evas_object_smart_callback_add(id, "selected", index_selected, NULL); - elm_index_item_go(id, 0); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END - -/***********/ - -typedef struct _Test_Index2_Elements -{ - Evas_Object *entry, *lst, *id; -} Test_Index2_Elements; - -void -test_index2_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - /* FIXME it won't be called if elm_test main window is closed */ - free(data); -} - -int -test_index2_cmp(const void *data1, const void *data2) -{ - const char *label1, *label2; - const Elm_Object_Item *list_it1 = data1; - const Elm_Object_Item *list_it2 = data2; - - label1 = elm_list_item_label_get(list_it1); - label2 = elm_list_item_label_get(list_it2); - - return strcasecmp(label1, label2); -} - -int -test_index2_icmp(const void *data1, const void *data2) -{ - const char *label1, *label2; - const Elm_Object_Item *index_it1 = data1; - const Elm_Object_Item *index_it2 = data2; - - label1 = elm_index_item_letter_get(index_it1); - label2 = elm_index_item_letter_get(index_it2); - - return strcasecmp(label1, label2); -} - -void -test_index2_it_add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Test_Index2_Elements *gui = data; - Elm_Object_Item *list_it; - const char *label; - char letter[2]; - - label = elm_entry_entry_get(gui->entry); - snprintf(letter, sizeof(letter), "%c", label[0]); - list_it = elm_list_item_sorted_insert(gui->lst, label, NULL, NULL, NULL, - NULL, test_index2_cmp); - elm_index_item_sorted_insert(gui->id, letter, list_it, test_index2_icmp, - test_index2_cmp); - elm_list_go(gui->lst); - /* FIXME it's not showing the recently added item */ - elm_list_item_show(list_it); -} - -void -test_index2_it_del(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Test_Index2_Elements *gui = data; - const char *label, *label_next; - Elm_Object_Item *lit, *lit_next; - - lit = elm_list_selected_item_get(obj); - lit_next = elm_list_item_next(lit); - - if (!lit_next) - { - elm_index_item_del(gui->id, elm_index_item_find(gui->id, lit)); - elm_list_item_del(lit); - return; - } - - label = elm_list_item_label_get(lit); - label_next = elm_list_item_label_get(lit_next); - - if (label[0] == label_next[0]) - { - Elm_Object_Item *iit; - iit = elm_index_item_find(gui->id, lit); - elm_index_item_data_set(iit, lit_next); - } - else - elm_index_item_del(gui->id, elm_index_item_find(gui->id, lit)); - - elm_list_item_del(lit); -} - -void -test_index2_id_changed(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - elm_list_item_show(event_info); -} - -TEST_START(test_index2) -{ - Evas_Object *bg, *box, *bt; - Test_Index2_Elements *gui; - - gui = malloc(sizeof(*gui)); - - evas_object_smart_callback_add(win, "delete,request", test_index2_del, gui); - - 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); - - 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); - - gui->id = elm_index_add(win); - evas_object_size_hint_weight_set(gui->id, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, gui->id); - evas_object_smart_callback_add(gui->id, "delay,changed", - test_index2_id_changed, NULL); - evas_object_show(gui->id); - - gui->entry = elm_entry_add(win); - elm_entry_scrollable_set(gui->entry, EINA_TRUE); - elm_entry_entry_set(gui->entry, "Label"); - elm_entry_single_line_set(gui->entry, EINA_TRUE); - evas_object_size_hint_weight_set(gui->entry, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_fill_set(gui->entry, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(box, gui->entry); - evas_object_show(gui->entry); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Add"); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(box, bt); - evas_object_smart_callback_add(bt, "clicked", test_index2_it_add, gui); - evas_object_show(bt); - - gui->lst = elm_list_add(win); - elm_box_pack_end(box, gui->lst); - evas_object_size_hint_weight_set(gui->lst, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(gui->lst, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(gui->lst, "selected", test_index2_it_del, - gui); - elm_list_go(gui->lst); - evas_object_show(gui->lst); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_inwin.c b/src/bin/test_inwin.c deleted file mode 100644 index 476324c..0000000 --- a/src/bin/test_inwin.c +++ /dev/null @@ -1,114 +0,0 @@ -#include -#include "tsuite.h" - -enum _api_state -{ - CONTENT_UNSET, - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ - Evas_Object *t; - switch(api->state) - { - case CONTENT_UNSET: - t = elm_win_inwin_content_unset(api->data); - evas_object_del(t); - t = elm_label_add(elm_object_parent_widget_get(api->data)); - elm_object_text_set(t, "Content was unset.
DONE!"); - elm_win_inwin_content_set(api->data, t); - evas_object_show(t); - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_inwin) -{ - Evas_Object *bg, *bxx, *inwin, *lb; - - 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); - - inwin = elm_win_inwin_add(win); - api->data = inwin; - evas_object_show(inwin); - - bxx = elm_box_add(inwin); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - api->bt = elm_button_add(inwin); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is an \"inwin\" - a window in a
" - "window. This is handy for quick popups
" - "you want centered, taking over the window
" - "until dismissed somehow. Unlike hovers they
" - "don't hover over their target."); - elm_box_pack_end(bxx, lb); - elm_win_inwin_content_set(inwin, bxx); - evas_object_show(lb); - - evas_object_resize(win, 320, 240); - evas_object_show(win); -} -TEST_END - -TEST_START(test_inwin2) -{ - Evas_Object *bg, *inwin, *lb; - - 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); - - inwin = elm_win_inwin_add(win); - elm_object_style_set(inwin, "minimal_vertical"); - evas_object_show(inwin); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is an \"inwin\" - a window in a
" - "window. This is handy for quick popups
" - "you want centered, taking over the window
" - "until dismissed somehow. Unlike hovers they
" - "don't hover over their target.
" - "
" - "This inwin style compacts itself vertically
" - "to the size of its contents minimum size."); - elm_win_inwin_content_set(inwin, lb); - evas_object_show(lb); - - evas_object_resize(win, 320, 240); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_label.c b/src/bin/test_label.c deleted file mode 100644 index e7228a8..0000000 --- a/src/bin/test_label.c +++ /dev/null @@ -1,68 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_label) -{ - Evas_Object *bg, *bx, *lb; - - 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); - evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is a small label" - ); - evas_object_size_hint_weight_set(lb, 0.0, 0.0); - evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is a larger label with newlines
" - "to make it bigger, bit it won't expand or wrap
" - "just be a block of text that can't change its
" - "formatting as it's fixed based on text
" - ); - evas_object_size_hint_weight_set(lb, 0.0, 0.0); - evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - lb = elm_label_add(win); - elm_label_line_wrap_set(lb, ELM_WRAP_CHAR); - elm_object_text_set(lb, - "" - "This is more text designed to line-wrap here as " - "This object is resized horizontally. As it is " - "resized vertically though, nothing should change. " - "The amount of space allocated vertically should " - "change as horizontal size changes." - "" - ); - evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This small label set to wrap" - ); - evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - evas_object_resize(win, 320, 300); - - evas_object_show(bx); - evas_object_show(win); - elm_win_resize_object_add(win, bx); -} -TEST_END diff --git a/src/bin/test_launcher.c b/src/bin/test_launcher.c deleted file mode 100644 index 4705765..0000000 --- a/src/bin/test_launcher.c +++ /dev/null @@ -1,906 +0,0 @@ -#include -#include "tsuite.h" - -static void -mode_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - if (elm_mapbuf_enabled_get(mb)) - elm_mapbuf_enabled_set(mb, 0); - else - elm_mapbuf_enabled_set(mb, 1); - } -} - -static void -full_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - elm_win_fullscreen_set(win, !elm_win_fullscreen_get(win)); -} - -static void -alpha_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - elm_mapbuf_alpha_set(mb, elm_check_state_get(obj)); - } -} - -static void -smooth_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - elm_mapbuf_smooth_set(mb, elm_check_state_get(obj)); - } -} - -static void -close_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - evas_object_del(data); -} - -static Eina_Bool -tim_cb(void *data) -{ - Evas_Object *tb, *sc, *mb; - Eina_List *list, *l; - - evas_object_data_del(data, "timer"); - tb = evas_object_data_get(data, "tb"); - sc = evas_object_data_get(data, "sc"); - elm_object_scroll_freeze_push(sc); - evas_object_data_set(data, "dragging", (void *)(long)(1)); - evas_object_color_set(data, 255, 255, 255, 255); - list = (Eina_List *)evas_object_data_get - (elm_object_top_widget_get(data), "mbs"); - EINA_LIST_FOREACH(list, l, mb) - evas_object_color_set(mb, 128, 128, 128, 128); - elm_table_unpack(tb, data); - return EINA_FALSE; -} - -static void -ic_del_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Ecore_Timer *tim; - - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } -} - -static void -ic_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Down *ev = event_info; - Ecore_Timer *tim; - Evas_Coord x, y, w, h; - - evas_object_color_set(data, 128, 0, 0, 128); - - tim = evas_object_data_get(obj, "timer"); - if (tim) evas_object_data_del(obj, "timer"); - tim = ecore_timer_add(1.0, tim_cb, obj); - evas_object_data_set(obj, "timer", tim); - - evas_object_geometry_get(data, &x, &y, &w, &h); - evas_object_data_set(obj, "x", (void *)(long)(ev->canvas.x)); - evas_object_data_set(obj, "y", (void *)(long)(ev->canvas.y)); - evas_object_data_set(obj, "px", (void *)(long)(x)); - evas_object_data_set(obj, "py", (void *)(long)(y)); - - if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) - { - printf("double click %p\n", obj); - } -} - -static void -ic_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Up *ev = event_info; - Ecore_Timer *tim; - - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; - evas_object_color_set(data, 255, 255, 255, 255); - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } - if (evas_object_data_get(obj, "dragging")) - { - Evas_Object *tb, *sc, *mb; - Eina_List *list, *l; - int tbx, tby; - - evas_object_data_del(obj, "dragging"); - tb = evas_object_data_get(obj, "tb"); - sc = evas_object_data_get(obj, "sc"); - elm_object_scroll_freeze_pop(sc); - tbx = (int)(long)evas_object_data_get(obj, "tbx"); - tby = (int)(long)evas_object_data_get(obj, "tby"); - elm_table_pack(tb, obj, tbx, tby, 1, 1); - list = (Eina_List *)evas_object_data_get - (elm_object_top_widget_get(obj), "mbs"); - EINA_LIST_FOREACH(list, l, mb) - evas_object_color_set(mb, 255, 255, 255, 255); - } -} - -static void -ic_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Move *ev = event_info; - if (evas_object_data_get(obj, "dragging")) - { - Evas_Coord x, y, px, py; - - x = (Evas_Coord)(long)evas_object_data_get(obj, "x"); - y = (Evas_Coord)(long)evas_object_data_get(obj, "y"); - px = (Evas_Coord)(long)evas_object_data_get(obj, "px"); - py = (Evas_Coord)(long)evas_object_data_get(obj, "py"); - evas_object_move(obj, - px + ev->cur.canvas.x - x, - py + ev->cur.canvas.y - y); - } - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) - { - Ecore_Timer *tim; - - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } - evas_object_color_set(data, 255, 255, 255, 255); - return; - } -} - -TEST_START(test_launcher) -{ - Evas_Object *bg, *sc, *tb, *pad, *bt, *ic, *lb, *tb2, *mb, *ck, *bx, *bx2; - int i, j, k, n, m; - char buf[PATH_MAX]; - const char *names[] = - { - "Hello", "World", "Spam", "Egg", - "Ham", "Good", "Bad", "Milk", - "Smell", "Of", "Sky", "Gold", - "Hole", "Pig", "And", "Calm" - }; - Eina_List *mbs = NULL; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, bg); - evas_object_show(bg); - - bx = elm_box_add(win); - elm_box_homogeneous_set(bx, EINA_TRUE); - elm_box_horizontal_set(bx, EINA_TRUE); - - sc = elm_scroller_add(win); - elm_scroller_bounce_set(sc, 1, 0); - elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); - - n = 0; m = 0; - for (k = 0 ; k < 8; k++) - { - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, 0.5, 0.5); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 470, 4); - evas_object_size_hint_weight_set(pad, 0.0, 0.0); - evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, pad, 1, 0, 5, 1); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 470, 4); - evas_object_size_hint_weight_set(pad, 0.0, 0.0); - evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, pad, 1, 11, 5, 1); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 4, 4); - evas_object_size_hint_weight_set(pad, 0.0, 0.0); - evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, pad, 0, 1, 1, 10); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 4, 4); - evas_object_size_hint_weight_set(pad, 0.0, 0.0); - evas_object_size_hint_align_set(pad, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, pad, 6, 1, 1, 10); - - mb = elm_mapbuf_add(win); - elm_object_content_set(mb, tb); - evas_object_show(tb); - - for (j = 0; j < 5; j++) - { - for (i = 0; i < 5; i++) - { - ic = elm_icon_add(win); - elm_object_scale_set(ic, 0.5); - snprintf(buf, sizeof(buf), "%s/images/icon_%02i.png", elm_app_data_dir_get(), n); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_table_pack(tb, ic, 1 + i, 1 + (j * 2), 1, 1); - evas_object_show(ic); - - lb = elm_label_add(win); - elm_object_style_set(lb, "marker"); - elm_object_text_set(lb, names[m]); - evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(lb, 0.5, 0.5); - elm_table_pack(tb, lb, 1 + i, 1 + (j * 2) + 1, 1, 1); - evas_object_show(lb); - - evas_object_event_callback_add(ic, EVAS_CALLBACK_DEL, ic_del_cb, ic); - - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_DOWN, ic_down_cb, ic); - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_UP, ic_up_cb, ic); - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_MOVE, ic_move_cb, ic); - - evas_object_data_set(ic, "lb", lb); - evas_object_data_set(ic, "tb", tb); - evas_object_data_set(ic, "sc", sc); - evas_object_data_set(ic, "bx", bx); - evas_object_data_set(ic, "mb", mb); - evas_object_data_set(ic, "tbx", (void *)(long)(1 + i)); - evas_object_data_set(ic, "tby", (void *)(long)(1 + (j * 2))); - - n++; if (n > 23) n = 0; - m++; if (m > 15) m = 0; - } - } - - elm_box_pack_end(bx, mb); - evas_object_show(mb); - - mbs = eina_list_append(mbs, mb); - } - - // fixme: free mbs - evas_object_data_set(win, "mbs", mbs); - - bx2 = elm_box_add(win); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(bx2, EINA_FALSE); - elm_win_resize_object_add(win, bx2); - evas_object_show(bx2); - - elm_object_content_set(sc, bx); - evas_object_show(bx); - - elm_scroller_page_relative_set(sc, 1.0, 1.0); - evas_object_show(sc); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_fill_set(tb2, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx2, tb2); - - elm_box_pack_end(bx2, sc); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Map"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", mode_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.05, 0.99); - elm_table_pack(tb2, ck, 0, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "A"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", alpha_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.20, 0.99); - elm_table_pack(tb2, ck, 1, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Smo"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", smooth_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.40, 0.99); - elm_table_pack(tb2, ck, 2, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "FS"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", full_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.5, 0.99); - elm_table_pack(tb2, ck, 3, 0, 1, 1); - evas_object_show(ck); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", close_cb, win); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.95, 0.99); - elm_table_pack(tb2, bt, 4, 0, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END - -TEST_START(test_launcher2) -{ - Evas_Object *bg, *sc, *bt, *tb2, *mb, *ck, *bx, *ly; - int k; - char buf[PATH_MAX]; - Eina_List *mbs = NULL; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, bg); - evas_object_show(bg); - - bx = elm_box_add(win); - elm_box_homogeneous_set(bx, EINA_TRUE); - elm_box_horizontal_set(bx, EINA_TRUE); - - for (k = 0 ; k < 8; k++) - { - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "layout"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - elm_object_part_content_set(ly, "element1", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - elm_object_part_content_set(ly, "element2", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - elm_object_part_content_set(ly, "element3", bt); - evas_object_show(bt); - - mb = elm_mapbuf_add(win); - elm_object_content_set(mb, ly); - evas_object_show(ly); - - elm_box_pack_end(bx, mb); - evas_object_show(mb); - - mbs = eina_list_append(mbs, mb); - } - - // fixme: free mbs - evas_object_data_set(win, "mbs", mbs); - - sc = elm_scroller_add(win); - elm_scroller_bounce_set(sc, 1, 0); - elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, sc); - - elm_object_content_set(sc, bx); - evas_object_show(bx); - - elm_scroller_page_relative_set(sc, 1.0, 1.0); - evas_object_show(sc); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, tb2); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Map"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", mode_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.05, 0.99); - elm_table_pack(tb2, ck, 0, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "A"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", alpha_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.20, 0.99); - elm_table_pack(tb2, ck, 1, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Smo"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", smooth_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.40, 0.99); - elm_table_pack(tb2, ck, 2, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "FS"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", full_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.5, 0.99); - elm_table_pack(tb2, ck, 3, 0, 1, 1); - evas_object_show(ck); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", close_cb, win); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.95, 0.99); - elm_table_pack(tb2, bt, 4, 0, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END - -static void -l3_mode_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - if (elm_mapbuf_enabled_get(mb)) - elm_mapbuf_enabled_set(mb, 0); - else - elm_mapbuf_enabled_set(mb, 1); - } -} - -static void -l3_full_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - elm_win_fullscreen_set(win, !elm_win_fullscreen_get(win)); -} - -static void -l3_alpha_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - elm_mapbuf_alpha_set(mb, elm_check_state_get(obj)); - } -} - -static void -l3_smooth_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - elm_mapbuf_smooth_set(mb, elm_check_state_get(obj)); - } -} - -static void -l3_hidden_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *mb; - Eina_List *mbs, *l; - - mbs = evas_object_data_get(win, "mbs"); - EINA_LIST_FOREACH(mbs, l, mb) - { - if (evas_object_visible_get(mb)) evas_object_hide(mb); - else evas_object_show(mb); - } -} - -static void -l3_close_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - evas_object_del(data); -} - -static Eina_Bool -l3_tim_cb(void *data) -{ - Evas_Object *ly, *ly2, *sc, *mb; - Eina_List *list, *l; - char buf[256]; - int slx, sly; - - evas_object_data_del(data, "timer"); - ly = evas_object_data_get(data, "ly"); - ly2 = evas_object_data_get(data, "ly2"); - sc = evas_object_data_get(data, "sc"); - elm_object_scroll_freeze_push(sc); - evas_object_data_set(data, "dragging", (void *)(long)1); - evas_object_color_set(data, 255, 255, 255, 255); - list = (Eina_List *)evas_object_data_get - (elm_object_top_widget_get(data), "mbs"); - EINA_LIST_FOREACH(list, l, mb) - evas_object_color_set(mb, 128, 128, 128, 128); - slx = (int)(long)evas_object_data_get(data, "slx"); - sly = (int)(long)evas_object_data_get(data, "sly"); - snprintf(buf, sizeof(buf), "slot.%i.%i", slx, sly); - elm_object_content_part_unset(ly, buf); - edje_object_signal_emit(elm_layout_edje_get(ly2), "drag", "app"); - return EINA_FALSE; -} - -static void -l3_ic_del_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Ecore_Timer *tim; - - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } -} - -static void -l3_ic_down_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Down *ev = event_info; - Ecore_Timer *tim; - Evas_Coord x, y, w, h; - Evas_Object *ly2; - - tim = evas_object_data_get(obj, "timer"); - if (tim) evas_object_data_del(obj, "timer"); - tim = ecore_timer_add(1.0, l3_tim_cb, obj); - evas_object_data_set(obj, "timer", tim); - - ly2 = evas_object_data_get(obj, "ly2"); - evas_object_geometry_get(ly2, &x, &y, &w, &h); - evas_object_data_set(obj, "x", (void *)(long)(ev->canvas.x)); - evas_object_data_set(obj, "y", (void *)(long)(ev->canvas.y)); - evas_object_data_set(obj, "px", (void *)(long)(x)); - evas_object_data_set(obj, "py", (void *)(long)(y)); - - edje_object_signal_emit(elm_layout_edje_get(ly2), "click", "app"); - - if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) - { - printf("double click %p\n", obj); - } -} - -static void -l3_ic_up_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Up *ev = event_info; - Ecore_Timer *tim; - Evas_Object *ly2; - - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; - - ly2 = evas_object_data_get(obj, "ly2"); - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } - if (evas_object_data_get(obj, "dragging")) - { - Evas_Object *ly, *sc, *mb; - Eina_List *list, *l; - int slx, sly; - char buf[256]; - - evas_object_data_del(obj, "dragging"); - ly = evas_object_data_get(obj, "ly"); - sc = evas_object_data_get(obj, "sc"); - elm_object_scroll_freeze_pop(sc); - slx = (int)(long)evas_object_data_get(obj, "slx"); - sly = (int)(long)evas_object_data_get(obj, "sly"); - snprintf(buf, sizeof(buf), "slot.%i.%i", slx, sly); - elm_object_part_content_set(ly, buf, ly2); - list = (Eina_List *)evas_object_data_get - (elm_object_top_widget_get(obj), "mbs"); - EINA_LIST_FOREACH(list, l, mb) - evas_object_color_set(mb, 255, 255, 255, 255); - edje_object_signal_emit(elm_layout_edje_get(ly2), "drop", "app"); - } - else - edje_object_signal_emit(elm_layout_edje_get(ly2), "unclick", "app"); -} - -static void -l3_ic_move_cb(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info) -{ - Evas_Event_Mouse_Move *ev = event_info; - Evas_Object *ly2; - - ly2 = evas_object_data_get(obj, "ly2"); - - if (evas_object_data_get(obj, "dragging")) - { - Evas_Coord x, y, px, py; - - x = (Evas_Coord)(long)evas_object_data_get(obj, "x"); - y = (Evas_Coord)(long)evas_object_data_get(obj, "y"); - px = (Evas_Coord)(long)evas_object_data_get(obj, "px"); - py = (Evas_Coord)(long)evas_object_data_get(obj, "py"); - evas_object_move(ly2, - px + ev->cur.canvas.x - x, - py + ev->cur.canvas.y - y); - } - if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) - { - Ecore_Timer *tim; - - tim = evas_object_data_get(obj, "timer"); - if (tim) - { - evas_object_data_del(obj, "timer"); - ecore_timer_del(tim); - } - edje_object_signal_emit(elm_layout_edje_get(ly2), "cancel", "app"); - return; - } -} - -TEST_START(test_launcher3) -{ - Evas_Object *bg, *sc, *tb, *pad, *bt, *ic, *tb2, *mb, *ck, *bx, *bx2, *ly, *ly2; - int i, j, k, n, m; - char buf[PATH_MAX]; - const char *names[] = - { - "Hello", "World", "Spam", "Egg", - "Ham", "Good", "Bad", "Milk", - "Smell", "Of", "Sky", "Gold", - "Hole", "Pig", "And", "Calm" - }; - Eina_List *mbs = NULL; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/sky_04.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, bg); - evas_object_show(bg); - - 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); - elm_box_homogeneous_set(bx, EINA_TRUE); - elm_box_horizontal_set(bx, EINA_TRUE); - - sc = elm_scroller_add(win); - elm_scroller_bounce_set(sc, 1, 0); - elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); - - n = 0; m = 0; - for (k = 0 ; k < 8; k++) - { - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 450, 10); - elm_table_pack(tb, pad, 1, 0, 1, 1); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 450, 10); - elm_table_pack(tb, pad, 1, 2, 1, 1); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 10, 450); - elm_table_pack(tb, pad, 0, 1, 1, 1); - - pad = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(pad, 10, 450); - elm_table_pack(tb, pad, 2, 1, 1, 1); - - mb = elm_mapbuf_add(win); - mbs = eina_list_append(mbs, mb); - - elm_object_content_set(mb, tb); - evas_object_show(tb); - elm_box_pack_end(bx, mb); - evas_object_show(mb); - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "launcher_page"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, ly, 1, 1, 1, 1); - evas_object_show(ly); - - for (j = 0; j < 4; j++) - { - for (i = 0; i < 4; i++) - { - ly2 = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly2, buf, "launcher_icon"); - evas_object_size_hint_weight_set(ly2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ly2, EVAS_HINT_FILL, EVAS_HINT_FILL); - edje_object_part_text_set(elm_layout_edje_get(ly2), "label", names[m]); - - ic = elm_icon_add(win); - elm_object_scale_set(ic, 0.5); - snprintf(buf, sizeof(buf), "%s/images/icon_%02i.png", elm_app_data_dir_get(), n); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_object_part_content_set(ly2, "slot", ic); - evas_object_show(ic); - - evas_object_event_callback_add(ic, EVAS_CALLBACK_DEL, l3_ic_del_cb, ic); - - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_DOWN, l3_ic_down_cb, ic); - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_UP, l3_ic_up_cb, ic); - evas_object_event_callback_add(ic, EVAS_CALLBACK_MOUSE_MOVE, l3_ic_move_cb, ic); - - evas_object_data_set(ic, "ly", ly); - evas_object_data_set(ic, "ly2", ly2); - evas_object_data_set(ic, "sc", sc); - evas_object_data_set(ic, "bx", bx); - evas_object_data_set(ic, "mb", mb); - evas_object_data_set(ic, "slx", (void *)(long)(i)); - evas_object_data_set(ic, "sly", (void *)(long)(j)); - - snprintf(buf, sizeof(buf), "slot.%i.%i", i, j); - elm_object_part_content_set(ly, buf, ly2); - evas_object_show(ly2); - - n++; if (n > 23) n = 0; - m++; if (m > 15) m = 0; - } - } - } - - // fixme: free mbs - evas_object_data_set(win, "mbs", mbs); - - bx2 = elm_box_add(win); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(bx2, EINA_FALSE); - elm_win_resize_object_add(win, bx2); - evas_object_show(bx2); - - elm_object_content_set(sc, bx); - evas_object_show(bx); - - elm_scroller_page_relative_set(sc, 1.0, 1.0); - evas_object_show(sc); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_fill_set(tb2, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx2, tb2); - - elm_box_pack_end(bx2, sc); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Map"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", l3_mode_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.05, 0.99); - elm_table_pack(tb2, ck, 0, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "A"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", l3_alpha_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.20, 0.99); - elm_table_pack(tb2, ck, 1, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Smo"); - elm_check_state_set(ck, 1); - evas_object_smart_callback_add(ck, "changed", l3_smooth_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.40, 0.99); - elm_table_pack(tb2, ck, 2, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "FS"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", l3_full_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.5, 0.99); - elm_table_pack(tb2, ck, 3, 0, 1, 1); - evas_object_show(ck); - - ck = elm_check_add(win); - elm_object_text_set(ck, "Hid"); - elm_check_state_set(ck, 0); - evas_object_smart_callback_add(ck, "changed", l3_hidden_cb, win); - evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ck, 0.5, 0.99); - elm_table_pack(tb2, ck, 4, 0, 1, 1); - evas_object_show(ck); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", l3_close_cb, win); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.95, 0.99); - elm_table_pack(tb2, bt, 5, 0, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 480, 800); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_layout.c b/src/bin/test_layout.c deleted file mode 100644 index e731a24..0000000 --- a/src/bin/test_layout.c +++ /dev/null @@ -1,74 +0,0 @@ -#include -#include -#include "tsuite.h" -static void -_clicked_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - elm_object_part_text_set(data, "text", elm_object_text_get(obj)); -} - -TEST_START(test_layout) -{ - Evas_Object *bg, *box, *ly, *bt; - char buf[PATH_MAX]; - - 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); - - 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); - - ly = elm_layout_add(win); - elm_layout_theme_set(ly, "layout", "application", "titlebar"); - elm_object_text_set(ly, "Some title"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(box, ly); - evas_object_show(ly); - - bt = elm_icon_add(win); - elm_icon_standard_set(bt, "chat"); - evas_object_size_hint_min_set(bt, 20, 20); - elm_layout_icon_set(ly, bt); - - bt = elm_icon_add(win); - elm_icon_standard_set(bt, "close"); - evas_object_size_hint_min_set(bt, 20, 20); - elm_layout_end_set(ly, bt); - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "layout"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(box, ly); - //elm_win_resize_object_add(win, ly); - evas_object_show(ly); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - elm_object_part_content_set(ly, "element1", bt); - evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - elm_object_part_content_set(ly, "element2", bt); - evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - elm_object_part_content_set(ly, "element3", bt); - evas_object_smart_callback_add(bt, "clicked", _clicked_cb, ly); - evas_object_show(bt); - - elm_layout_part_cursor_set(ly, "text", ELM_CURSOR_WATCH); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_list.c b/src/bin/test_list.c deleted file mode 100644 index 917290a..0000000 --- a/src/bin/test_list.c +++ /dev/null @@ -1,1000 +0,0 @@ -#include -#include -#include "tsuite.h" -static void -my_show_it(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - elm_list_item_show(data); -} - -static void -scroll_top(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("Top edge!\n"); -} - -static void -scroll_bottom(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("Bottom edge!\n"); -} - -static void -scroll_left(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("Left edge!\n"); -} - -static void -scroll_right(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("Right edge!\n"); -} - -enum _api_state -{ - ITEM_PREPEND, /* 0 */ - ITEM_INSERT_BEFORE, /* 1 */ - ITEM_INSERT_AFTER, /* 2 */ - ITEM_SEPARATOR_SET, /* 3 */ - LIST_ITEM_DEL, /* 4 */ - SCROLLER_POLICY_SET_ON, - SCROLLER_POLICY_SET_OFF, /* Back to AUTO next */ - TOOLTIP_TEXT_SET, /* 7 */ - TOOLTIP_UNSET, /* 8 */ - ITEM_CURSOR_SET, /* 9 */ - ITEM_CURSOR_STYLE_SET, - DISABLED_SET, /* 11 */ - MODE_SET_COMPRESS, /* 12 */ - MODE_SET_LIMIT, /* 13 */ - MODE_SET_EXPAND, /* 14 */ - HORIZONTAL_SET, /* 15 */ - BOUNCE_SET, /* 16 */ - LIST_CLEAR, /* 17 */ - API_STATE_LAST -}; -typedef enum _api_state api_state; - -static void -set_api_state(api_data *api) -{ -/** HOW TO TEST ************************ -0 ITEM PREPEND -Scroll to end -1 INSERT BEFORE -Scroll to end -2 INSERT AFTER -3 INSERT SEPERATOR -Scroll to end -4 ITEM DEL -5 POLICY ON, BOUNCE_SET(TRUE, TRUE) -6 POLICY OFF -Scroll to end -7 TOOLTIP last-item -8 Cancel tootip -9 Curosr set on last item -10 Cursor style set last item -11 DISABLE last item -12 MODE COMPRESS -13 MODE LIMIT -14 MODE EXPAND -15 HORIZ SET -16 VERT MODE, BOUNCE(TRUE, FALSE) try to bounce on Y-axis -17 List clear -*** HOW TO TEST ***********************/ - Evas_Object *li = api->data; - - switch(api->state) - { /* Put all api-changes under switch */ - case ITEM_PREPEND: /* 0 */ - { - const Eina_List *items = elm_list_items_get(li); - elm_list_item_prepend(li, "PREPEND", NULL, NULL, NULL, NULL); - elm_list_go(li); - elm_list_item_bring_in(eina_list_nth(items, 0)); - } - break; - - case ITEM_INSERT_BEFORE: /* 1 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_insert_before(li, - eina_list_nth(items, eina_list_count(items)-1), - "1-before-last", NULL, NULL, NULL, NULL); - elm_list_go(li); - elm_list_item_bring_in(eina_list_data_get(eina_list_last(items))); - } - } - break; - - case ITEM_INSERT_AFTER: /* 2 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_insert_after(li, - eina_list_nth(items, eina_list_count(items)-2), - "insert-after", NULL, NULL, NULL, NULL); - elm_list_go(li); - elm_list_item_bring_in(eina_list_data_get(eina_list_last(items))); - } - } - break; - - case ITEM_SEPARATOR_SET: /* 3 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_separator_set(eina_list_nth(items, eina_list_count(items)/2), EINA_TRUE); - elm_list_item_bring_in(eina_list_nth(items, eina_list_count(items)/2)); - elm_list_go(li); - } - } - break; - - case LIST_ITEM_DEL: /* 4 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_del(eina_list_data_get(eina_list_last(items))); - } - } - break; - - case SCROLLER_POLICY_SET_ON: /* 5 */ - elm_list_bounce_set(li, EINA_TRUE, EINA_TRUE); - elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON); - break; - - case SCROLLER_POLICY_SET_OFF: /* Back to AUTO next (6) */ - elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - break; - - case TOOLTIP_TEXT_SET: /* 7 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_tooltip_text_set(eina_list_data_get(eina_list_last(items)), "Tooltip set from API"); - } - elm_list_scroller_policy_set(li, ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_AUTO); - } - break; - - case TOOLTIP_UNSET: /* 8 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_tooltip_unset(eina_list_data_get(eina_list_last(items))); - } - } - break; - - case ITEM_CURSOR_SET: /* 9 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_cursor_set(eina_list_data_get(eina_list_last(items)), ELM_CURSOR_HAND2); - } - } - break; - - case ITEM_CURSOR_STYLE_SET: /* 10 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_cursor_style_set(eina_list_data_get(eina_list_last(items)), "transparent"); - } - } - break; - - case DISABLED_SET: /* 11 */ - { - const Eina_List *items = elm_list_items_get(li); - if(eina_list_count(items)) - { - elm_list_item_disabled_set(eina_list_data_get(eina_list_last(items)), EINA_TRUE); - } - } - break; - - case MODE_SET_COMPRESS: /* 12 */ - elm_list_mode_set(li, ELM_LIST_COMPRESS); - break; - - case MODE_SET_LIMIT: /* 13 */ - elm_list_mode_set(li, ELM_LIST_LIMIT); - break; - - case MODE_SET_EXPAND: /* 14 */ - elm_list_mode_set(li, ELM_LIST_EXPAND); - break; - - case HORIZONTAL_SET: /* 15 */ - elm_list_mode_set(li, ELM_LIST_SCROLL); /* return to default mode */ - elm_list_horizontal_set(li, EINA_TRUE); - break; - - case BOUNCE_SET: /* 16 */ - elm_list_horizontal_set(li, EINA_FALSE); - elm_list_bounce_set(li, EINA_TRUE, EINA_FALSE); - break; - - case LIST_CLEAR: /* 17 */ - elm_list_clear(li); - break; - - case API_STATE_LAST: - break; - - default: - return; - } -} - -static void -_api_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ /* Will add here a SWITCH command containing code to modify test-object */ - /* in accordance a->state value. */ - api_data *a = data; - char str[128]; - - printf("clicked event on API Button: api_state=<%d>\n", a->state); - set_api_state(a); - a->state++; - sprintf(str, "Next API function (%u)", a->state); - elm_object_text_set(a->bt, str); - elm_object_disabled_set(a->bt, a->state == API_STATE_LAST); -} - -TEST_START(test_list) -{ - Evas_Object *bg, *li, *ic, *ic2, *bx, *bxx, *tb2, *bt; - char buf[PATH_MAX]; - Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4, *list_it5; - - 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); - - bxx = elm_box_add(win); - elm_win_resize_object_add(win, bxx); - evas_object_size_hint_weight_set(bxx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bxx); - - li = elm_list_add(win); - elm_list_mode_set(li, ELM_LIST_LIMIT); - 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); - api->data = li; - - api->bt = elm_button_add(win); - elm_object_text_set(api->bt, "Next API function"); - evas_object_smart_callback_add(api->bt, "clicked", _api_bt_clicked, (void *) api); - elm_box_pack_end(bxx, api->bt); - elm_object_disabled_set(api->bt, api->state == API_STATE_LAST); - evas_object_show(api->bt); - - elm_box_pack_end(bxx, li); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 1, 1); - list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL); - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "world", ic, NULL, NULL, NULL); - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "edit"); - elm_icon_scale_set(ic, 0, 0); - elm_list_item_append(li, ".", ic, NULL, NULL, NULL); - - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "delete"); - elm_icon_scale_set(ic, 0, 0); - ic2 = elm_icon_add(win); - elm_icon_standard_set(ic2, "clock"); - elm_icon_scale_set(ic2, 0, 0); - list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL); - - bx = elm_box_add(win); - elm_box_horizontal_set(bx, EINA_TRUE); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - elm_list_item_append(li, "are", bx, NULL, NULL, NULL); - - elm_list_item_append(li, "you", NULL, NULL, NULL, NULL); - list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "out", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "there", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "today", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "?", NULL, NULL, NULL, NULL); - list_it4 = elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "are", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "some", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "more", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "items", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Is this label long enough?", NULL, NULL, NULL, NULL); - list_it5 = elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL); - - elm_list_go(li); - - evas_object_show(li); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, tb2); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Hello"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.5); - elm_table_pack(tb2, bt, 0, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "How"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.5); - elm_table_pack(tb2, bt, 0, 1, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "doing"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.5); - elm_table_pack(tb2, bt, 0, 2, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Here"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.5); - elm_table_pack(tb2, bt, 0, 3, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Maybe this..."); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it5); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.5); - elm_table_pack(tb2, bt, 0, 4, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 320, 300); - evas_object_show(win); - - evas_object_smart_callback_add(li, "scroll,edge,top", scroll_top, NULL); - evas_object_smart_callback_add(li, "scroll,edge,bottom", scroll_bottom, NULL); - evas_object_smart_callback_add(li, "scroll,edge,left", scroll_left, NULL); - evas_object_smart_callback_add(li, "scroll,edge,right", scroll_right, NULL); -} -TEST_END - -TEST_START(test_list_horizontal) -{ - Evas_Object *bg, *li, *ic, *ic2, *bx, *tb2, *bt; - char buf[PATH_MAX]; - Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4; - - 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); - - li = elm_list_add(win); - elm_list_horizontal_set(li, EINA_TRUE); - elm_list_mode_set(li, ELM_LIST_LIMIT); - elm_win_resize_object_add(win, li); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 1, 1); - list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL); - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "world", ic, NULL, NULL, NULL); - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "edit"); - elm_icon_scale_set(ic, 0, 0); - elm_list_item_append(li, ".", ic, NULL, NULL, NULL); - - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "delete"); - elm_icon_scale_set(ic, 0, 0); - ic2 = elm_icon_add(win); - elm_icon_standard_set(ic2, "clock"); - elm_icon_scale_set(ic2, 0, 0); - list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL); - - bx = elm_box_add(win); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - elm_list_item_append(li, "are", bx, NULL, NULL, NULL); - - elm_list_item_append(li, "you", NULL, NULL, NULL, NULL); - list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "out", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "there", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "today", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "?", NULL, NULL, NULL, NULL); - - list_it4 = elm_list_item_append(li, "And", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "here", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "we", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "are", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "done", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "with", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "items.", NULL, NULL, NULL, NULL); - - elm_list_go(li); - - evas_object_show(li); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, tb2); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Hello"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.5, 0.9); - elm_table_pack(tb2, bt, 0, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "How"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.5, 0.9); - elm_table_pack(tb2, bt, 1, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "doing"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.5, 0.9); - elm_table_pack(tb2, bt, 2, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "And"); - evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.5, 0.9); - elm_table_pack(tb2, bt, 3, 0, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -/***********/ - -static void -my_li2_clear(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - elm_list_clear(data); -} - -static void -my_li2_sel(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - Elm_Object_Item *list_it = elm_list_selected_item_get(obj); - elm_list_item_selected_set(list_it, EINA_FALSE); -// elm_list_item_selected_set(event_info, 0); -} - -TEST_START(test_list2) -{ - Evas_Object *bg, *li, *ic, *ic2, *bx, *bx2, *bt; - char buf[PATH_MAX]; - Elm_Object_Item *list_it; - - bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); - 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_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_list_mode_set(li, ELM_LIST_LIMIT); -// elm_list_multi_select_set(li, 1); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - list_it = elm_list_item_append(li, "Hello", ic, NULL, my_li2_sel, NULL); - elm_list_item_selected_set(list_it, EINA_TRUE); - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "world", ic, NULL, NULL, NULL); - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "edit"); - elm_icon_scale_set(ic, 0, 0); - elm_list_item_append(li, ".", ic, NULL, NULL, NULL); - - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "delete"); - elm_icon_scale_set(ic, 0, 0); - ic2 = elm_icon_add(win); - elm_icon_standard_set(ic2, "clock"); - elm_icon_scale_set(ic2, 0, 0); - elm_list_item_append(li, "How", ic, ic2, NULL, NULL); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx2, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.0); - elm_box_pack_end(bx2, ic); - evas_object_show(ic); - elm_list_item_append(li, "are", bx2, NULL, NULL, NULL); - - elm_list_item_append(li, "you", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "out", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "there", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "today", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "?", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "are", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "some", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "more", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "items", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Longer label.", NULL, NULL, NULL, NULL); - - elm_list_go(li); - - elm_box_pack_end(bx, li); - evas_object_show(li); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_homogeneous_set(bx2, EINA_TRUE); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Clear"); - evas_object_smart_callback_add(bt, "clicked", my_li2_clear, li); - 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(bx2, bt); - evas_object_show(bt); - - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -/***********/ - -static void -_bt_clicked(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("button was clicked\n"); -} - -static void -_it_clicked(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - printf("item was clicked\n"); -} - -TEST_START(test_list3) -{ - Evas_Object *bg, *li, *ic, *ic2, *bx; - char buf[PATH_MAX]; - - 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); - - li = elm_list_add(win); - elm_win_resize_object_add(win, li); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_list_mode_set(li, ELM_LIST_COMPRESS); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - ic2 = elm_button_add(win); - elm_object_text_set(ic2, "Click me"); - evas_object_smart_callback_add(ic2, "clicked", _bt_clicked, NULL); - evas_object_propagate_events_set(ic2, 0); - elm_list_item_append(li, "Hello", ic, ic2, _it_clicked, NULL); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - ic2 = elm_button_add(win); - elm_object_text_set(ic2, "Click me"); - evas_object_smart_callback_add(ic2, "clicked", _bt_clicked, NULL); - elm_list_item_append(li, "world", ic, ic2, _it_clicked, NULL); - - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "edit"); - elm_icon_scale_set(ic, 0, 0); - elm_list_item_append(li, ".", ic, NULL, NULL, NULL); - - ic = elm_icon_add(win); - elm_icon_standard_set(ic, "delete"); - elm_icon_scale_set(ic, 0, 0); - ic2 = elm_icon_add(win); - elm_icon_standard_set(ic2, "clock"); - elm_icon_scale_set(ic2, 0, 0); - elm_list_item_append(li, "How", ic, ic2, NULL, NULL); - - bx = elm_box_add(win); - elm_box_horizontal_set(bx, EINA_TRUE); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.5); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.5, 0.0); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, ic); - evas_object_show(ic); - - elm_list_item_append(li, "are", bx, NULL, NULL, NULL); - elm_list_item_append(li, "you", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "out", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "there", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "today", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "?", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "are", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "some", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "more", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "items", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Is this label long enough?", NULL, NULL, NULL, NULL); - elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL); - - elm_list_go(li); - - evas_object_show(li); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -/////////////////////////////////////////////////////////////////////////////////////// - -struct Pginfo -{ - Evas_Object *pager, *win; -}; - -static void -test_list4_back_cb(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - struct Pginfo *info = data; - if (!info) return; - - elm_pager_content_pop(info->pager); -} - -static void -test_list4_swipe(void *data, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Evas_Object *box, *entry, *button; - struct Pginfo *info = data; - char *item_data; - if ((!event_info) || (!data)) return; - - item_data = elm_list_item_data_get(event_info); - - box = elm_box_add(info->win); - elm_box_horizontal_set(box, EINA_FALSE); - elm_box_homogeneous_set(box, EINA_FALSE); - 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); - evas_object_show(box); - - entry = elm_entry_add(info->win); - elm_entry_scrollable_set(entry, EINA_TRUE); - elm_entry_editable_set(entry, EINA_FALSE); - elm_entry_entry_set(entry, item_data); - 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); - evas_object_show(entry); - - button = elm_button_add(info->win); - elm_object_text_set(button, "back"); - evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0); - evas_object_smart_callback_add(button, "clicked", test_list4_back_cb, info); - evas_object_show(button); - - elm_box_pack_start(box, entry); - elm_box_pack_end(box, button); - - elm_pager_content_push(info->pager, box); -} - -TEST_START(test_list4) -{ - Evas_Object *bg, *li, *ic, *ic2, *pager; - static struct Pginfo info = {NULL, NULL}; - char buf[PATH_MAX]; - - info.win = win; - - 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); - - pager = elm_pager_add(win); - elm_win_resize_object_add(win, pager); - evas_object_size_hint_weight_set(pager, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(pager, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(pager); - info.pager = pager; - - li = elm_list_add(win); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_list_mode_set(li, ELM_LIST_COMPRESS); - evas_object_smart_callback_add(li, "swipe", test_list4_swipe, &info); - elm_pager_content_push(pager, li); - - static char pf_data[] = "Pink Floyd were formed in 1965, and originally consisted of university" \ - "students Roger Waters, Nick Mason, Richard Wright, and Syd Barrett. The group were a popular" \ - "fixture on London's underground music scene, and under Barrett's leadership released two " \ - "charting singles, \"Arnold Layne\" and \"See Emily Play\", and a successful debut album, " \ - "ThePiper at the Gates of Dawn. In 1968, guitarist and singer David Gilmour joined the " \ - "line-up. Barrett was soon removed, due to his increasingly erratic behaviour. Following " \ - "Barrett's departure, bass player and singer Roger Waters became the band's lyricist and " \ - "conceptual leader, with Gilmour assuming lead guitar and much of the vocals. With this " \ - "line-up, Floyd went on to achieve worldwide critical and commercial success with the " \ - "conceptalbums The Dark Side of the Moon, Wish You Were Here, Animals, and The Wall."; - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/mystrale.jpg", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "Pink Floyd", ic, NULL, NULL, &pf_data); - - static char ds_data[] = "Dire Straits were a British rock band, formed by Mark Knopfler " \ - "(lead vocals and lead guitar), his younger brother David Knopfler (rhythm guitar and " \ - "backing vocals), John Illsley (bass guitar and backing vocals), and Pick Withers (drums " \ - "and percussion), and managed by Ed Bicknell, active between 1977 and 1995. Although the " \ - "band was formed in an era when punk rock was at the forefront, Dire Straits played a more " - "bluesy style, albeit with a stripped-down sound that appealed to audiences weary of the " \ - "overproduced stadium rock of the 1970s.[citation needed] In their early days, Mark and " \ - "David requested that pub owners turn down their sound so that patrons could converse " \ - "while the band played, an indication of their unassuming demeanor. Despite this oddly " \ - "self-effacing approach to rock and roll, Dire Straits soon became hugely successful, with " \ - "their first album going multi-platinum globally."; - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/mystrale_2.jpg", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "Dire Straits", ic, NULL, NULL, &ds_data); - - static char uh_data[] = "Uriah Heep are an English hard rock band. The band released several " \ - "commercially successful albums in the 1970s such as Uriah Heep Live (1973), but their " \ - "audience declined by the 1980s, to the point where they became essentially a cult band in " \ - "the United States and United Kingdom. Uriah Heep maintain a significant following in " \ - "Germany, the Netherlands, Scandinavia, the Balkans, Japan and Russia, where they still " \ - "perform at stadium-sized venues."; - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_17.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 1, 1); - elm_icon_file_set(ic, buf, NULL); - elm_list_item_append(li, "Uriah Heep", ic, NULL, NULL, &uh_data); - - static char r_data[] = "Rush is a Canadian rock band formed in August 1968, in the Willowdale " \ - "neighbourhood of Toronto, Ontario. The band is composed of bassist, keyboardist, and lead " \ - "vocalist Geddy Lee, guitarist Alex Lifeson, and drummer and lyricist Neil Peart. The band " \ - "and its membership went through a number of re-configurations between 1968 and 1974, " \ - "achieving their current form when Peart replaced original drummer John Rutsey in July 1974, " \ - "two weeks before the group's first United States tour."; - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_21.png", elm_app_data_dir_get()); - elm_icon_scale_set(ic, 0, 0); - elm_icon_file_set(ic, buf, NULL); - ic2 = elm_icon_add(win); - elm_icon_standard_set(ic2, "clock"); - elm_icon_scale_set(ic2, 0, 0); - elm_list_item_append(li, "Rush", ic, ic2, NULL, &r_data); - - elm_list_go(li); - - evas_object_show(li); - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -///////////////////////////////////////////////////////////////////////////////////////// -struct list5_data_cb -{ - Evas_Object *win, *list; -}; - -static void -test_list5_item_del(void *data, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ - elm_list_item_del(data); -} - -static void -test_list5_swipe(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Evas_Object *button; - struct list5_data_cb *info = elm_list_item_data_get(event_info); - - if (elm_list_item_end_get(event_info)) return; - - button = elm_button_add(info->win); - elm_object_text_set(button, "delete"); - evas_object_propagate_events_set(button, 0); - evas_object_smart_callback_add(button, "clicked", test_list5_item_del, - event_info); - elm_list_item_end_set(event_info, button); -} - -TEST_START(test_list5) -{ - Evas_Object *bg, *li; - static struct list5_data_cb info; - - info.win = win; - - 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); - - li = elm_list_add(win); - evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_list_mode_set(li, ELM_LIST_COMPRESS); - evas_object_smart_callback_add(li, "swipe", test_list5_swipe, NULL); - elm_win_resize_object_add(win, li); - evas_object_show(li); - info.list = li; - - elm_list_item_append(li, "Network", NULL, NULL, NULL, &info); - elm_list_item_append(li, "Audio", NULL, NULL, NULL, &info); - - elm_list_go(li); - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - diff --git a/src/bin/test_menu.c b/src/bin/test_menu.c deleted file mode 100644 index 9672bf5..0000000 --- a/src/bin/test_menu.c +++ /dev/null @@ -1,121 +0,0 @@ -#include -#include "tsuite.h" -static Evas_Object *bg, *menu, *rect; - -static void -_show(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) -{ - Evas_Event_Mouse_Down *ev = event_info; - elm_menu_move(data, ev->canvas.x, ev->canvas.y); - evas_object_show(data); -} - -static void -_populate_4(Elm_Object_Item *menu_it) -{ - Elm_Object_Item *menu_it2; - - elm_menu_item_add(menu, menu_it, "go-bottom", "menu 2", NULL, NULL); - elm_menu_item_add(menu, menu_it, "go-first", "menu 3", NULL, NULL); - elm_menu_item_separator_add(menu, menu_it); - menu_it2 = elm_menu_item_add(menu, menu_it, "go-last", "Disabled item", NULL, - NULL); - elm_object_item_disabled_set(menu_it2, EINA_TRUE); - menu_it2 = elm_menu_item_add(menu, menu_it, "go-next", "Disabled item", NULL, - NULL); - elm_object_item_disabled_set(menu_it2, EINA_TRUE); - menu_it2 = elm_menu_item_add(menu, menu_it, "go-up", "Disabled item", NULL, - NULL); - elm_object_item_disabled_set(menu_it2, EINA_TRUE); -} - -static void -_populate_3(Elm_Object_Item *menu_it) -{ - Elm_Object_Item *menu_it2; - - elm_menu_item_add(menu, menu_it, "media-eject", "menu 2", NULL, NULL); - elm_menu_item_add(menu, menu_it, "media-playback-start", "menu 3", NULL, - NULL); - elm_menu_item_separator_add(menu, menu_it); - menu_it2 = elm_menu_item_add(menu, menu_it, "media-playback-stop", - "Disabled item", NULL, NULL); - elm_object_item_disabled_set(menu_it2, EINA_TRUE); -} - -static void -_populate_2(Elm_Object_Item *menu_it) -{ - Elm_Object_Item *menu_it2, *menu_it3; - - elm_menu_item_add(menu, menu_it, "system-reboot", "menu 2", NULL, NULL); - menu_it2 = elm_menu_item_add(menu, menu_it, "system-shutdown", "menu 3", - NULL, NULL); - _populate_3(menu_it2); - - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - elm_menu_item_separator_add(menu, menu_it); - - menu_it2 = elm_menu_item_add(menu, menu_it, "system-lock-screen", "menu 2", - NULL, NULL); - elm_menu_item_separator_add(menu, menu_it); - - menu_it3 = elm_menu_item_add(menu, menu_it, "system-run", "Disabled item", - NULL, NULL); - elm_object_item_disabled_set(menu_it3, EINA_TRUE); - - _populate_4(menu_it2); -} - -static void -_populate_1(Evas_Object *win, Elm_Object_Item *menu_it) -{ - Elm_Object_Item *menu_it2; - Evas_Object *radio; - - radio = elm_radio_add(win); - elm_radio_state_value_set(radio, 0); - elm_radio_value_set(radio, 0); - elm_object_text_set(radio, "radio in menu"); - menu_it2 = elm_menu_item_add(menu, menu_it, "object-rotate-left", "menu 1", - NULL, NULL); - elm_menu_item_add_object(menu, menu_it, radio, NULL, NULL); - - _populate_2(menu_it2); -} - -TEST_START(test_menu) -{ - Elm_Object_Item *menu_it; - - 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); - - rect = evas_object_rectangle_add(evas_object_evas_get(win)); - elm_win_resize_object_add(win, rect); - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_show(rect); - - menu = elm_menu_add(win); - elm_menu_item_add(menu, NULL, NULL, "first item", NULL, NULL); - - menu_it = elm_menu_item_add(menu, NULL, "mail-reply-all", "second item", - NULL, NULL); - _populate_1(win, menu_it); - - elm_menu_item_add(menu, menu_it, "window-new", "sub menu", NULL, NULL); - - evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _show, menu); - - evas_object_resize(win, 350, 200); - evas_object_show(win); -} -TEST_END - diff --git a/src/bin/test_naviframe.c b/src/bin/test_naviframe.c deleted file mode 100644 index dd325d7..0000000 --- a/src/bin/test_naviframe.c +++ /dev/null @@ -1,241 +0,0 @@ -#include -#include "tsuite.h" - -struct _Test_Data -{ - char *img1; - char *img2; - char *img3; - char *img4; - char *img5; -}; -typedef struct _Test_Data Test_Data; - -static Test_Data *tdata = NULL; - - static char * -_get_str(char *dest, const char *str) -{ /* dest should be not null and big enough */ - sprintf(dest, "%s/%s", elm_app_data_dir_get(), str); - return dest; -} - -static void -_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Test_Data *tdata = data; - if (!data) return; - - free(tdata->img1); - free(tdata->img2); - free(tdata->img3); - free(tdata->img4); - free(tdata->img5); - - free(tdata); -} - -Evas_Object * -_content_new(Evas_Object *parent, const char *img) -{ - Evas_Object *photo = elm_photo_add(parent); - elm_photo_file_set(photo, img); - elm_photo_fill_inside_set(photo, EINA_TRUE); - elm_object_style_set(photo, "shadow"); - return photo; -} - -void -_navi_pop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_naviframe_item_pop(data); -} - -void -_navi_it_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_naviframe_item_del(data); -} - -void -_title_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Title Clicked!\n"); -} - -void -_title_visible(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_naviframe_item_title_visible_set(data, - !elm_naviframe_item_title_visible_get(data)); -} - -void -_promote(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_naviframe_item_promote(data); -} - -void -_page5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt, *bt2, *content, *nf = data; - Elm_Object_Item *it; - - bt = elm_button_add(nf); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(bt, "Prev"); - - bt2 = elm_button_add(nf); - evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(bt2, "Page 1"); - evas_object_smart_callback_add(bt2, "clicked", _promote, - evas_object_data_get(nf, "page1")); - - content = _content_new(nf, tdata->img5); - it = elm_naviframe_item_insert_after(elm_naviframe_top_item_get(nf), - "Page 5", - bt, - bt2, - content, - NULL); - - evas_object_smart_callback_add(bt, "clicked", _navi_it_del, it); -} - -void -_page4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt, *ic, *content, *nf = data; - char buf[PATH_MAX]; - Elm_Object_Item *it; - - ic = elm_icon_add(nf); - snprintf(buf, sizeof(buf), "%s/images/icon_right_arrow.png", - elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - bt = elm_button_add(nf); - evas_object_smart_callback_add(bt, "clicked", _page5, nf); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(bt, "icon", ic); - - content = _content_new(nf, tdata->img4); - - it = elm_naviframe_item_push(nf, - "Page 4", - NULL, - bt, - content, - NULL); - - ic = elm_icon_add(nf); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", - elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - elm_object_item_part_content_set(it, "icon", ic); - elm_naviframe_item_title_visible_set(it, EINA_FALSE); - evas_object_smart_callback_add(content, "clicked", _title_visible, it); -} - -void -_page3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt, *bt2, *ic, *content, *nf = data; - char buf[PATH_MAX]; - Elm_Object_Item *it; - - bt = elm_button_add(nf); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(bt, "Prev"); - evas_object_smart_callback_add(bt, "clicked", _navi_pop, nf); - - bt2 = elm_button_add(nf); - evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(bt2, "Next"); - evas_object_smart_callback_add(bt2, "clicked", _page4, nf); - - content = _content_new(nf, tdata->img3); - - it = elm_naviframe_item_push(nf, - "Page 3", - bt, - bt2, - content, - NULL); - ic = elm_icon_add(nf); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - elm_object_item_part_content_set(it, "icon", ic); -} - -void -_page2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *bt, *content, *ic, *nf = data; - char buf[PATH_MAX]; - Elm_Object_Item *it; - - bt = elm_button_add(nf); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(bt, "clicked", _page3, nf); - - ic = elm_icon_add(nf); - snprintf(buf, sizeof(buf), "%s/images/icon_right_arrow.png", - elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - elm_object_part_content_set(bt, "icon", ic); - - content = _content_new(nf, tdata->img2); - - it = elm_naviframe_item_push(nf, "Page 2", NULL, bt, content, NULL); - elm_object_item_part_text_set(it, "subtitle", "Here is sub-title part!"); -} - - -TEST_START(test_naviframe) -{ - Evas_Object *bg, *nf, *btn, *content; - Elm_Object_Item *it; - char buf[1024]; - - elm_win_focus_highlight_enabled_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); - - tdata = malloc(sizeof(Test_Data)); - tdata->img1 = strdup(_get_str(buf, "images/logo.png")); - tdata->img2 = strdup(_get_str(buf, "images/plant_01.jpg")); - tdata->img3 = strdup(_get_str(buf, "images/rock_01.jpg")); - tdata->img4 = strdup(_get_str(buf, "images/rock_02.jpg")); - tdata->img5 = strdup(_get_str(buf, "images/sky_01.jpg")); - evas_object_smart_callback_add(win, "delete,request", _win_del, tdata); - - nf = elm_naviframe_add(win); - elm_win_resize_object_add(win, nf); - evas_object_size_hint_weight_set(nf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(nf); - evas_object_smart_callback_add(nf, "title,clicked", _title_clicked, 0); - - btn = elm_button_add(nf); - evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_smart_callback_add(btn, "clicked", _page2, nf); - elm_object_text_set(btn, "Next"); - evas_object_show(btn); - - content = _content_new(nf, tdata->img1); - it = elm_naviframe_item_push(nf, "Page 1", NULL, btn, content, NULL); - evas_object_data_set(nf, "page1", it); - - evas_object_resize(win, 400, 600); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_notify.c b/src/bin/test_notify.c deleted file mode 100644 index c32df04..0000000 --- a/src/bin/test_notify.c +++ /dev/null @@ -1,295 +0,0 @@ -#include -#include "tsuite.h" -static void -_bt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *notify = data; - evas_object_show(notify); -} - -static void -_bt_close(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *notify = data; - evas_object_hide(notify); -} - -static void -_bt_timer_close(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *notify = data; - elm_notify_timeout_set(notify, 2.0); -} - -static void -_notify_timeout(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Notify timed out!\n"); -} - -static void -_notify_block(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("Notify block area clicked!!\n"); -} - -TEST_START(test_notify) -{ - Evas_Object *bg, *bx, *tb, *notify, *bt, *lb; - - 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); - - tb = elm_table_add(win); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(tb); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "This position is the default."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Top"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 1, 0, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - elm_notify_repeat_events_set(notify, EINA_FALSE); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM); - elm_notify_timeout_set(notify, 5.0); - evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL); - evas_object_smart_callback_add(notify, "block,clicked", _notify_block, NULL); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Bottom position. This notify use a timeout of 5 sec.
" - "The events outside the window are blocked."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Bottom"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 1, 2, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_LEFT); - elm_notify_timeout_set(notify, 10.0); - evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Left position. This notify use a timeout of 10 sec."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Left"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 0, 1, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_CENTER); - elm_notify_timeout_set(notify, 10.0); - evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Center position. This notify use a timeout of 10 sec."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Center"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 1, 1, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_RIGHT); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Right position."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Right"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 2, 1, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_TOP_LEFT); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Top Left position."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Top Left"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 0, 0, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_TOP_RIGHT); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Top Right position."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Top Right"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 2, 0, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM_LEFT); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Bottom Left position."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close"); - evas_object_smart_callback_add(bt, "clicked", _bt_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Bottom Left"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 0, 2, 1, 1); - evas_object_show(bt); - - notify = elm_notify_add(win); - evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM_RIGHT); - - bx = elm_box_add(win); - elm_object_content_set(notify, bx); - elm_box_horizontal_set(bx, EINA_TRUE); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, "Bottom Right position."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Close in 2s"); - evas_object_smart_callback_add(bt, "clicked", _bt_timer_close, notify); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Bottom Right"); - evas_object_smart_callback_add(bt, "clicked", _bt, notify); - elm_table_pack(tb, bt, 2, 2, 1, 1); - evas_object_show(bt); - - evas_object_show(win); - evas_object_resize(win, 300, 350); -} -TEST_END diff --git a/src/bin/test_pager.c b/src/bin/test_pager.c deleted file mode 100644 index cf7c449..0000000 --- a/src/bin/test_pager.c +++ /dev/null @@ -1,320 +0,0 @@ -#include -#include "tsuite.h" -typedef struct _Pginfo Pginfo; - -struct _Pginfo -{ - Evas_Object *win, *pager, *pg1, *pg2, *pg3, *pg4; -}; - -static void -my_pager_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - elm_pager_content_promote(info->pager, info->pg2); -} - -static void -my_pager_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - elm_pager_content_promote(info->pager, info->pg3); -} - -static void -my_pager_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - elm_pager_content_promote(info->pager, info->pg4); -} - - -static void -my_pager_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - elm_pager_content_promote(info->pager, info->pg1); -} - - -static void -my_pager_pop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - elm_pager_content_pop(info->pager); -} - -struct style_tuple { - const char *label; - const char *name; -}; -static const struct style_tuple styles[] = { - { "Default", "default"}, - { "Slide", "slide"}, - { "Slide Invisible", "slide_invisible"}, - { "Fade", "fade"}, - { "Fade Translucide", "fade_translucide"}, - { "Fade Invisible", "fade_invisible"}, - { "Flip", "flip"}, -}; - -static void -_style(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Evas_Object *pg = data; - elm_object_style_set(pg, styles[elm_radio_value_get(obj)].name); -} - -TEST_START(test_pager) -{ - Evas_Object *bg, *pg, *bx, *lb, *bt; - static Pginfo info; - - elm_win_focus_highlight_enabled_set(win, EINA_TRUE); - info.win = win; - - 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); - - pg = elm_pager_add(win); - evas_object_size_hint_weight_set(pg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, pg); - evas_object_show(pg); - - info.pager = pg; - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is page 1 in a pager stack.
" - "
" - "So what is a pager stack? It is a stack
" - "of pages that hold widgets in it. The
" - "pages can be pushed and popped on and
" - "off the stack, activated and otherwise
" - "activated if already in the stack
" - "(activated means promoted to the top of
" - "the stack).
" - "
" - "The theme may define the animation how
" - "show and hide of pages. Select one theme style:"); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - unsigned int i = 0; - Evas_Object *rdg = NULL, *rd; - for (i = 0; i < (sizeof(styles) / sizeof(struct style_tuple)); i++) - { - rd = elm_radio_add(win); - elm_object_text_set(rd, styles[i].label); - elm_radio_state_value_set(rd, i); - if (rdg) - elm_radio_group_add(rd, rdg); - else - rdg = rd; - evas_object_smart_callback_add(rd, "changed", _style, pg); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - } - elm_radio_value_set(rd, 0); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Flip to 2"); - evas_object_smart_callback_add(bt, "clicked", my_pager_1, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popme"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_pager_content_push(pg, bx); - info.pg1 = bx; - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is page 2 in a pager stack.
" - "
" - "This is just like the previous page in
" - "the pager stack." - ); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Flip to 3"); - evas_object_smart_callback_add(bt, "clicked", my_pager_2, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popme"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_pager_content_push(pg, bx); - info.pg2 = bx; - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is page 3 in a pager stack.
" - "
" - "This is just like the previous page in
" - "the pager stack."); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Flip to 1"); - evas_object_smart_callback_add(bt, "clicked", my_pager_3, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popme"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_pager_content_push(pg, bx); - info.pg3 = bx; - - Evas_Object *ly, *ly2; - char buf[4096]; - - ly = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly, buf, "test/layout"); - evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(ly); - - ly2 = elm_layout_add(win); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(ly2, buf, "layout2"); - evas_object_size_hint_weight_set(ly2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - //elm_win_resize_object_add(win, ly2); - evas_object_show(ly2); - - - - - bt = elm_button_add(win); - elm_object_text_set(bt, "Flip to 1"); - evas_object_smart_callback_add(bt, "clicked", my_pager_4, &info); - elm_object_part_content_set(ly2, "element1", bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Popme"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info); - evas_object_show(bt); - elm_object_part_content_set(ly2, "element2", bt); - - elm_object_part_content_set(ly, "swallow", ly2); - evas_object_show(ly); - - elm_pager_content_push(pg, ly); - info.pg4 = ly2; - - - evas_object_show(win); -} -TEST_END - -static void -my_pager_push(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Pginfo *info = data; - Evas_Object *bx, *bt, *lb; - static int count = 2; - char buf[32]; - - bx = elm_box_add(info->win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - lb = elm_label_add(info->win); - snprintf(buf, sizeof(buf), "This is page %d in the slide pager

", count++); - elm_object_text_set(lb, buf); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(info->win); - elm_object_text_set(bt, "Push a new page"); - evas_object_smart_callback_add(bt, "clicked", my_pager_push, info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(info->win); - elm_object_text_set(bt, "Go back (pop)"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_pager_content_push(info->pager, bx); -} - -TEST_START(test_pager_slide) -{ - Evas_Object *bg, *pg, *bx, *lb, *bt; - static Pginfo info; - - elm_win_focus_highlight_enabled_set(win, EINA_TRUE); - info.win = win; - - 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); - - pg = elm_pager_add(win); - elm_win_resize_object_add(win, pg); - elm_object_style_set(pg, "slide"); - evas_object_show(pg); - info.pager = pg; - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(bx); - - lb = elm_label_add(win); - elm_object_text_set(lb, - "This is page 1 in a slide pager.
" - "
" - "The slide pager style is useful for browsing
" - "a hierarchy of objects, as it makes clear
" - "the direction of the browse.
" - "This is the 'slide' style, also available
" - "a fully transparent style named 'slide_invisble'.
" - "
"); - elm_box_pack_end(bx, lb); - evas_object_show(lb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Push a new page"); - evas_object_smart_callback_add(bt, "clicked", my_pager_push, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Go back (pop)"); - evas_object_smart_callback_add(bt, "clicked", my_pager_pop, &info); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - elm_pager_content_push(pg, bx); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_panel.c b/src/bin/test_panel.c deleted file mode 100644 index b98a235..0000000 --- a/src/bin/test_panel.c +++ /dev/null @@ -1,253 +0,0 @@ -#include -#include "tsuite.h" -static Elm_Genlist_Item_Class itc; - -static void _bstatus(void *data, Evas_Object *obj, void *event_info); -static void _tstatus(void *data, Evas_Object *obj, void *event_info); -static char *_text_get(void *data, Evas_Object *obj, const char *source); -static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *source); -static Eina_Bool _state_get(void *data, Evas_Object *obj, const char *source); -static void _item_del(void *data, Evas_Object *obj); -static void _fill_list(Evas_Object *obj); -static Eina_Bool _dir_has_subs(const char *path); - -static void -_tstatus(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Object_Item *tb_it; - const char *status; - - if (elm_panel_hidden_get((Evas_Object*)data)) - status = "hidden"; - else - status = "shown"; - printf("The top panel is currently %s\n", status); - tb_it = elm_toolbar_selected_item_get(obj); - elm_toolbar_item_selected_set(tb_it, EINA_FALSE); -} - -static void -_bstatus(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Object_Item *tb_it; - const char *status; - - if (elm_panel_hidden_get((Evas_Object*)data)) - status = "hidden"; - else - status = "shown"; - printf("The bottom panel is currently %s\n", status); - tb_it = elm_toolbar_selected_item_get(obj); - elm_toolbar_item_selected_set(tb_it, EINA_FALSE); -} - -static char * -_text_get(void *data, Evas_Object *obj __UNUSED__, const char *source __UNUSED__) -{ - return strdup(ecore_file_file_get(data)); -} - -static Evas_Object * -_content_get(void *data, Evas_Object *obj, const char *source) -{ - if (!strcmp(source, "elm.swallow.icon")) - { - Evas_Object *ic; - - ic = elm_icon_add(obj); - if (ecore_file_is_dir((char *)data)) - elm_icon_standard_set(ic, "folder"); - else - elm_icon_standard_set(ic, "file"); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - evas_object_show(ic); - return ic; - } - return NULL; -} - -static Eina_Bool -_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const char *source __UNUSED__) -{ - return EINA_FALSE; -} - -static void -_item_del(void *data, Evas_Object *obj __UNUSED__) -{ - eina_stringshare_del(data); -} - -static void -_fill_list(Evas_Object *obj) -{ - DIR *d; - struct dirent *de; - Eina_List *dirs = NULL, *l; - char *real; - - if (!(d = opendir(getenv("HOME")))) return; - while ((de = readdir(d))) - { - char buff[PATH_MAX]; - - if (de->d_name[0] == '.') continue; - snprintf(buff, sizeof(buff), "%s/%s", getenv("HOME"), de->d_name); - if (!ecore_file_is_dir(buff)) continue; - real = ecore_file_realpath(buff); - dirs = eina_list_append(dirs, real); - } - closedir(d); - - dirs = eina_list_sort(dirs, eina_list_count(dirs), EINA_COMPARE_CB(strcoll)); - - EINA_LIST_FOREACH(dirs, l, real) - { - Eina_Bool result = EINA_FALSE; - - result = _dir_has_subs(real); - if (!result) - elm_genlist_item_append(obj, &itc, eina_stringshare_add(real), - NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - else - elm_genlist_item_append(obj, &itc, eina_stringshare_add(real), - NULL, ELM_GENLIST_ITEM_SUBITEMS, - NULL, NULL); - free(real); - } - eina_list_free(dirs); -} - -static Eina_Bool -_dir_has_subs(const char *path) -{ - DIR *d; - struct dirent *de; - Eina_Bool result = EINA_FALSE; - - if (!path) return result; - if (!(d = opendir(path))) return result; - while ((de = readdir(d))) - { - char buff[PATH_MAX]; - - if (de->d_name[0] == '.') continue; - snprintf(buff, sizeof(buff), "%s/%s", path, de->d_name); - if (ecore_file_is_dir(buff)) - { - result = EINA_TRUE; - break; - } - } - closedir(d); - return result; -} - -TEST_START(test_panel) -{ - Evas_Object *bg, *panel, *bx, *vbx, *toolbar; - Evas_Object *list; - - 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); - - vbx = elm_box_add(win); - elm_win_resize_object_add(win, vbx); - evas_object_size_hint_weight_set(vbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(vbx, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(vbx); - - bx = elm_box_add(win); - elm_box_horizontal_set(bx, EINA_TRUE); - 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); - evas_object_show(bx); - - panel = elm_panel_add(win); - elm_panel_orient_set(panel, ELM_PANEL_ORIENT_TOP); - evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL); - - toolbar = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(toolbar, 0); - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_NONE); - evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(toolbar); - - elm_toolbar_item_append(toolbar, "home", "Hello", _tstatus, panel); - - elm_object_content_set(panel, toolbar); - elm_box_pack_end(vbx, panel); - evas_object_show(panel); - - panel = elm_panel_add(win); - elm_panel_orient_set(panel, ELM_PANEL_ORIENT_LEFT); - evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(panel, 0, EVAS_HINT_FILL); - - itc.item_style = "default"; - itc.func.text_get = _text_get; - itc.func.content_get = _content_get; - itc.func.state_get = _state_get; - itc.func.del = _item_del; - - list = elm_genlist_add(win); - evas_object_size_hint_min_set(list, 100, -1); - evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(list); - - elm_object_content_set(panel, list); - - elm_box_pack_end(bx, panel); - evas_object_show(panel); - - _fill_list(list); - - panel = elm_panel_add(win); - elm_panel_orient_set(panel, ELM_PANEL_ORIENT_RIGHT); - evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(panel, 1, EVAS_HINT_FILL); - elm_panel_hidden_set(panel, EINA_TRUE); - - list = elm_genlist_add(win); - evas_object_size_hint_min_set(list, 100, -1); - evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(list); - - elm_object_content_set(panel, list); - - elm_box_pack_end(bx, panel); - evas_object_show(panel); - - _fill_list(list); - - elm_box_pack_end(vbx, bx); - - panel = elm_panel_add(win); - elm_panel_orient_set(panel, ELM_PANEL_ORIENT_BOTTOM); - evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_panel_hidden_set(panel, EINA_TRUE); - - toolbar = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(toolbar, 0); - elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_NONE); - evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(toolbar); - - elm_toolbar_item_append(toolbar, "home", "Hello", _bstatus, panel); - - elm_object_content_set(panel, toolbar); - elm_box_pack_end(vbx, panel); - evas_object_show(panel); - - evas_object_resize(win, 320, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_panes.c b/src/bin/test_panes.c deleted file mode 100644 index 2bf6c13..0000000 --- a/src/bin/test_panes.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -#include "tsuite.h" -static double size = 0.0; - -static void -_press(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("press\n"); -} - -static void -_unpress(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - printf("unpress, size : %f\n", elm_panes_content_left_size_get(obj)); -} - -static void -_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - printf("clicked\n"); -} - - -static void -_clicked_double(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - printf("clicked double\n"); - if(elm_panes_content_left_size_get(obj) > 0) - { - size = elm_panes_content_left_size_get(obj); - elm_panes_content_left_size_set(obj, 0.0); - } - else - elm_panes_content_left_size_set(obj, size); -} - - -TEST_START(test_panes) -{ - Evas_Object *bg, *panes, *panes_h, *bt; - - 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); - elm_win_focus_highlight_enabled_set(win, EINA_TRUE); - evas_object_show(bg); - - panes = elm_panes_add(win); - elm_win_resize_object_add(win, panes); - evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(panes); - - evas_object_smart_callback_add(panes, "clicked", _clicked, panes); - evas_object_smart_callback_add(panes, "clicked,double", _clicked_double, panes); - - evas_object_smart_callback_add(panes, "press", _press, panes); - evas_object_smart_callback_add(panes, "unpress", _unpress, panes); - - - // - bt = elm_button_add(win); - elm_object_text_set(bt, "Left"); - evas_object_size_hint_weight_set(bt, 1.0, 1.0); - evas_object_size_hint_align_set(bt, -1.0, -1.0); - evas_object_show(bt); - elm_object_part_content_set(panes, "left", bt); - // - - // - panes_h = elm_panes_add(win); - elm_panes_horizontal_set(panes_h, EINA_TRUE); - evas_object_size_hint_weight_set(panes_h, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(panes_h, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(panes_h); - - evas_object_smart_callback_add(panes_h, "clicked", _clicked, panes_h); - evas_object_smart_callback_add(panes_h, "clicked,double", _clicked_double, panes_h); - - evas_object_smart_callback_add(panes_h, "press", _press, panes_h); - evas_object_smart_callback_add(panes_h, "unpress", _unpress, panes_h); - elm_object_part_content_set(panes, "right", panes_h); - // - - // - bt = elm_button_add(win); - elm_object_text_set(bt, "Up"); - 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); - evas_object_show(bt); - elm_object_part_content_set(panes_h, "left", bt); - // - - // - bt = elm_button_add(win); - elm_object_text_set(bt, "Down"); - 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); - evas_object_show(bt); - elm_object_part_content_set(panes_h, "right", bt); - // - - - evas_object_resize(win, 320, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_progressbar.c b/src/bin/test_progressbar.c deleted file mode 100644 index 001039b..0000000 --- a/src/bin/test_progressbar.c +++ /dev/null @@ -1,199 +0,0 @@ -#include -#include "tsuite.h" -typedef struct Progressbar -{ - Evas_Object *pb1; - Evas_Object *pb2; - Evas_Object *pb3; - Evas_Object *pb4; - Evas_Object *pb5; - Evas_Object *pb6; - Evas_Object *pb7; - Eina_Bool run; - Ecore_Timer *timer; -} Progressbar; - -static Progressbar _test_progressbar; - -static Eina_Bool -_my_progressbar_value_set (void *data __UNUSED__) -{ - double progress; - - progress = elm_progressbar_value_get (_test_progressbar.pb1); - if (progress < 1.0) progress += 0.0123; - else progress = 0.0; - elm_progressbar_value_set(_test_progressbar.pb1, progress); - elm_progressbar_value_set(_test_progressbar.pb4, progress); - elm_progressbar_value_set(_test_progressbar.pb3, progress); - elm_progressbar_value_set(_test_progressbar.pb6, progress); - if (progress < 1.0) return ECORE_CALLBACK_RENEW; - _test_progressbar.run = 0; - return ECORE_CALLBACK_CANCEL; -} - -static void -my_progressbar_test_start(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_progressbar_pulse(_test_progressbar.pb2, EINA_TRUE); - elm_progressbar_pulse(_test_progressbar.pb5, EINA_TRUE); - elm_progressbar_pulse(_test_progressbar.pb7, EINA_TRUE); - if (!_test_progressbar.run) - { - _test_progressbar.timer = ecore_timer_add(0.1, _my_progressbar_value_set, NULL); - _test_progressbar.run = EINA_TRUE; - } -} - -static void -my_progressbar_test_stop(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_progressbar_pulse(_test_progressbar.pb2, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb5, EINA_FALSE); - elm_progressbar_pulse(_test_progressbar.pb7, EINA_FALSE); - if (_test_progressbar.run) - { - ecore_timer_del(_test_progressbar.timer); - _test_progressbar.run = EINA_FALSE; - } -} - -static void -my_progressbar_destroy(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - my_progressbar_test_stop(NULL, NULL, NULL); - evas_object_del(obj); -} - -TEST_START(test_progressbar) -{ - Evas_Object *bg, *pb, *bx, *hbx, *bt, *bt_bx, *ic1, *ic2; - char buf[PATH_MAX]; - - evas_object_smart_callback_add(win, "delete,request", - my_progressbar_destroy, 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 = 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); -// elm_progressbar_horizontal_set(pb, EINA_TRUE); -// elm_object_text_set(pb, "Progression %"); -// elm_progressbar_unit_format_set(pb, NULL); - evas_object_show(pb); - _test_progressbar.pb1 = pb; - - 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); - _test_progressbar.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 = elm_progressbar_add(win); - elm_object_text_set(pb, "Label"); - elm_object_content_set(pb, ic1); - elm_progressbar_inverted_set(pb, 1); - 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); - _test_progressbar.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); - - 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_progressbar_span_size_set(pb, 60); - elm_object_text_set(pb, "percent"); - evas_object_show(pb); - _test_progressbar.pb4 = pb; - - 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); - _test_progressbar.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); - - pb = elm_progressbar_add(win); - elm_progressbar_horizontal_set(pb, EINA_FALSE); - elm_object_text_set(pb, "Label"); - elm_object_content_set(pb, ic2); - elm_progressbar_inverted_set(pb, 1); - 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); - _test_progressbar.pb6 = pb; - - 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); - _test_progressbar.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", my_progressbar_test_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", my_progressbar_test_stop, NULL); - elm_box_pack_end(bt_bx, bt); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_radio.c b/src/bin/test_radio.c deleted file mode 100644 index c103bdf..0000000 --- a/src/bin/test_radio.c +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_radio) -{ - Evas_Object *bg, *bx, *ic, *rd, *rdg; - char buf[PATH_MAX]; - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 0); - evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, 0.5); - elm_object_text_set(rd, "Icon sized to radio"); - elm_object_content_set(rd, ic); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_show(ic); - rdg = rd; - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 1); - elm_radio_group_add(rd, rdg); - elm_object_text_set(rd, "Icon no scale"); - elm_object_content_set(rd, ic); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_show(ic); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 2); - elm_radio_group_add(rd, rdg); - elm_object_text_set(rd, "Label Only"); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 3); - elm_radio_group_add(rd, rdg); - elm_object_text_set(rd, "Disabled"); - elm_object_disabled_set(rd, 1); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 4); - elm_radio_group_add(rd, rdg); - elm_object_content_set(rd, ic); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - rd = elm_radio_add(win); - elm_radio_state_value_set(rd, 5); - elm_radio_group_add(rd, rdg); - elm_object_content_set(rd, ic); - elm_object_disabled_set(rd, 1); - elm_box_pack_end(bx, rd); - evas_object_show(rd); - evas_object_show(ic); - - elm_radio_value_set(rdg, 2); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_scaling.c b/src/bin/test_scaling.c deleted file mode 100644 index 0218a34..0000000 --- a/src/bin/test_scaling.c +++ /dev/null @@ -1,114 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_scaling) -{ - Evas_Object *bg, *bx, *bt; - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 0.5"); - elm_object_scale_set(bt, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 0.75"); - elm_object_scale_set(bt, 0.75); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 1.0"); - elm_object_scale_set(bt, 1.0); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 1.5"); - elm_object_scale_set(bt, 1.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 2.0"); - elm_object_scale_set(bt, 2.0); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Scale: 3.0"); - elm_object_scale_set(bt, 3.0); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -TEST_START(test_scaling2) -{ - Evas_Object *bg, *bx, *fr, *lb; - - 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); - - fr = elm_frame_add(win); - elm_object_scale_set(fr, 0.5); - elm_object_text_set(fr, "Scale: 0.5"); - lb = elm_label_add(win); - elm_object_text_set(lb, - "Parent frame scale
" - "is 0.5. Child should
" - "inherit it."); - elm_object_content_set(fr, lb); - evas_object_show(lb); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - fr = elm_frame_add(win); - elm_object_text_set(fr, "Scale: 1.0"); - lb = elm_label_add(win); - elm_object_text_set(lb, - "Parent frame scale
" - "is 1.0. Child should
" - "inherit it."); - elm_object_content_set(fr, lb); - evas_object_show(lb); - elm_object_scale_set(fr, 1.0); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - fr = elm_frame_add(win); - elm_object_text_set(fr, "Scale: 2.0"); - lb = elm_label_add(win); - elm_object_text_set(lb, - "Parent frame scale
" - "is 2.0. Child should
" - "inherit it."); - elm_object_content_set(fr, lb); - evas_object_show(lb); - elm_object_scale_set(fr, 2.0); - elm_box_pack_end(bx, fr); - evas_object_show(fr); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_scroller.c b/src/bin/test_scroller.c deleted file mode 100644 index 32ccb5d..0000000 --- a/src/bin/test_scroller.c +++ /dev/null @@ -1,260 +0,0 @@ -#include -#include "tsuite.h" - -void -my_bt_go_300_300(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_scroller_region_bring_in((Evas_Object *)data, 300, 300, 318, 318); -} - -void -my_bt_go_900_300(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_scroller_region_bring_in((Evas_Object *)data, 900, 300, 318, 318); -} - -void -my_bt_go_300_900(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_scroller_region_bring_in((Evas_Object *)data, 300, 900, 318, 318); -} - -void -my_bt_go_900_900(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_scroller_region_bring_in((Evas_Object *)data, 900, 900, 318, 318); -} - -TEST_START(test_scroller) -{ -/******* HOW TO TEST ******************* - Do NOT Exit test window while testing - This causes scroller to get redundent - event that breaks this test. -******** HOW TO TEST ******************/ - Evas_Object *bg2, *tb, *tb2, *bg, *sc, *bt; - int i, j, n; - char buf[PATH_MAX]; - const char *img[9] = - { - "panel_01.jpg", - "plant_01.jpg", - "rock_01.jpg", - "rock_02.jpg", - "sky_01.jpg", - "sky_02.jpg", - "sky_03.jpg", - "sky_04.jpg", - "wood_01.jpg" - }; - - 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); - - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - n = 0; - for (j = 0; j < 12; j++) - { - for (i = 0; i < 12; i++) - { - bg2 = elm_bg_add(win); - snprintf(buf, sizeof(buf), "%s/images/%s", - elm_app_data_dir_get(), img[n]); - n++; - if (n >= 9) n = 0; - elm_bg_file_set(bg2, buf, NULL); - evas_object_size_hint_weight_set(bg2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bg2, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_min_set(bg2, 318, 318); - elm_table_pack(tb, bg2, i, j, 1, 1); - evas_object_show(bg2); - } - } - - sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, sc); - - elm_object_content_set(sc, tb); - evas_object_show(tb); - - elm_scroller_page_relative_set(sc, 1.0, 1.0); -// elm_scroller_page_size_set(sc, 200, 200); - evas_object_show(sc); - - tb2 = elm_table_add(win); - evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, tb2); - - bt = elm_button_add(win); - elm_object_text_set(bt, "to 300 300"); - evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_300, sc); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.1, 0.1); - elm_table_pack(tb2, bt, 0, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "to 900 300"); - evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_300, sc); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.1); - elm_table_pack(tb2, bt, 1, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "to 300 900"); - evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_900, sc); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.1, 0.9); - elm_table_pack(tb2, bt, 0, 1, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "to 900 900"); - evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_900, sc); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bt, 0.9, 0.9); - elm_table_pack(tb2, bt, 1, 1, 1, 1); - evas_object_show(bt); - - evas_object_show(tb2); - - evas_object_resize(win, 320, 320); - evas_object_show(win); -} -TEST_END - -void -click_through(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - printf("click went through on %p\n", obj); -} - -TEST_START(test_scroller2) -{ - Evas_Object *bt, *bx, *bx2, *bg, *sc, *tb, *tb2, *rc; - int i, j; - - 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); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.0); - - /* { */ - for (i = 0; i < 3; i++) - { - bt = elm_button_add(win); - elm_object_text_set(bt, "Vertical"); - evas_object_smart_callback_add(bt, "clicked", click_through, NULL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - } - /* } */ - - /* { */ - sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, 0.5); - elm_scroller_bounce_set(sc, 1, 0); - elm_scroller_content_min_limit(sc, 0, 1); - elm_box_pack_end(bx, sc); - evas_object_show(sc); - - bx2 = elm_box_add(win); - elm_box_horizontal_set(bx2, EINA_TRUE); - - for (i = 0; i < 10; i++) - { - bt = elm_button_add(win); - elm_object_text_set(bt, "... Horizontal scrolling ..."); - evas_object_smart_callback_add(bt, "clicked", click_through, NULL); - elm_box_pack_end(bx2, bt); - evas_object_show(bt); - } - - elm_object_content_set(sc, bx2); - evas_object_show(bx2); - /* } */ - - /* { */ - for (i = 0; i < 3; i++) - { - bt = elm_button_add(win); - elm_object_text_set(bt, "Vertical"); - evas_object_smart_callback_add(bt, "clicked", click_through, NULL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - } - /* } */ - - /* { */ - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - rc = evas_object_rectangle_add(evas_object_evas_get(win)); - evas_object_size_hint_min_set(rc, 200, 120); - elm_table_pack(tb, rc, 0, 0, 1, 1); - - sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, sc, 0, 0, 1, 1); - evas_object_show(sc); - - tb2 = elm_table_add(win); - - for (j = 0; j < 16; j++) - { - for (i = 0; i < 16; i++) - { - bt = elm_button_add(win); - elm_object_text_set(bt, "Both"); - evas_object_smart_callback_add(bt, "clicked", click_through, NULL); - elm_table_pack(tb2, bt, i, j, 1, 1); - evas_object_show(bt); - } - } - - elm_object_content_set(sc, tb2); - evas_object_show(tb2); - /* } */ - - for (i = 0; i < 24; i++) - { - bt = elm_button_add(win); - elm_object_text_set(bt, "Vertical"); - evas_object_smart_callback_add(bt, "clicked", click_through, NULL); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - } - - sc = elm_scroller_add(win); - evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_scroller_bounce_set(sc, 0, 1); - elm_win_resize_object_add(win, sc); - elm_object_content_set(sc, bx); - evas_object_show(bx); - evas_object_show(sc); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_segment_control.c b/src/bin/test_segment_control.c deleted file mode 100644 index c0c6f63..0000000 --- a/src/bin/test_segment_control.c +++ /dev/null @@ -1,96 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_segment_control) -{ - Evas_Object *bg, *ic, *ic1, *ic2, *ic3, *ic4, *ic5; - Elm_Object_Item *seg_it; - - Evas_Object * in_layout; - Evas_Object *segment1, *segment2, *segment3, *segment4; - char buf[PATH_MAX]; - char buf1[PATH_MAX]; - char buf2[PATH_MAX]; - char buf3[PATH_MAX]; - char buf4[PATH_MAX]; - char buf5[PATH_MAX]; - char buf6[PATH_MAX]; - - 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); - - in_layout = elm_layout_add( win ); - elm_win_resize_object_add(win, in_layout); - snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get()); - elm_layout_file_set(in_layout, buf, "segment_test"); - evas_object_size_hint_weight_set(in_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - ic = elm_icon_add(in_layout); - snprintf(buf1, sizeof(buf1), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf1, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - ic1 = elm_icon_add(in_layout); - snprintf(buf2, sizeof(buf2), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic1, buf2, NULL); - evas_object_size_hint_aspect_set(ic1, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - segment1 = elm_segment_control_add(win); - elm_segment_control_item_add(segment1, NULL, "Only Text"); - seg_it = elm_segment_control_item_add(segment1, ic, NULL); - elm_segment_control_item_selected_set(seg_it, EINA_TRUE); - elm_segment_control_item_add(segment1, ic1, "Text_Icon_test"); - elm_segment_control_item_add(segment1, NULL, "Seg4"); - elm_segment_control_item_add(segment1, NULL, "Seg5"); - - segment2 = elm_segment_control_add(win); - elm_segment_control_item_add(segment2, NULL, "SegmentItem"); - seg_it = elm_segment_control_item_add(segment2, NULL, "SegmentItem"); - elm_segment_control_item_selected_set(seg_it, EINA_TRUE); - elm_segment_control_item_add(segment2, NULL, "SegmentControlItem"); - elm_segment_control_item_add(segment2, NULL, "SegmentItem"); - - ic2 = elm_icon_add(in_layout); - snprintf(buf3, sizeof(buf3), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic2, buf3, NULL); - evas_object_size_hint_aspect_set(ic2, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - ic3 = elm_icon_add(in_layout); - snprintf(buf4, sizeof(buf4), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic3, buf4, NULL); - evas_object_size_hint_aspect_set(ic3, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - ic4 = elm_icon_add(in_layout); - snprintf(buf5, sizeof(buf5), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic4, buf5, NULL); - evas_object_size_hint_aspect_set(ic4, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - segment3 = elm_segment_control_add(win); - elm_segment_control_item_add(segment3, ic2, NULL); - seg_it = elm_segment_control_item_add(segment3, ic3, NULL); - elm_segment_control_item_selected_set(seg_it, EINA_TRUE); - elm_segment_control_item_add(segment3, ic4, NULL); - - ic5 = elm_icon_add(in_layout); - snprintf(buf6, sizeof(buf6), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic5, buf6, NULL); - evas_object_size_hint_aspect_set(ic5, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - - segment4 = elm_segment_control_add(win); - elm_segment_control_item_add(segment4, NULL, "Disabled"); - seg_it = elm_segment_control_item_add(segment4, ic5, "Disabled"); - elm_segment_control_item_selected_set(seg_it, EINA_TRUE); - elm_segment_control_item_add(segment4, NULL, "Disabled"); - elm_object_disabled_set(segment4, EINA_TRUE); - - elm_object_part_content_set(in_layout, "segment1", segment1); - elm_object_part_content_set(in_layout, "segment2", segment2); - elm_object_part_content_set(in_layout, "segment3", segment3); - elm_object_part_content_set(in_layout, "segment4", segment4); - - evas_object_show(in_layout); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_separator.c b/src/bin/test_separator.c deleted file mode 100644 index 9ed087a..0000000 --- a/src/bin/test_separator.c +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_separator) -{ - Evas_Object *bg, *bx0, *bx, *bt, *sp; - - 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); - - bx0 = elm_box_add(win); - evas_object_size_hint_weight_set(bx0, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(bx0, 1); - elm_win_resize_object_add(win, bx0); - evas_object_show(bx0); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx0, bx); - evas_object_show(bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Left upper corner"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - sp = elm_separator_add(win); - elm_separator_horizontal_set(sp, 1); // by default, separator is vertical, we must set it horizontal - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Left lower corner"); - elm_object_disabled_set(bt, 1); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - sp = elm_separator_add(win); // now we need vertical separator - elm_box_pack_end(bx0, sp); - evas_object_show(sp); - - bx = elm_box_add(win); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx0, bx); - evas_object_show(bx); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Right upper corner"); - elm_object_disabled_set(bt, 1); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - sp = elm_separator_add(win); - elm_separator_horizontal_set(sp, 1); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Right lower corner"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_slider.c b/src/bin/test_slider.c deleted file mode 100644 index 351722e..0000000 --- a/src/bin/test_slider.c +++ /dev/null @@ -1,190 +0,0 @@ -#include -#include "tsuite.h" -void -_change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - double val = elm_slider_value_get(obj); - elm_slider_value_set(data, val); -} - -TEST_START(test_slider) -{ - Evas_Object *bg, *bx, *sl, *ic, *sl1, *bx2; - char buf[PATH_MAX]; - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - sl = elm_slider_add(win); - sl1 = sl; - elm_object_text_set(sl, "Horizontal"); - elm_object_part_content_set(sl, "icon", ic); - elm_slider_unit_format_set(sl, "%1.1f units"); - elm_slider_span_size_set(sl, 120); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_show(ic); - evas_object_show(sl); - - /* horizontal disable state */ - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Disabled"); - elm_object_part_content_set(sl, "icon", ic); - elm_slider_unit_format_set(sl, "%1.1f units"); - elm_slider_span_size_set(sl, 120); - elm_slider_min_max_set(sl, 50, 150); - elm_slider_value_set(sl, 80); - elm_object_disabled_set(sl, EINA_TRUE); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sl); - evas_object_show(ic); - evas_object_show(sl); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Horizontal inverted"); - elm_object_part_content_set(sl, "end", ic); - elm_slider_span_size_set(sl, 80); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_slider_indicator_format_set(sl, "%3.0f"); - elm_slider_min_max_set(sl, 50, 150); - elm_slider_value_set(sl, 80); - elm_slider_inverted_set(sl, EINA_TRUE); - 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(ic); - evas_object_show(sl); - - /* label2 disable */ - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Disabled inverted"); - elm_object_part_content_set(sl, "end", ic); - elm_slider_span_size_set(sl, 80); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_slider_indicator_format_set(sl, "%3.0f"); - elm_slider_min_max_set(sl, 50, 150); - elm_slider_value_set(sl, 80); - elm_slider_inverted_set(sl, EINA_TRUE); - elm_object_disabled_set(sl, EINA_TRUE); - 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(ic); - evas_object_show(sl); - - sl = elm_slider_add(win); - elm_slider_indicator_show_set(sl, EINA_FALSE); - elm_object_text_set(sl, "Scale doubled"); - elm_slider_unit_format_set(sl, "%3.0f units"); - elm_slider_span_size_set(sl, 40); - evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_slider_indicator_format_set(sl, "%3.0f"); - elm_slider_min_max_set(sl, 50, 150); - elm_slider_value_set(sl, 80); - elm_slider_inverted_set(sl, EINA_TRUE); - elm_object_scale_set(sl, 2.0); - elm_box_pack_end(bx, sl); - evas_object_show(ic); - evas_object_show(sl); - - bx2 = elm_box_add(win); - evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_horizontal_set(bx2, EINA_TRUE); - elm_box_pack_end(bx, bx2); - evas_object_show(bx2); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); - - sl = elm_slider_add(win); - elm_object_part_content_set(sl, "icon", ic); - elm_object_text_set(sl, "Vertical inverted"); - elm_slider_inverted_set(sl, EINA_TRUE); - elm_slider_unit_format_set(sl, "units"); - elm_slider_span_size_set(sl, 60); - 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, 0.2); - elm_object_scale_set(sl, 1.0); - elm_slider_horizontal_set(sl, 0); - elm_box_pack_end(bx2, sl); - evas_object_show(ic); - evas_object_show(sl); - - evas_object_smart_callback_add(sl1, "changed", _change_cb, sl); - - sl = elm_slider_add(win); - elm_object_text_set(sl, "Vertical"); - elm_slider_unit_format_set(sl, "units"); - elm_slider_span_size_set(sl, 60); - 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, 0.2); - elm_object_scale_set(sl, 1.0); - elm_slider_horizontal_set(sl, EINA_FALSE); - elm_box_pack_end(bx2, sl); - evas_object_show(ic); - evas_object_show(sl); - - /* vertical disable state */ - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_HORIZONTAL, 1, 1); - - sl = elm_slider_add(win); - elm_object_part_content_set(sl, "icon", ic); - elm_object_text_set(sl, "Disabled vertical"); - elm_slider_inverted_set(sl, EINA_TRUE); - elm_slider_unit_format_set(sl, "units"); - 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, 0.2); - elm_object_scale_set(sl, 1.0); - elm_slider_horizontal_set(sl, 0); - elm_object_disabled_set(sl, EINA_TRUE); - elm_box_pack_end(bx2, sl); - evas_object_show(ic); - evas_object_show(sl); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_slideshow.c b/src/bin/test_slideshow.c deleted file mode 100644 index 952dbba..0000000 --- a/src/bin/test_slideshow.c +++ /dev/null @@ -1,204 +0,0 @@ -#include -#include "tsuite.h" -static Evas_Object *slideshow, *bt_start, *bt_stop; -static Elm_Slideshow_Item_Class itc; - -static void -_notify_show(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - evas_object_show(data); -} - -static void -_next(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_slideshow_next(data); -} - -static void -_previous(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_slideshow_previous(data); -} - -static void -_mouse_in(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_notify_timeout_set(data, 0.0); - evas_object_show(data); -} - - -static void -_mouse_out(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_notify_timeout_set(data, 3.0); -} - -static void -_hv_select(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - elm_slideshow_transition_set(slideshow, data); - elm_object_text_set(obj, data); -} - -static void -_layout_select(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - elm_slideshow_layout_set(slideshow, data); - elm_object_text_set(obj, data); -} - -static void -_start(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data)); - - elm_object_disabled_set(bt_start, EINA_TRUE); - elm_object_disabled_set(bt_stop, EINA_FALSE); -} - -static void -_stop(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_slideshow_timeout_set(slideshow, 0.0); - elm_object_disabled_set(bt_start, EINA_FALSE); - elm_object_disabled_set(bt_stop, EINA_TRUE); -} - -static void -_spin(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - if (elm_slideshow_timeout_get(slideshow) > 0) - elm_slideshow_timeout_set(slideshow, elm_spinner_value_get(data)); -} - -static Evas_Object * -_get(void *data, Evas_Object *obj) -{ - //Evas_Object *photo = elm_photocam_add(obj); - //elm_photocam_file_set(photo, data); - //elm_photocam_zoom_mode_set(photo, ELM_PHOTOCAM_ZOOM_MODE_AUTO_FIT); - - Evas_Object *photo = elm_photo_add(obj); - elm_photo_file_set(photo, data); - elm_photo_fill_inside_set(photo, EINA_TRUE); - elm_object_style_set(photo, "shadow"); - - return photo; -} - -static char * -_get_str(char *dest, const char *str) -{ /* dest should be not null and big enough */ - sprintf(dest, "%s/%s", elm_app_data_dir_get(), str); - return dest; -} - -TEST_START(test_slideshow) -{ - Evas_Object *bg, *notify, *bx, *bt, *hv, *spin; - const Eina_List *l; - const char *transition, *layout; - char buf[1024]; - - 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); - - slideshow = elm_slideshow_add(win); - elm_slideshow_loop_set(slideshow, EINA_TRUE); - elm_win_resize_object_add(win, slideshow); - evas_object_size_hint_weight_set(slideshow, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(slideshow); - - itc.func.get = _get; - itc.func.del = NULL; - - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/logo.png")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/plant_01.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/rock_01.jpg")); - elm_slideshow_item_add(slideshow,&itc,get_str(buf,"images/rock_02.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/sky_01.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/sky_04.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/wood_01.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/mystrale.jpg")); - elm_slideshow_item_add(slideshow,&itc,_get_str(buf,"images/mystrale_2.jpg")); - - notify = elm_notify_add(win); - elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM); - elm_win_resize_object_add(win, notify); - elm_notify_timeout_set(notify, 3.0); - - bx = elm_box_add(win); - elm_box_horizontal_set(bx, EINA_TRUE); - elm_object_content_set(notify, bx); - evas_object_show(bx); - - evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_IN, _mouse_in, - notify); - evas_object_event_callback_add(bx, EVAS_CALLBACK_MOUSE_OUT, _mouse_out, - notify); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Previous"); - evas_object_smart_callback_add(bt, "clicked", _previous, slideshow); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Next"); - evas_object_smart_callback_add(bt, "clicked", _next, slideshow); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - hv = elm_hoversel_add(win); - elm_box_pack_end(bx, hv); - elm_hoversel_hover_parent_set(hv, win); - EINA_LIST_FOREACH(elm_slideshow_transitions_get(slideshow), l, transition) - elm_hoversel_item_add(hv, transition, NULL, 0, _hv_select, transition); - elm_object_text_set(hv, eina_list_data_get(elm_slideshow_transitions_get(slideshow))); - evas_object_show(hv); - - hv = elm_hoversel_add(win); - elm_box_pack_end(bx, hv); - elm_hoversel_hover_parent_set(hv, win); - EINA_LIST_FOREACH(elm_slideshow_layouts_get(slideshow), l, layout) - elm_hoversel_item_add(hv, layout, NULL, 0, _layout_select, layout); - elm_object_text_set(hv, elm_slideshow_layout_get(slideshow)); - evas_object_show(hv); - - spin = elm_spinner_add(win); - elm_spinner_label_format_set(spin, "%2.0f secs."); - evas_object_smart_callback_add(spin, "changed", _spin, spin); - elm_spinner_step_set(spin, 1); - elm_spinner_min_max_set(spin, 1, 30); - elm_spinner_value_set(spin, 3); - elm_box_pack_end(bx, spin); - evas_object_show(spin); - - bt = elm_button_add(win); - bt_start = bt; - elm_object_text_set(bt, "Start"); - evas_object_smart_callback_add(bt, "clicked", _start, spin); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - bt_stop = bt; - elm_object_text_set(bt, "Stop"); - evas_object_smart_callback_add(bt, "clicked", _stop, spin); - elm_box_pack_end(bx, bt); - elm_object_disabled_set(bt, EINA_TRUE); - evas_object_show(bt); - - evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_UP, - _notify_show, notify); - evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_MOVE, - _notify_show, notify); - - evas_object_resize(win, 500, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_spinner.c b/src/bin/test_spinner.c deleted file mode 100644 index b4ce8e0..0000000 --- a/src/bin/test_spinner.c +++ /dev/null @@ -1,81 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_spinner) -{ - Evas_Object *bg, *bx, *sp; - - 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); - - sp = elm_spinner_add(win); - elm_spinner_label_format_set(sp, "%1.1f units"); - elm_spinner_step_set(sp, 1.3); - elm_spinner_wrap_set(sp, ELM_WRAP_CHAR); - elm_spinner_min_max_set(sp, -50.0, 250.0); - evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - sp = elm_spinner_add(win); - elm_spinner_label_format_set(sp, "Percentage %%%1.2f something"); - elm_spinner_step_set(sp, 5.0); - elm_spinner_wrap_set(sp, ELM_WRAP_CHAR); - elm_spinner_min_max_set(sp, 0.0, 100.0); - evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - sp = elm_spinner_add(win); - elm_spinner_label_format_set(sp, "%1.1f units"); - elm_spinner_step_set(sp, 1.3); - elm_spinner_wrap_set(sp, ELM_WRAP_CHAR); - elm_object_style_set (sp, "vertical"); - elm_spinner_min_max_set(sp, -50.0, 250.0); - evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - sp = elm_spinner_add(win); - elm_spinner_label_format_set(sp, "Disabled %.0f"); - elm_object_disabled_set(sp, 1); - elm_spinner_min_max_set(sp, -50.0, 250.0); - evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - sp = elm_spinner_add(win); - elm_spinner_min_max_set(sp, 1, 12); - elm_spinner_label_format_set(sp, "%.0f"); - elm_spinner_step_set(sp, 1.0); - elm_spinner_editable_set(sp, EINA_FALSE); - elm_spinner_special_value_add(sp, 1, "January"); - elm_spinner_special_value_add(sp, 2, "February"); - elm_spinner_special_value_add(sp, 3, "March"); - elm_spinner_special_value_add(sp, 4, "April"); - elm_spinner_special_value_add(sp, 5, "May"); - elm_spinner_special_value_add(sp, 6, "June"); - elm_spinner_special_value_add(sp, 7, "July"); - elm_spinner_special_value_add(sp, 8, "August"); - elm_spinner_special_value_add(sp, 9, "September"); - elm_spinner_special_value_add(sp, 10, "October"); - elm_spinner_special_value_add(sp, 11, "November"); - elm_spinner_special_value_add(sp, 12, "December"); - evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5); - evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_pack_end(bx, sp); - evas_object_show(sp); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_table.c b/src/bin/test_table.c deleted file mode 100644 index fdaa76d..0000000 --- a/src/bin/test_table.c +++ /dev/null @@ -1,340 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_table) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - 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_table_pack(tb, bt, 0, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - 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_table_pack(tb, bt, 1, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - 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_table_pack(tb, bt, 2, 0, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 4"); - 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_table_pack(tb, bt, 0, 1, 2, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 5"); - 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_table_pack(tb, bt, 2, 1, 1, 2); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button a"); - 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_table_pack(tb, bt, 0, 2, 2, 1); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_table2) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_table_homogeneous_set(tb, EINA_TRUE); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "A"); - 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_table_pack(tb, bt, 1, 1, 2, 2); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Blah blah blah"); - 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_table_pack(tb, bt, 3, 0, 2, 3); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Hallow"); - 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_table_pack(tb, bt, 0, 3, 10, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "B"); - 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_table_pack(tb, bt, 2, 5, 2, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "C"); - 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_table_pack(tb, bt, 8, 8, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Wide"); - 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_table_pack(tb, bt, 1, 7, 7, 2); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -static void -my_tb_ch(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Evas_Object *win = data; - Evas_Object *tb = evas_object_data_get(win, "tb"); - Evas_Object *b2 = evas_object_data_get(win, "b2"); - - elm_table_unpack(tb, b2); - elm_table_pack(tb, b2, 1, 0, 1, 2); -} - -TEST_START(test_table3) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_data_set(win, "tb", tb); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - 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_table_pack(tb, bt, 0, 0, 1, 1); - evas_object_data_set(win, "b1", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - 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_table_pack(tb, bt, 1, 0, 1, 1); - evas_object_data_set(win, "b2", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, bt, 0, 1, 1, 1); - evas_object_data_set(win, "b3", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_table4) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_data_set(win, "tb", tb); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 1"); - evas_object_size_hint_weight_set(bt, 0.25, 0.25); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, bt, 0, 0, 1, 1); - evas_object_data_set(win, "b1", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 2"); - evas_object_size_hint_weight_set(bt, 0.75, 0.25); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, bt, 1, 0, 1, 1); - evas_object_data_set(win, "b2", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button 3"); - evas_object_size_hint_weight_set(bt, 0.25, 0.75); - evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_table_pack(tb, bt, 0, 1, 1, 1); - evas_object_data_set(win, "b3", bt); - evas_object_smart_callback_add(bt, "clicked", my_tb_ch, win); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_table5) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_table_homogeneous_set(tb, EINA_TRUE); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "A"); - 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_table_pack(tb, bt, 33, 0, 34, 33); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "B"); - 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_table_pack(tb, bt, 67, 33, 33, 34); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "C"); - 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_table_pack(tb, bt, 33, 67, 34, 33); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "D"); - 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_table_pack(tb, bt, 0, 33, 33, 34); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "X"); - 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_table_pack(tb, bt, 33, 33, 34, 34); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END - -TEST_START(test_table6) -{ - Evas_Object *bg, *tb, *bt; - - 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); - - tb = elm_table_add(win); - elm_table_homogeneous_set(tb, EINA_TRUE); - elm_win_resize_object_add(win, tb); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(tb); - - bt = elm_button_add(win); - elm_object_text_set(bt, "C"); - 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_table_pack(tb, bt, 1, 1, 2, 2); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "A"); - 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_table_pack(tb, bt, 1, 1, 2, 2); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Blah blah blah"); - 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_table_pack(tb, bt, 3, 0, 2, 3); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Hallow"); - 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_table_pack(tb, bt, 0, 3, 10, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "B"); - 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_table_pack(tb, bt, 1, 1, 1, 1); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Wide"); - 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_table_pack(tb, bt, 1, 7, 7, 2); - evas_object_show(bt); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_toggle.c b/src/bin/test_toggle.c deleted file mode 100644 index 0281d34..0000000 --- a/src/bin/test_toggle.c +++ /dev/null @@ -1,85 +0,0 @@ -#include -#include "tsuite.h" -TEST_START(test_toggle) -{ - Evas_Object *bg, *bx, *ic, *tg; - char buf[PATH_MAX]; - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, 0.5); - elm_object_text_set(tg, "Icon sized to toggle"); - elm_object_content_set(tg, ic); - elm_check_state_set(tg, 1); - elm_object_part_text_set(tg, "on", "Yes"); - elm_object_part_text_set(tg, "off", "No"); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_text_set(tg, "Icon no scale"); - elm_object_content_set(tg, ic); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - evas_object_show(ic); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_text_set(tg, "Icon no scale"); - elm_object_content_set(tg, ic); - elm_object_disabled_set(tg, 1); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - evas_object_show(ic); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_text_set(tg, "Label Only"); - elm_object_part_text_set(tg, "on", "Big long fun times label"); - elm_object_part_text_set(tg, "off", "Small long happy fun label"); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - - tg = elm_check_add(win); - elm_object_style_set(tg, "toggle"); - elm_object_content_set(tg, ic); - elm_box_pack_end(bx, tg); - evas_object_show(tg); - evas_object_show(ic); - - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_toolbar.c b/src/bin/test_toolbar.c deleted file mode 100644 index 637215e..0000000 --- a/src/bin/test_toolbar.c +++ /dev/null @@ -1,699 +0,0 @@ -#include -#include "tsuite.h" -static void -tb_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/panel_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(data, buf); -} - -static void -tb_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(data, buf); -} - -static void -tb_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/wood_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(data, buf); -} - -static void -tb_3a(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - tb_3(data, obj, event_info); - elm_toolbar_item_state_set(event_info, elm_toolbar_item_state_next(event_info)); -} - -static void -tb_3b(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - tb_3(data, obj, event_info); - elm_toolbar_item_state_unset(event_info); -} - -static void -tb_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/sky_03.jpg", elm_app_data_dir_get()); - elm_photo_file_set(data, buf); -} - -static void -tb_4a(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_toolbar_item_state_set(event_info, elm_toolbar_item_state_prev(event_info)); -} - -static void -tb_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - elm_photo_file_set(data, NULL); -} - -TEST_START(test_toolbar) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *tb_it; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_MENU); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(tb_it, EINA_TRUE); - elm_toolbar_item_priority_set(tb_it, 100); - - tb_it = elm_toolbar_item_append(tb, "folder-new", "World", tb_2, ph1); - elm_toolbar_item_priority_set(tb_it, -100); - - tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3, ph4); - elm_toolbar_item_priority_set(tb_it, 150); - - tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4, ph4); - elm_toolbar_item_priority_set(tb_it, 0); - - tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(tb_it, -200); - - tb_it = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(tb_it, 1); - elm_toolbar_item_priority_set(tb_it, -999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(tb_it); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "Menu", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - //elm_table_homogeneous_set(tb, 1); - evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -TEST_START(test_toolbar2) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *item; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_SCROLL); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - item = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(item, EINA_TRUE); - elm_toolbar_item_priority_set(item, -100); - - item = elm_toolbar_item_append(tb, "folder-new", "World", tb_2, ph1); - elm_toolbar_item_priority_set(item, 100); - - item = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3, ph4); - elm_toolbar_item_priority_set(item, -150); - - item = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4, ph4); - elm_toolbar_item_priority_set(item, -200); - - item = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(item, 0); - - item = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(item, 1); - elm_toolbar_item_priority_set(item, -999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(item); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "Scroll", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - //elm_table_homogeneous_set(tb, 1); - evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -TEST_START(test_toolbar3) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *tb_it; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_NONE); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(tb_it, EINA_TRUE); - elm_toolbar_item_priority_set(tb_it, 0); - - tb_it = elm_toolbar_item_append(tb, "folder-new", "World", tb_2, ph1); - elm_toolbar_item_priority_set(tb_it, -200); - - tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3, ph4); - elm_toolbar_item_priority_set(tb_it, 1); - - tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4, ph4); - elm_toolbar_item_priority_set(tb_it, -10); - - tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(tb_it, 50); - - tb_it = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(tb_it, 1); - elm_toolbar_item_priority_set(tb_it, 999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(tb_it); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "None", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -/* The same test of toolbar, but using hide shrink mode instead of menu */ -TEST_START(test_toolbar4) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *tb_it; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_HIDE); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(tb_it, EINA_TRUE); - elm_toolbar_item_priority_set(tb_it, 100); - - tb_it = elm_toolbar_item_append(tb, "folder-new", "World", tb_2, ph1); - elm_toolbar_item_priority_set(tb_it, -100); - - tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3, ph4); - elm_toolbar_item_priority_set(tb_it, 150); - - tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4, ph4); - elm_toolbar_item_priority_set(tb_it, 0); - - tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(tb_it, -200); - - tb_it = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(tb_it, 1); - elm_toolbar_item_priority_set(tb_it, -999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(tb_it); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "Menu", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END - -/* Toolbar with multiple state buttons */ -TEST_START(test_toolbar5) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *tb_it; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_MENU); - evas_object_size_hint_weight_set(tb, 0.0, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - elm_toolbar_no_select_mode_set(tb, EINA_TRUE); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(tb_it, EINA_TRUE); - elm_toolbar_item_priority_set(tb_it, 100); - - snprintf(buf, sizeof(buf), "%s/images/icon_04.pngj", elm_app_data_dir_get()); - tb_it = elm_toolbar_item_append(tb, buf, "World", tb_2, ph1); - elm_toolbar_item_priority_set(tb_it, -100); - - tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3a, ph4); - elm_toolbar_item_state_add(tb_it, "object-rotate-left", "H2", tb_3b, ph4); - elm_toolbar_item_priority_set(tb_it, 150); - - tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4a, ph4); - elm_toolbar_item_state_add(tb_it, "emptytrash", "Comes2", tb_4a, ph4); - elm_toolbar_item_state_add(tb_it, "trashcan_full", "Comes3", tb_4a, ph4); - elm_toolbar_item_priority_set(tb_it, 0); - - tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(tb_it, -200); - - tb_it = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(tb_it, 1); - elm_toolbar_item_priority_set(tb_it, -999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(tb_it); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "Menu", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END -TEST_START(test_toolbar6) -{ - Evas_Object *bg, *bx, *tb, *ph, *menu; - Evas_Object *ph1, *ph2, *ph3, *ph4; - Elm_Object_Item *tb_it; - Elm_Object_Item *menu_it; - char buf[PATH_MAX]; - - 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); - elm_box_horizontal_set(bx, EINA_TRUE); - 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); - evas_object_show(bx); - - tb = elm_toolbar_add(win); - elm_toolbar_horizontal_set(tb, EINA_FALSE); - elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_MENU); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph1 = elm_photo_add(win); - ph2 = elm_photo_add(win); - ph3 = elm_photo_add(win); - ph4 = elm_photo_add(win); - - tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", tb_1, ph1); - elm_object_item_disabled_set(tb_it, EINA_TRUE); - elm_toolbar_item_priority_set(tb_it, 100); - - tb_it = elm_toolbar_item_append(tb, "folder-new", "World", tb_2, ph1); - elm_toolbar_item_priority_set(tb_it, -100); - - tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", tb_3, ph4); - elm_toolbar_item_priority_set(tb_it, 150); - - tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", tb_4, ph4); - elm_toolbar_item_priority_set(tb_it, 0); - - tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", tb_5, ph4); - elm_toolbar_item_priority_set(tb_it, -200); - - tb_it = elm_toolbar_item_append(tb, "refresh", "Menu", NULL, NULL); - elm_toolbar_item_menu_set(tb_it, 1); - elm_toolbar_item_priority_set(tb_it, -999999); - elm_toolbar_menu_parent_set(tb, win); - menu = elm_toolbar_item_menu_get(tb_it); - - elm_menu_item_add(menu, NULL, "edit-cut", "Shrink", tb_3, ph4); - menu_it = elm_menu_item_add(menu, NULL, "edit-copy", "Mode", tb_4, ph4); - elm_menu_item_add(menu, menu_it, "edit-paste", "is set to", tb_4, ph4); - elm_menu_item_add(menu, NULL, "edit-delete", "Menu", tb_5, ph4); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb = elm_table_add(win); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); - - ph = ph1; - elm_photo_size_set(ph, 40); - snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 0, 1, 1); - evas_object_show(ph); - - ph = ph2; - elm_photo_size_set(ph, 80); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 0, 1, 1); - evas_object_show(ph); - - ph = ph3; - elm_photo_size_set(ph, 20); - snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 0, 1, 1, 1); - evas_object_show(ph); - - ph = ph4; - elm_photo_size_set(ph, 60); - snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); - elm_photo_file_set(ph, buf); - evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(ph, 0.5, 0.5); - elm_table_pack(tb, ph, 1, 1, 1, 1); - evas_object_show(ph); - - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - evas_object_resize(win, 320, 300); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_tooltip.c b/src/bin/test_tooltip.c deleted file mode 100644 index 6d5cbf0..0000000 --- a/src/bin/test_tooltip.c +++ /dev/null @@ -1,600 +0,0 @@ -#include -#include "tsuite.h" -typedef struct _Testitem -{ - Elm_Gengrid_Item *item; - const char *path; - int mode; - int onoff; -} Testitem; - -static Elm_Gengrid_Item_Class gic; - -char * -grdt_lbl_get(void *data, - Evas_Object *obj __UNUSED__, - const char *part __UNUSED__) -{ - const Testitem *ti = data; - char buf[256]; - snprintf(buf, sizeof(buf), "Photo %s", ti->path); - return strdup(buf); -} - -Evas_Object * -grdt_content_get(void *data, - Evas_Object *obj, - const char *part) -{ - const Testitem *ti = data; - if (!strcmp(part, "elm.swallow.icon")) - { - Evas_Object *icon = elm_bg_add(obj); - elm_bg_file_set(icon, ti->path, NULL); - evas_object_size_hint_aspect_set(icon, - EVAS_ASPECT_CONTROL_VERTICAL, - 1, 1); - evas_object_show(icon); - return icon; - } - return NULL; -} - -static Elm_Genlist_Item_Class itct; - -static void -gltt_exp(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Elm_Object_Item *glit = event_info; - Evas_Object *gl = elm_genlist_item_genlist_get(glit); - int val = (int)(long)elm_genlist_item_data_get(glit); - Elm_Object_Item *glit1, *glit2, *glit3; - - val *= 10; - glit1 = elm_genlist_item_append(gl, &itct, (void *)(long)(val + 1), glit, - ELM_GENLIST_ITEM_NONE, NULL, NULL); - glit2 = elm_genlist_item_append(gl, &itct, (void *)(long)(val + 2), glit, - ELM_GENLIST_ITEM_NONE, NULL, NULL); - glit3 = elm_genlist_item_append(gl, &itct, (void *)(long)(val + 3), glit, - ELM_GENLIST_ITEM_SUBITEMS, NULL, NULL); - - elm_genlist_item_tooltip_text_set(glit1, "Testing A"); - elm_genlist_item_tooltip_text_set(glit2, "Testing B"); - elm_genlist_item_tooltip_text_set(glit3, "Testing C"); -} - -static void -gltt_con(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_subitems_clear(glit); -} - -static void -gltt_exp_req(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_TRUE); -} - -static void -gltt_con_req(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - Elm_Object_Item *glit = event_info; - elm_genlist_item_expanded_set(glit, EINA_FALSE); -} - -char * -gltt_text_get(void *data, - Evas_Object *obj __UNUSED__, - const char *part __UNUSED__) -{ - char buf[256]; - snprintf(buf, sizeof(buf), "Item mode %i", (int)(long)data); - return strdup(buf); -} - -static Evas_Object * -_tt_item_icon(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt, - void *item __UNUSED__) -{ - Evas_Object *ic = elm_icon_add(tt); - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", - elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_resize(ic, 64, 64); - return ic; -} - -static Evas_Object * -_tt_item_icon2(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt, - void *item __UNUSED__) -{ - Evas_Object *ic = elm_icon_add(tt); - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - return ic; -} - -static Evas_Object * -_tt_item_icon3(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt, - void *item __UNUSED__) -{ - int w, h, sw, sh; - Evas_Object *ic = elm_icon_add(tt); - - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/insanely_huge_test_image.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_size_get(ic, &w, &h); - elm_win_screen_size_get(tt, NULL, NULL, &sw, &sh); - if ((w > sw) || (h > sh)) - { - float sc = 0; - if ((float)w / (float)sw >= 0.8) - sc = ((float)sw * 0.8) / (float)w; - else if ((float)h / (float)sh >= 0.8) - sc = ((float)sh * 0.8) / (float)h; - if (sc) elm_object_scale_set(ic, sc); - } - return ic; -} - -static Evas_Object * -_tt_item_label(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt, - void *item __UNUSED__) -{ - Evas_Object *l = elm_label_add(tt); - elm_object_text_set(l, "Something useful here?" - "No probably not, but this is a super long label" - "which probably breaks on your system, now doesn't it?" - "Yeah, I thought so."); - elm_label_line_wrap_set(l, ELM_WRAP_MIXED); - return l; -} - -static void -_tt_item_icon_del(void *data, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - // test to check for del_cb behavior! - printf("_tt_icon_del: data=%ld (== 456?), event_info=%p\n", - (long)data, event_info); -} - -static void -_tt_text_replace(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - static int count = 0; - char buf[64]; - snprintf(buf, sizeof(buf), "count=%d", count); - count++; - elm_object_tooltip_text_set(obj, buf); -} - -static void -_tt_timer_del(void *data __UNUSED__, - Evas *e __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - Ecore_Timer *timer = evas_object_data_del(obj, "test-timer"); - if (!timer) return; - ecore_timer_del(timer); -} - -static Eina_Bool -_tt_text_replace_timer_cb(void *data) -{ - _tt_text_replace(NULL, data, NULL); - return EINA_TRUE; -} - -static void -_tt_text_replace_timed(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - Ecore_Timer *timer = evas_object_data_get(obj, "test-timer"); - if (timer) - { - ecore_timer_del(timer); - evas_object_data_del(obj, "test-timer"); - elm_object_text_set(obj, "Simple text tooltip, click to start" - " changed timed"); - return; - } - - timer = ecore_timer_add(1.5, _tt_text_replace_timer_cb, obj); - evas_object_data_set(obj, "test-timer", timer); - elm_object_text_set(obj, "Simple text tooltip, click to stop changed" - " timed"); -} - -static Evas_Object * -_tt_icon(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt) -{ - Evas_Object *ic = elm_icon_add(tt); - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", - elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_resize(ic, 64, 64); - return ic; -} - -static Evas_Object * -_tt_icon2(void *data __UNUSED__, - Evas_Object *obj __UNUSED__, - Evas_Object *tt) -{ - Evas_Object *ic = elm_icon_add(tt); - char buf[PATH_MAX]; - snprintf(buf, sizeof(buf), "%s/images/icon_00.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - elm_icon_scale_set(ic, 0, 0); - evas_object_resize(ic, 64, 64); - return ic; -} - -static void -_tt_icon_del(void *data, - Evas_Object *obj __UNUSED__, - void *event_info) -{ - // test to check for del_cb behavior! - printf("_tt_icon_del: data=%ld (== 123?), event_info=%p\n", - (long)data, event_info); -} - -static Eina_Bool -_tt_icon_replace_timer_cb(void *data) -{ - static int current = 0; - - elm_object_tooltip_content_cb_set - (data, current ? _tt_icon2 : _tt_icon, NULL, NULL); - - current = !current; - return EINA_TRUE; -} - -static void -_tt_icon_replace_timed(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - Ecore_Timer *timer = evas_object_data_get(obj, "test-timer"); - if (timer) - { - ecore_timer_del(timer); - evas_object_data_del(obj, "test-timer"); - elm_object_text_set(obj, "Icon tooltip, click to start changed" - " timed"); - return; - } - - timer = ecore_timer_add(1.5, _tt_icon_replace_timer_cb, obj); - evas_object_data_set(obj, "test-timer", timer); - elm_object_text_set(obj, "Icon tooltip, click to stop changed timed"); -} - -static Eina_Bool -_tt_style_replace_timer_cb(void *data) -{ - static int current = 0; - elm_object_tooltip_style_set(data, current ? NULL : "transparent"); - current = !current; - return EINA_TRUE; -} - -static void -_tt_style_replace_timed(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - Ecore_Timer *timer = evas_object_data_get(obj, "test-timer"); - if (timer) - { - ecore_timer_del(timer); - evas_object_data_del(obj, "test-timer"); - elm_object_text_set(obj, "Icon tooltip style, click to start" - " changed timed"); - return; - } - - timer = ecore_timer_add(1.5, _tt_style_replace_timer_cb, obj); - evas_object_data_set(obj, "test-timer", timer); - elm_object_text_set(obj, "Icon tooltip style, click to stop changed" - " timed"); -} - -static void -_tt_visible_lock_toggle(void *data __UNUSED__, - Evas_Object *obj, - void *event_info __UNUSED__) -{ - static int locked = 0; - - locked = !locked; - if (locked) - { - elm_object_text_set(obj, "Locked tooltip visibility"); - elm_object_tooltip_text_set(obj, "This tooltip is locked" - " visible,
click the button" - " to unlock!"); - elm_object_tooltip_show(obj); - } - else - { - elm_object_text_set(obj, "Unlocked tooltip visibility"); - elm_object_tooltip_text_set(obj, "This tooltip is unlocked" - " visible,
click the button" - " to lock!"); - elm_object_tooltip_hide(obj); - } -} - -TEST_START(test_tooltip) -{ - Evas_Object *bg, *bx, *tb, *bt, *se, *lst; - Elm_Object_Item *tb_it; - Elm_Object_Item *li; - - 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); - - tb = elm_toolbar_add(win); - elm_toolbar_homogeneous_set(tb, 0); - evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0); - elm_box_pack_end(bx, tb); - evas_object_show(tb); - - tb_it = elm_toolbar_item_append(tb, NULL, "Open", NULL, NULL); - elm_toolbar_item_tooltip_text_set(tb_it, "Opens a file"); - - tb_it = elm_toolbar_item_append(tb, NULL, "Icon", NULL, NULL); - elm_toolbar_item_tooltip_content_cb_set - (tb_it, _tt_item_icon, (void *)456L, _tt_item_icon_del); - elm_toolbar_item_tooltip_style_set(tb_it, "transparent"); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Simple text tooltip"); - elm_object_tooltip_text_set(bt, "Simple text tooltip"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Simple text tooltip, click to change"); - elm_object_tooltip_text_set(bt, "Initial"); - evas_object_smart_callback_add(bt, "clicked", _tt_text_replace, NULL); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Simple text tooltip, click to start" - " changed timed"); - elm_object_tooltip_text_set(bt, "Initial"); - evas_object_smart_callback_add(bt, "clicked", _tt_text_replace_timed, - NULL); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_event_callback_add(bt, EVAS_CALLBACK_DEL, _tt_timer_del, - NULL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Icon tooltip"); - elm_object_tooltip_content_cb_set(bt, _tt_icon, (void *)123L, - _tt_icon_del); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Icon tooltip, click to start changed timed"); - elm_object_tooltip_content_cb_set(bt, _tt_icon, NULL, NULL); - evas_object_smart_callback_add(bt, "clicked", _tt_icon_replace_timed, - NULL); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_event_callback_add(bt, EVAS_CALLBACK_DEL, _tt_timer_del, - NULL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Transparent Icon tooltip"); - elm_object_tooltip_content_cb_set(bt, _tt_icon, NULL, NULL); - elm_object_tooltip_style_set(bt, "transparent"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Icon tooltip style, click to start changed" - " timed"); - elm_object_tooltip_content_cb_set(bt, _tt_icon, NULL, NULL); - evas_object_smart_callback_add(bt, "clicked", _tt_style_replace_timed, - NULL); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_event_callback_add(bt, EVAS_CALLBACK_DEL, _tt_timer_del, - NULL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Unlocked tooltip visibility"); - elm_object_tooltip_text_set(bt, "This tooltip is unlocked visible,
" - " click the button to lock!"); - evas_object_smart_callback_add(bt, "clicked", _tt_visible_lock_toggle, - NULL); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - - se = elm_entry_add(win); - elm_entry_scrollable_set(se, EINA_TRUE); - evas_object_size_hint_weight_set(se, EVAS_HINT_EXPAND, 0.0); - evas_object_size_hint_align_set(se, EVAS_HINT_FILL, 0.5); - elm_entry_scrollbar_policy_set(se, ELM_SCROLLER_POLICY_OFF, - ELM_SCROLLER_POLICY_OFF); - elm_entry_entry_set(se, "Hello, some scrolled entry here!"); - elm_object_tooltip_text_set(se, "Type something here!"); - elm_entry_single_line_set(se, 1); - elm_box_pack_end(bx, se); - evas_object_show(se); - - lst = elm_list_add(win); - li = elm_list_item_append(lst, "Hello", NULL, NULL, NULL, NULL); - elm_list_item_tooltip_content_cb_set(li, _tt_item_label, NULL, NULL); - elm_list_item_tooltip_window_mode_set(li, EINA_TRUE); - li = elm_list_item_append(lst, "Icon Tooltip", NULL, NULL, NULL, NULL); - elm_list_item_tooltip_content_cb_set(li, _tt_item_icon, NULL, NULL); - li = elm_list_item_append(lst, "Big Icon Tooltip", NULL, NULL, NULL, NULL); - elm_list_item_tooltip_content_cb_set(li, _tt_item_icon2, NULL, NULL); - elm_list_item_tooltip_style_set(li, "transparent"); - elm_list_item_tooltip_window_mode_set(li, EINA_TRUE); - li = elm_list_item_append(lst, "Insanely Big Icon Tooltip", NULL, NULL, NULL, NULL); - elm_list_item_tooltip_content_cb_set(li, _tt_item_icon3, NULL, NULL); - elm_list_item_tooltip_style_set(li, "transparent"); - elm_list_item_tooltip_window_mode_set(li, EINA_TRUE); - evas_object_size_hint_weight_set(lst, EVAS_HINT_EXPAND, - EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(lst, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_min_set(lst, 100, 100); - elm_list_go(lst); - elm_box_pack_end(bx, lst); - evas_object_show(lst); - - evas_object_resize(win, 320, 580); - evas_object_show(win); -} -TEST_END - -TEST_START(test_tooltip2) -{ - Evas_Object *bg, *bx, *grid, *gl; - Elm_Object_Item *glit1, *glit2, *glit3; - static Testitem ti[144]; - int i, n; - char buf[PATH_MAX]; - const char *img[9] = - { - "panel_01.jpg", - "plant_01.jpg", - "rock_01.jpg", - "rock_02.jpg", - "sky_01.jpg", - "sky_02.jpg", - "sky_03.jpg", - "sky_04.jpg", - "wood_01.jpg", - }; - - 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); - - 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, 100, 100); - elm_gengrid_horizontal_set(grid, EINA_FALSE); - elm_gengrid_multi_select_set(grid, EINA_TRUE); - 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); - - gic.item_style = "default"; - gic.func.text_get = grdt_lbl_get; - gic.func.content_get = grdt_content_get; - - n = 0; - for (i = 0; i < 9; i++) - { - snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), - img[n]); - n++; - ti[i].mode = i; - ti[i].path = eina_stringshare_add(buf); - ti[i].item = elm_gengrid_item_append(grid, &gic, &(ti[i]), NULL, - NULL); - if (n % 2) - elm_gengrid_item_tooltip_text_set(ti[i].item, "Testing X"); - else - elm_gengrid_item_tooltip_text_set(ti[i].item, "Testing Y"); - if (!(i % 5)) - elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE); - } - - elm_box_pack_end(bx, grid); - evas_object_show(grid); - - gl = elm_genlist_add(win); - 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); - - itct.item_style = "default"; - itct.func.text_get = gltt_text_get; - - glit1 = elm_genlist_item_append(gl, &itct, (void *)1, NULL, - ELM_GENLIST_ITEM_SUBITEMS, NULL, NULL); - glit2 = elm_genlist_item_append(gl, &itct, (void *)2, NULL, - ELM_GENLIST_ITEM_SUBITEMS, NULL, NULL); - glit3 = elm_genlist_item_append(gl, &itct, (void *)3, NULL, - ELM_GENLIST_ITEM_NONE, NULL, NULL); - - elm_genlist_item_tooltip_text_set(glit1, "Testing 1"); - elm_genlist_item_tooltip_text_set(glit2, "Testing 2"); - elm_genlist_item_tooltip_text_set(glit3, "Testing 3"); - - evas_object_smart_callback_add(gl, "expand,request", gltt_exp_req, gl); - evas_object_smart_callback_add(gl, "contract,request", gltt_con_req, - gl); - evas_object_smart_callback_add(gl, "expanded", gltt_exp, gl); - evas_object_smart_callback_add(gl, "contracted", gltt_con, gl); - - elm_box_pack_end(bx, gl); - evas_object_show(gl); - - evas_object_resize(win, 320, 480); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/test_transit.c b/src/bin/test_transit.c deleted file mode 100644 index 0d1ded0..0000000 --- a/src/bin/test_transit.c +++ /dev/null @@ -1,590 +0,0 @@ -#include -#include "tsuite.h" -typedef struct _Custom_Effect Custom_Effect; - -struct _Custom_Effect -{ - struct _size - { - Evas_Coord w, h; - } from, to; -}; - -static void -_custom_op(Elm_Transit_Effect *effect, Elm_Transit *transit, double progress) -{ - if (!effect) return; - Evas_Coord w, h; - Evas_Object *obj; - const Eina_List *elist; - - Custom_Effect *custom_effect = effect; - const Eina_List *objs = elm_transit_objects_get(transit); - - if (progress < 0.5) - { - h = custom_effect->from.h + (custom_effect->to.h * progress * 2); - w = custom_effect->from.w; - } - else - { - h = custom_effect->from.h + custom_effect->to.h; - w = custom_effect->from.w + \ - (custom_effect->to.w * (progress - 0.5) * 2); - } - - EINA_LIST_FOREACH(objs, elist, obj) - evas_object_resize(obj, w, h); - -} - -static Elm_Transit_Effect * -_custom_context_new(Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h) -{ - Custom_Effect *custom_effect; - - custom_effect = calloc(1, sizeof(Custom_Effect)); - if (!custom_effect) return NULL; - - custom_effect->from.w = from_w; - custom_effect->from.h = from_h; - custom_effect->to.w = to_w - from_w; - custom_effect->to.h = to_h - from_h; - - return custom_effect; -} - -static void -_custom_context_free(Elm_Transit_Effect *effect, Elm_Transit *transit __UNUSED__) -{ - Custom_Effect *custom_effect = effect; - free(custom_effect); -} - -static void -_transit_rotation_translation_color(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_auto_reverse_set(trans, EINA_TRUE); - elm_transit_repeat_times_set(trans, 2); - - /* Translation Effect */ - elm_transit_effect_translation_add(trans, -70.0, -150.0, 70.0, 150.0); - - /* Color Effect */ - elm_transit_effect_color_add(trans, 100, 255, 100, 255, 200, 50, 200, 50); - - /* Rotation Effect */ - elm_transit_effect_rotation_add(trans, 0.0, 135.0); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_wipe(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_auto_reverse_set(trans, EINA_TRUE); - - elm_transit_effect_wipe_add(trans, - ELM_TRANSIT_EFFECT_WIPE_TYPE_HIDE, - ELM_TRANSIT_EFFECT_WIPE_DIR_RIGHT); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_del_cb(void *data, Elm_Transit *transit __UNUSED__) -{ - evas_object_freeze_events_set(data, EINA_FALSE); -} - -static void -_transit_image_animation(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Eina_List *images = NULL; - char buf[PATH_MAX]; - Elm_Transit *trans; - Evas_Object *ic = data; - - snprintf(buf, sizeof(buf), "%s/images/icon_19.png", elm_app_data_dir_get()); - images = eina_list_append(images, eina_stringshare_add(buf)); - - snprintf(buf, sizeof(buf), "%s/images/icon_00.png", elm_app_data_dir_get()); - images = eina_list_append(images, eina_stringshare_add(buf)); - - snprintf(buf, sizeof(buf), "%s/images/icon_11.png", elm_app_data_dir_get()); - images = eina_list_append(images, eina_stringshare_add(buf)); - - snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); - images = eina_list_append(images, eina_stringshare_add(buf)); - - trans = elm_transit_add(); - elm_transit_del_cb_set(trans, _transit_del_cb, obj); - elm_transit_object_add(trans, ic); - elm_transit_effect_image_animation_add(trans, images); - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); - - evas_object_freeze_events_set(obj, EINA_TRUE); -} - -static void -_transit_resizing(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - - elm_transit_effect_resizing_add(trans, 100, 50, 300, 150); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_flip(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - Evas_Object *obj2 = data; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_object_add(trans, obj2); - - elm_transit_effect_flip_add(trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_X, EINA_TRUE); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_zoom(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - - elm_transit_effect_zoom_add(trans, 1.0, 3.0); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_blend(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - Evas_Object *obj2 = data; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_object_add(trans, obj2); - - elm_transit_effect_blend_add(trans); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_fade(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - Evas_Object *obj2 = data; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_object_add(trans, obj2); - - elm_transit_effect_fade_add(trans); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -static void -_transit_resizable_flip(void *data, Evas_Object *obj, void *event_info __UNUSED__) -{ - Elm_Transit *trans; - Evas_Object *obj2 = data; - - trans = elm_transit_add(); - elm_transit_object_add(trans, obj); - elm_transit_object_add(trans, obj2); - - elm_transit_effect_resizable_flip_add(trans, ELM_TRANSIT_EFFECT_FLIP_AXIS_Y, EINA_TRUE); - - elm_transit_duration_set(trans, 5.0); - elm_transit_go(trans); -} - -/* Translation, Rotation, Color, Wipe, ImagemAnimation Effect */ -TEST_START(test_transit) -{ - Evas_Object *bg, *bx, *bt, *ic; - char buf[PATH_MAX]; - - 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_size_hint_min_set(bx, 318, 318); - evas_object_show(bx); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/icon_11.png", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1); - - bt = elm_button_add(win); - elm_object_text_set(bt, "ImageAnimation Effect"); - elm_object_content_set(bt, ic); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_show(ic); - evas_object_smart_callback_add(bt, "clicked", _transit_image_animation, ic); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Color, Rotation and Translation"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_smart_callback_add(bt, "clicked", - _transit_rotation_translation_color, NULL); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Wipe Effect"); - elm_box_pack_end(bx, bt); - evas_object_show(bt); - evas_object_smart_callback_add(bt, "clicked", _transit_wipe, NULL); - - evas_object_show(win); -} -TEST_END - -/* Resizing Effect */ -TEST_START(test_transit2) -{ - Evas_Object *bg, *bt; - - evas_object_resize(win, 400, 400); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Resizing Effect"); - evas_object_show(bt); - evas_object_move(bt, 50, 100); - evas_object_resize(bt, 100, 50); - evas_object_smart_callback_add(bt, "clicked", _transit_resizing, NULL); - - evas_object_resize(win, 400, 400); - evas_object_show(win); -} -TEST_END - -/* Flip Effect */ -TEST_START(test_transit3) -{ - Evas_Object *bg, *bt, *bt2; - - evas_object_resize(win, 300, 300); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Front Button - Flip Effect"); - evas_object_show(bt); - evas_object_move(bt, 50, 50); - evas_object_resize(bt, 200, 200); - - bt2 = elm_button_add(win); - elm_object_text_set(bt2, "Back Button - Flip Effect"); - evas_object_move(bt2, 50, 50); - evas_object_resize(bt2, 200, 200); - - evas_object_resize(win, 300, 300); - evas_object_show(win); - - evas_object_smart_callback_add(bt, "clicked", _transit_flip, bt2); - evas_object_smart_callback_add(bt2, "clicked", _transit_flip, bt); -} -TEST_END - -/* Zoom Effect */ -TEST_START(test_transit4) -{ - Evas_Object *bg, *bt; - - evas_object_resize(win, 300, 300); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Zoom Effect"); - evas_object_resize(bt, 100, 50); - evas_object_move(bt, 100, 125); - evas_object_show(bt); - - evas_object_smart_callback_add(bt, "clicked", _transit_zoom, NULL); - - evas_object_resize(win, 300, 300); - evas_object_show(win); -} -TEST_END - -/* Blend Effect */ -TEST_START(test_transit5) -{ - Evas_Object *bg, *bt, *bt2, *ic; - - char buf[PATH_MAX]; - evas_object_resize(win, 300, 300); - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_max_set(ic, 50, 50); - - bt = elm_button_add(win); - elm_object_content_set(bt, ic); - elm_object_text_set(bt, "Before Button - Blend Effect"); - evas_object_move(bt, 25, 125); - evas_object_resize(bt, 250, 50); - evas_object_show(bt); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_max_set(ic, 50, 50); - - bt2 = elm_button_add(win); - elm_object_content_set(bt2, ic); - elm_object_text_set(bt2, "After Button - Blend Effect"); - evas_object_move(bt2, 25, 125); - evas_object_resize(bt2, 250, 50); - - evas_object_resize(win, 300, 300); - evas_object_show(win); - - evas_object_smart_callback_add(bt, "clicked", _transit_blend, bt2); - evas_object_smart_callback_add(bt2, "clicked", _transit_blend, bt); -} -TEST_END - -/* Fade Effect */ -TEST_START(test_transit6) -{ - Evas_Object *bg, *bt, *bt2, *ic; - - char buf[PATH_MAX]; - evas_object_resize(win, 300, 300); - - 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); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/rock_01.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_max_set(ic, 50, 50); - - bt = elm_button_add(win); - elm_object_content_set(bt, ic); - elm_object_text_set(bt, "Before Button - Fade Effect"); - evas_object_move(bt, 25, 125); - evas_object_resize(bt, 250, 50); - evas_object_show(bt); - - ic = elm_icon_add(win); - snprintf(buf, sizeof(buf), "%s/images/rock_02.jpg", elm_app_data_dir_get()); - elm_icon_file_set(ic, buf, NULL); - evas_object_size_hint_max_set(ic, 50, 50); - - bt2 = elm_button_add(win); - elm_object_content_set(bt2, ic); - elm_object_text_set(bt2, "After Button - Fade Effect"); - evas_object_move(bt2, 25, 125); - evas_object_resize(bt2, 250, 50); - - evas_object_resize(win, 300, 300); - evas_object_show(win); - - evas_object_smart_callback_add(bt, "clicked", _transit_fade, bt2); - evas_object_smart_callback_add(bt2, "clicked", _transit_fade, bt); -} -TEST_END - -/* Resizable Flip Effect */ -TEST_START(test_transit7) -{ - Evas_Object *bg, *bt, *bt2; - - evas_object_resize(win, 400, 400); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Front Button - Resizable Flip Effect"); - evas_object_show(bt); - evas_object_move(bt, 50, 100); - evas_object_resize(bt, 250, 30); - - bt2 = elm_button_add(win); - elm_object_text_set(bt2, "Back Button - Resizable Flip Effect"); - evas_object_move(bt2, 50, 100); - evas_object_resize(bt2, 300, 200); - - evas_object_resize(win, 400, 400); - evas_object_show(win); - - evas_object_smart_callback_add(bt, "clicked", _transit_resizable_flip, bt2); - evas_object_smart_callback_add(bt2, "clicked", _transit_resizable_flip, bt); -} -TEST_END - -/* Custom Effect */ -TEST_START(test_transit8) -{ - Evas_Object *bg, *bt; - Elm_Transit *trans; - Elm_Transit_Effect *effect_context; - - evas_object_resize(win, 400, 400); - evas_object_show(win); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Button - Custom Effect"); - evas_object_show(bt); - evas_object_move(bt, 50, 50); - evas_object_resize(bt, 150, 150); - - /* Adding Transit */ - trans = elm_transit_add(); - elm_transit_auto_reverse_set(trans, EINA_TRUE); - elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_DECELERATE); - effect_context = _custom_context_new(150, 150, 50, 50); - elm_transit_object_add(trans, bt); - elm_transit_effect_add(trans, - _custom_op, effect_context, - _custom_context_free); - elm_transit_duration_set(trans, 5.0); - elm_transit_repeat_times_set(trans, -1); - elm_transit_go(trans); - - evas_object_resize(win, 400, 400); - evas_object_show(win); -} -TEST_END - -/* Chain Transit Effect */ -TEST_START(test_transit9) -{ - Evas_Object *bg, *bt, *bt2, *bt3, *bt4; - Elm_Transit *trans, *trans2, *trans3, *trans4; - - evas_object_resize(win, 400, 400); - evas_object_show(win); - - 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); - - bt = elm_button_add(win); - elm_object_text_set(bt, "Chain 1"); - evas_object_resize(bt, 100, 100); - evas_object_move(bt, 0, 0); - evas_object_show(bt); - - bt2 = elm_button_add(win); - elm_object_text_set(bt2, "Chain 2"); - evas_object_resize(bt2, 100, 100); - evas_object_move(bt2, 300, 0); - evas_object_show(bt2); - - bt3 = elm_button_add(win); - elm_object_text_set(bt3, "Chain 3"); - evas_object_resize(bt3, 100, 100); - evas_object_move(bt3, 300, 300); - evas_object_show(bt3); - - bt4 = elm_button_add(win); - elm_object_text_set(bt4, "Chain 4"); - evas_object_resize(bt4, 100, 100); - evas_object_move(bt4, 0, 300); - evas_object_show(bt4); - - trans = elm_transit_add(); - elm_transit_tween_mode_set(trans, ELM_TRANSIT_TWEEN_MODE_ACCELERATE); - elm_transit_effect_translation_add(trans, 0, 0, 300, 0); - elm_transit_object_add(trans, bt); - elm_transit_duration_set(trans, 1); - elm_transit_objects_final_state_keep_set(trans, EINA_TRUE); - elm_transit_go(trans); - - trans2 = elm_transit_add(); - elm_transit_tween_mode_set(trans2, ELM_TRANSIT_TWEEN_MODE_ACCELERATE); - elm_transit_effect_translation_add(trans2, 0, 0, 0, 300); - elm_transit_object_add(trans2, bt2); - elm_transit_duration_set(trans2, 1); - elm_transit_objects_final_state_keep_set(trans2, EINA_TRUE); - elm_transit_chain_transit_add(trans, trans2); - - trans3 = elm_transit_add(); - elm_transit_tween_mode_set(trans3, ELM_TRANSIT_TWEEN_MODE_ACCELERATE); - elm_transit_effect_translation_add(trans3, 0, 0, -300, 0); - elm_transit_object_add(trans3, bt3); - elm_transit_duration_set(trans3, 1); - elm_transit_objects_final_state_keep_set(trans3, EINA_TRUE); - elm_transit_chain_transit_add(trans2, trans3); - - trans4 = elm_transit_add(); - elm_transit_tween_mode_set(trans4, ELM_TRANSIT_TWEEN_MODE_ACCELERATE); - elm_transit_effect_translation_add(trans4, 0, 0, 0, -300); - elm_transit_object_add(trans4, bt4); - elm_transit_duration_set(trans4, 1); - elm_transit_objects_final_state_keep_set(trans4, EINA_TRUE); - elm_transit_chain_transit_add(trans3, trans4); - - evas_object_resize(win, 400, 400); - evas_object_show(win); -} -TEST_END diff --git a/src/bin/tsuite.c b/src/bin/tsuite.c deleted file mode 100644 index 3825414..0000000 --- a/src/bin/tsuite.c +++ /dev/null @@ -1,698 +0,0 @@ -#define _GNU_SOURCE 1 - -#include -#include -#include "tsuite.h" - -#include -#include "tsuite_file_data.h" -#include -#include - -void test_3d(void); -void test_actionslider(void); -void test_anchorblock(void); -void test_anchorview(void); -void test_bg_plain(void); -void test_bg_image(void); -void test_bg_options(void); -void test_box_vert(void); -void test_box_vert2(void); -void test_box_horiz(void); -void test_button(void); -void test_bubble(void); -void test_calendar(void); -void test_check(void); -void test_colorselector(void); -void test_conformant(void); -void test_conformant2(void); -void test_ctxpopup(void); -void test_diskselector(void); -void test_entry(void); -void test_entry_scrolled(void); -void test_entry3(void); -void test_entry4(void); -void test_entry5(void); -void test_entry_notepad(void); -void test_fileselector(void); -void test_fileselector_button(void); -void test_fileselector_entry(void); -void test_focus(void); -void test_gengrid(void); -void test_gengrid2(void); -void test_genlist(void); -void test_genlist2(void); -void test_genlist3(void); -void test_genlist4(void); -void test_genlist5(void); -void test_genlist6(void); -void test_genlist7(void); -void test_genlist8(void); -void test_genlist9(void); -void test_genlist10(void); -void test_genlist11(void); -void test_glview(void); -void test_glview_simple(void); -void test_grid(void); -void test_hover(void); -void test_hover2(void); -void test_hoversel(void); -void test_index(void); -void test_index2(void); -void test_inwin(void); -void test_inwin2(void); -void test_label(void); -void test_list(void); -void test_list_horizontal(void); -void test_list2(void); -void test_list3(void); -void test_list4(void); -void test_list5(void); -void test_menu(void); -void test_naviframe(void); -void test_notify(void); -void test_pager(void); -void test_pager_slide(void); -void test_panel(void); -void test_panes(void); -void test_progressbar(void); -void test_radio(void); -void test_scaling(void); -void test_scaling2(void); -void test_scroller(void); -void test_scroller2(void); -void test_segment_control(void); -void test_separator(void); -void test_slider(void); -void test_spinner(void); -void test_table(void); -void test_table2(void); -void test_table3(void); -void test_table4(void); -void test_table5(void); -void test_table6(void); -void test_toggle(void); -void test_toolbar(void); -void test_toolbar2(void); -void test_toolbar3(void); -void test_toolbar4(void); -void test_toolbar5(void); -void test_tooltip(void); -void test_tooltip2(void); - -/* START - Some globals - may want to move these to Timer_Data struct later */ -static Lists_st *vr_list = NULL; -/* END - Some globals - may want to move these to Timer_Data struct later */ - -/** - * @internal - * - * @struct _Test_Item - * Struct holds test-suite test / func pair. - * - * @ingroup Tsuite - */ -struct _Test_Item -{ /* Item type for array of test-names, test-func-ptr */ - char *name; - void (* func) (void); - Eina_Bool test; -}; -typedef struct _Test_Item Test_Item; - -/* static Tsuite_Data ts; moved to tsuite_evas_hook */ -static int recording = 0; - -void -tsuite_init(Evas_Object *win, char *name, api_data *d) -{ - return; -} - -Eina_List * -_add_test(Eina_List *list, char *n, void (* f) (void), Eina_Bool t) -{ - Test_Item *item = malloc(sizeof(Test_Item)); - item->name = n; - item->func = f; - item->test = t; - return eina_list_append(list, item); -} - -int test_name_cmp(const void *data1, const void *data2) -{ - return strcmp(((Test_Item *) data1)->name, (char *) data2); -} - -Test_Item * -_set_test(Eina_List *list, char *n, Eina_Bool t) -{ - Test_Item *item = eina_list_search_unsorted(list, test_name_cmp, n); - if (item) - item->test = t; - else - printf("Unknown test name: %s\n", n); - - return item; -} - -static void (* _tsuite_evas_hook_init) (Lists_st *) = NULL; -static void (* _tsuite_evas_hook_reset) (void) = NULL; - -static void -_init_recording_funcs(void) -{ - _tsuite_evas_hook_init = dlsym(RTLD_DEFAULT, "tsuite_evas_hook_init"); - _tsuite_evas_hook_reset = dlsym(RTLD_DEFAULT, "tsuite_evas_hook_reset"); -} -#if 0 -/** - * @internal - * - * This function initiates Tsuite_Data - * @param name defines test-name - * @param Pointer_Event Pointer to PE. - * - * @ingroup Tsuite - */ -void -tsuite_init(Evas_Object *win, char *name, api_data *d) -{ - tsuite_cleanup(); - if (!name) - return; - - ts.name = strdup(name); /* Freed by tsuite_cleanup */ - ts.win = win; - if (d) - { /* This field is not used when testing APPs */ - ts.api = d; - ts.api->win = win; - } - - ts.e = evas_object_evas_get(ts.win); -} - -/** - * @internal - * - * This function do cleanup for Tsuite - * @param Tsuite_Data * data for cleanup. - * - * @ingroup Tsuite - */ -void -tsuite_cleanup(void) -{ - if (ts.name) - free(ts.name); - - if (ts.api) - { - if (ts.api->data && ts.api->free_data) - free(ts.api->data); - - free(ts.api); - } - - if (ts.win) - evas_object_del(ts.win); - - memset(&ts, 0, sizeof(ts)); -} -char *tsuite_test_name_get() -{ - return ts.name; -} -#endif -#if 0 /* moved to tsuite_evas_hook */ -/** - * @internal - * - * This function takes actual shot and saves it in PNG - * @param data Tsuite_Data pointer initiated by user - * @param obj Window pointer - * @param obj name file name. Will use name_+serial if NULL - * - * @ingroup Tsuite - */ -void -tsuite_shot_do(Evas_Object *obj, char *name) -{ - Ecore_Evas *ee, *ee_orig; - Evas_Object *o; - unsigned int *pixels; - int w, h,dir_name_len = 0; - char *filename; - if (dest_dir) - dir_name_len = strlen(dest_dir) + 1; /* includes space of a '/' */ - - if (name) - { - filename = malloc(strlen(name) + strlen(IMAGE_FILENAME_EXT) + - dir_name_len + 4); - - if (dest_dir) - sprintf(filename, "%s/", dest_dir); - - sprintf(filename + dir_name_len, "%s%s", name, IMAGE_FILENAME_EXT); - } - else - { - filename = malloc(strlen(ts.name) + strlen(IMAGE_FILENAME_EXT) + - dir_name_len + 8); /* also space for serial */ - - ts.serial++; - if (dest_dir) - sprintf(filename, "%s/", dest_dir); - - sprintf(filename + dir_name_len, "%s_%d%s", ts.name ,ts.serial, - IMAGE_FILENAME_EXT); - } - - /* A bit hackish, get the ecore_evas from the Evas canvas */ - ee_orig = evas_data_attach_get(evas_object_evas_get(obj)); - - ecore_evas_manual_render(ee_orig); - pixels = (void *)ecore_evas_buffer_pixels_get(ee_orig); - if (!pixels) return; - ecore_evas_geometry_get(ee_orig, NULL, NULL, &w, &h); - if ((w < 1) || (h < 1)) return; - ee = ecore_evas_buffer_new(1, 1); - o = evas_object_image_add(ecore_evas_get(ee)); - evas_object_image_alpha_set(o, ecore_evas_alpha_get(ee_orig)); - evas_object_image_size_set(o, w, h); - evas_object_image_data_set(o, pixels); - - if (!evas_object_image_save(o, filename, NULL, NULL)) - { - printf("Cannot save widget to <%s>\n", filename); - } - ecore_evas_free(ee); - free(filename); -} -#endif -void -_test_close_win(void *data __UNUSED__, Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) -{ -// ts.win = NULL; - elm_exit(); -} -#if 0 /* Moved to tsuite_file_data */ -static Lists_st * -free_events(Lists_st *st) -{ - Variant_st *v; - EINA_LIST_FREE(st->variant_list, v) - { - if (recording) - { - Tsuite_Event_Type e = tsuite_event_mapping_type_get(v->t.type); - if ((e == TSUITE_EVENT_KEY_DOWN) || (e == TSUITE_EVENT_KEY_UP)) - { /* Allocated in tsuite_evas_hook.c */ - key_down_key_up *t = v->data; - eina_stringshare_del(t->keyname); - eina_stringshare_del(t->key); - eina_stringshare_del(t->string); - eina_stringshare_del(t->compose); - } - } - - free(v->data); - free(v); - } - - free(st); /* Allocated when reading data from EET file */ - return NULL; -} -#endif -void -do_test(char *rec_dir, void (* func) (void)) -{ - char buf[1024]; - char appname[1024]; - -// vr_list = calloc(1, sizeof(*vr_list)); -/* if (recording) done now in ecore_init() hook - _tsuite_evas_hook_init(vr_list); */ - - if (func) - { /* Regular test with access func */ - func(); - sprintf(buf, "%s/%s.rec", rec_dir, "ts.name"); - } - else - { /* Application, compose rec-file path and fulll appname */ - sprintf(buf, "%s/%s.rec", rec_dir, "basename(ts.name)"); -#if 0 - if (basename(ts.name) == ts.name) - { /* No PATH given, use cwd */ - getcwd(appname, 1024); - strcat(appname, "/"); - strcat(appname, ts.name); - } - else -#endif - strcpy(appname, "ts.name"); /* PATH incuded in ts.name */ - } - - if (recording) - { - if (func) - elm_run(); /* and run the program now and handle all events etc. */ - else - { -#ifdef DEBUG_TSUITE - printf("%s calling <%s>\n", __func__, appname); -#endif - system(appname); - } - -/* if (vr_list) - write_events(buf, vr_list); */ - } - else - { - Timer_Data *td = NULL; - if (func) - elm_run(); /* run the program now and handle all events etc */ -#if 0 - td = calloc(1, sizeof(Timer_Data)); -#ifdef DEBUG_TSUITE - printf("rec file is <%s>\n", buf); -#endif - vr_list = read_events(buf, ts.e, td); - if (td->current_event) - { /* Got first event in list, run test */ - tsuite_feed_event(td); - if (func) - elm_run(); /* run the program now and handle all events etc */ - else - { -#ifdef DEBUG_TSUITE - printf("%s calling <%s>\n", __func__, appname); -#endif - system(appname); - } - } - -#endif - if (td) - free(td); - } - - -/* if (recording) done in ecore_shutdown() hook now - _tsuite_evas_hook_reset(); */ - -/* if (vr_list) will be done in tsuite_evas_hook_reset() - vr_list = free_events(vr_list); */ -} - -EAPI int -elm_main(int argc, char **argv) -{ - Eina_List *tests = NULL; - Eina_Bool test_all; - char *rec_dir = NULL; - int i, first_arg; - - int opt_tests = 0; - Eina_List *opt_destdir = NULL; - Eina_List *opt_basedir = NULL; - - static const Ecore_Getopt optdesc = { - "Test_suite", - NULL, - "0.0", - "(C) 2011 Enlightenment", - "Enlightenment", - "The Elementary auto test suite", - 0, - { - ECORE_GETOPT_COUNT('r', "record", "Recording mode"), - ECORE_GETOPT_APPEND_METAVAR('d',"destdir","Destir for PNG files", - "STRING", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_APPEND_METAVAR('b',"basedir","Directory of rec files", - "STRING", ECORE_GETOPT_TYPE_STR), - ECORE_GETOPT_COUNT('t', "tests", "Tests names marker"), - ECORE_GETOPT_SENTINEL - } - }; - - Ecore_Getopt_Value values[] = { - ECORE_GETOPT_VALUE_INT(recording), - ECORE_GETOPT_VALUE_LIST(opt_destdir), - ECORE_GETOPT_VALUE_LIST(opt_basedir), - ECORE_GETOPT_VALUE_INT(opt_tests), - ECORE_GETOPT_VALUE_NONE - }; - -#ifdef DEBUG_TSUITE - printf("Got args:\n"); - for(i = 0; i < argc; i++) - printf("%d=<%s>\n", i, (char *) argv[i]); -#endif - ecore_init(); - - if (ecore_getopt_parse(&optdesc, values, argc, argv) < 0) - { - printf("Argument parsing failed\n"); - exit(1); - } - -#ifdef DEBUG_TSUITE - printf("Values from command line:\n"); - printf("recording=<%d>\nopt_tests=<%d>\n", recording, opt_tests); - if (opt_destdir) - printf("opt_destdir=<%s>\n", opt_destdir->data); - if (opt_basedir) - printf("opt_basedir=<%s>\n", opt_basedir->data); -#endif - - if (!opt_tests) - { /* This in case user runs mannualy and mistakes */ - printf ("Tests Marker (arg) missing.\n"); - exit(1); - } - - /* Find index of first-test name, for ALL first_arg = (argc-1) */ - for(first_arg = 1; first_arg < argc; first_arg++) - if (!strcmp(argv[first_arg], "--tests")) - break; - - first_arg++; /* First arg now is index of first test or == argc */ - -#ifdef DEBUG_TSUITE - if (first_arg == argc) - printf("TEST ALL: first_arg=<%d>\n", first_arg); - else - printf("test=<%s> first_arg=<%d>\n", argv[first_arg], first_arg); -#endif - - elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); - - /* tell elm about our app so it can figure out where to get files */ - elm_app_compile_bin_dir_set(PACKAGE_BIN_DIR); - elm_app_compile_data_dir_set(PACKAGE_DATA_DIR); - elm_app_info_set(elm_main, "elementary", "images/logo.png"); - -/* if (opt_destdir) - dest_dir = opt_destdir->data; -*/ - if (opt_basedir) - rec_dir = opt_basedir->data; - - - /* if we got here, found test_arg, now find it's index */ - if (recording) - { - _init_recording_funcs(); - } - -#ifdef DEBUG_TSUITE - printf("argc=<%d> first_arg=<%d>\n", argc, first_arg); -#endif - - /* If no test specified in command line, set all */ - test_all = (argc - first_arg) == 0; - tests = _add_test(tests, "test_3d", test_3d, test_all); - tests = _add_test(tests, "test_actionslider", test_actionslider, test_all); - tests = _add_test(tests, "test_anchorblock", test_anchorblock, test_all); - tests = _add_test(tests, "test_anchorview", test_anchorview, test_all); - tests = _add_test(tests, "test_bg_plain", test_bg_plain, test_all); - tests = _add_test(tests, "test_bg_image", test_bg_image, test_all); - tests = _add_test(tests, "test_bg_options", test_bg_options, test_all); - tests = _add_test(tests, "test_box_vert", test_box_vert, test_all); - tests = _add_test(tests, "test_box_vert2", test_box_vert2, test_all); - tests = _add_test(tests, "test_box_horiz", test_box_horiz, test_all); - tests = _add_test(tests, "test_button", test_button, test_all); - tests = _add_test(tests, "test_bubble", test_bubble, test_all); - tests = _add_test(tests, "test_calendar", test_calendar, test_all); - tests = _add_test(tests, "test_check", test_check, test_all); - tests = _add_test(tests, "test_colorselector", test_colorselector, test_all); - tests = _add_test(tests, "test_conformant", test_conformant, test_all); - tests = _add_test(tests, "test_conformant2", test_conformant2, test_all); - tests = _add_test(tests, "test_ctxpopup", test_ctxpopup, test_all); - tests = _add_test(tests, "test_diskselector", test_diskselector, test_all); - tests = _add_test(tests, "test_entry", test_entry, test_all); - tests = _add_test(tests, "test_entry_scrolled", test_entry_scrolled, - test_all); - tests = _add_test(tests, "test_entry3", test_entry3, test_all); - tests = _add_test(tests, "test_entry4", test_entry4, test_all); - tests = _add_test(tests, "test_entry5", test_entry5, test_all); - tests = _add_test(tests, "test_entry_notepad", test_entry_notepad, test_all); - tests = _add_test(tests, "test_fileselector", test_fileselector, test_all); - tests = _add_test(tests, "test_fileselector_button", - test_fileselector_button, test_all); - tests = _add_test(tests, "test_fileselector_entry", - test_fileselector_entry, test_all); - tests = _add_test(tests, "test_focus", test_focus, test_all); - tests = _add_test(tests, "test_gengrid", test_gengrid, test_all); - tests = _add_test(tests, "test_gengrid2", test_gengrid2, test_all); - tests = _add_test(tests, "test_genlist", test_genlist, test_all); - tests = _add_test(tests, "test_genlist2", test_genlist2, test_all); - tests = _add_test(tests, "test_genlist3", test_genlist3, test_all); - tests = _add_test(tests, "test_genlist4", test_genlist4, test_all); - tests = _add_test(tests, "test_genlist5", test_genlist5, test_all); - tests = _add_test(tests, "test_genlist6", test_genlist6, test_all); - tests = _add_test(tests, "test_genlist7", test_genlist7, test_all); - tests = _add_test(tests, "test_genlist8", test_genlist8, test_all); - tests = _add_test(tests, "test_genlist9", test_genlist9, test_all); - tests = _add_test(tests, "test_genlist10", test_genlist10, test_all); - tests = _add_test(tests, "test_genlist11", test_genlist11, test_all); - tests = _add_test(tests, "test_grid", test_grid, test_all); - tests = _add_test(tests, "test_hover", test_hover, test_all); - tests = _add_test(tests, "test_hover2", test_hover2, test_all); - tests = _add_test(tests, "test_hoversel", test_hoversel, test_all); - tests = _add_test(tests, "test_index", test_index, test_all); - tests = _add_test(tests, "test_index2", test_index2, test_all); - tests = _add_test(tests, "test_inwin", test_inwin, test_all); - tests = _add_test(tests, "test_inwin2", test_inwin2, test_all); - tests = _add_test(tests, "test_label", test_label, test_all); - tests = _add_test(tests, "test_list", test_list, test_all); - tests = _add_test(tests, "test_list_horizontal", test_list_horizontal, - test_all); - - tests = _add_test(tests, "test_list2", test_list2, test_all); - tests = _add_test(tests, "test_list3", test_list3, test_all); - tests = _add_test(tests, "test_list4", test_list4, test_all); - tests = _add_test(tests, "test_list5", test_list5, test_all); - tests = _add_test(tests, "test_menu", test_menu, test_all); - tests = _add_test(tests, "test_naviframe", test_naviframe, test_all); - tests = _add_test(tests, "test_notify", test_notify, test_all); - tests = _add_test(tests, "test_pager", test_pager, test_all); - tests = _add_test(tests, "test_pager_slide", test_pager_slide, test_all); - tests = _add_test(tests, "test_panel", test_panel, test_all); - tests = _add_test(tests, "test_panes", test_panes, test_all); - tests = _add_test(tests, "test_progressbar", test_progressbar, test_all); - tests = _add_test(tests, "test_radio", test_radio, test_all); - tests = _add_test(tests, "test_scaling", test_scaling, test_all); - tests = _add_test(tests, "test_scaling2", test_scaling2, test_all); - tests = _add_test(tests, "test_scroller", test_scroller, test_all); - tests = _add_test(tests, "test_scroller2", test_scroller2, test_all); - tests = _add_test(tests, "test_segment_control", test_segment_control, - test_all); - - tests = _add_test(tests, "test_separator", test_separator, test_all); - tests = _add_test(tests, "test_slider", test_slider, test_all); - tests = _add_test(tests, "test_spinner", test_spinner, test_all); - tests = _add_test(tests, "test_table", test_table, test_all); - tests = _add_test(tests, "test_table2", test_table2, test_all); - tests = _add_test(tests, "test_table3", test_table3, test_all); - tests = _add_test(tests, "test_table4", test_table4, test_all); - tests = _add_test(tests, "test_table5", test_table5, test_all); - tests = _add_test(tests, "test_table6", test_table6, test_all); - tests = _add_test(tests, "test_toggle", test_toggle, test_all); - tests = _add_test(tests, "test_toolbar", test_toolbar, test_all); - tests = _add_test(tests, "test_toolbar2", test_toolbar2, test_all); - tests = _add_test(tests, "test_toolbar3", test_toolbar3, test_all); - tests = _add_test(tests, "test_toolbar4", test_toolbar4, test_all); - tests = _add_test(tests, "test_toolbar5", test_toolbar5, test_all); - tests = _add_test(tests, "test_tooltip", test_tooltip, test_all); - tests = _add_test(tests, "test_tooltip2", test_tooltip2, test_all); - - - Eina_List *l; - Test_Item *item; - int n_tests = 0; - int n_total = 0; - int n_no_rec_file = 0; - - /* Set tests from command line */ - for(i = first_arg; i < argc ; i++) - { - if (_set_test(tests, argv[i], EINA_TRUE) == NULL) - { /* Failed to add test, trying to add application */ - if (access(argv[i], X_OK) == 0) - { - tests = _add_test(tests, argv[i], NULL, EINA_TRUE); - } - else - printf("Unknown application: %s\n", argv[i]); - } - - n_total++; /* Count argument */ - } - - EINA_LIST_FOREACH(tests, l, item) - if (item->test) - { /* Run test and count tests committed */ - char buf[1024]; - if (item->func) /* Regular test with access func */ - sprintf(buf, "%s/%s.rec", rec_dir, item->name); - else - { /* Application, set ts and compose rec-file path */ - tsuite_init(NULL /* win */, item->name, NULL); - sprintf(buf, "%s/%s.rec", rec_dir, basename(item->name)); - } - - if (!recording) - { /* Avoid trying to commit tests with no ".rec" file */ - if (access(buf, R_OK)) - { - printf("Skipped test, missing <%s> file.\n", buf); - n_no_rec_file++; - continue; /* Skip this, no access to ".rec" file */ - } - } - - do_test(rec_dir, item->func); - n_tests++; - } - - if (n_no_rec_file) - printf("\n\nFailed to access %d record files.\n", n_no_rec_file); - - if (n_tests) - { /* Print completed message */ - printf("\n\n%d tests completed out of %d tests\n", - n_tests, n_total); - } - else - { /* No tests committed, let user know test-name is wrong */ - printf ("\n\nNo test matching:\n"); - for(i = first_arg; i < argc; i++) - printf("%s\n", argv[i]); - - printf ("\nPlease review test name; check record file.\n"); - } - - - /* Free all tests in list */ - Test_Item *data = NULL; - EINA_LIST_FREE(tests, data) - free(data); - -// tsuite_cleanup(); - /* if the mainloop that elm_run() runs exist - we exit the app */ - elm_shutdown(); /* clean up and shut down */ - - /* exit code, ZERO if all completed successfuly */ - if (test_all) - return 0; - else - return ((argc - first_arg) - n_tests); -} -ELM_MAIN() diff --git a/src/bin/tsuite.h b/src/bin/tsuite.h deleted file mode 100644 index ac4b46a..0000000 --- a/src/bin/tsuite.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef _TSUITE_H -#define _TSUITE_H - -#include -#include -#include - -#define fail_if(expr) \ - do { \ - if ( expr ) \ - { \ - FILE *fp; \ - char buf[1024]; \ - sprintf(buf, "fail_%s.txt", tsuite_test_name_get()); \ - if ((fp = fopen(buf, "a")) != NULL) \ - { \ - fprintf(fp, "Failed at %s:%d on <%s>\n", __FILE__, __LINE__, #expr); \ - fclose(fp); \ - } \ - } \ - } while(0) - -/* #define DEBUG_TSUITE 1 */ -struct _api_data -{ - unsigned int state; /* What state we are testing */ - Evas_Object *win; /* Parent Window of widgets */ - Evas_Object *bt; /* Button to progress in states */ - void *data; /* Additional data defined by test */ - Eina_Bool free_data; /* free data on close */ -}; -typedef struct _api_data api_data; - -void -_test_close_win(void *data, Evas_Object *obj, void *event_info); - -#define TEST_START(x) \ - void x(void) \ - { \ - Evas_Object *win = elm_win_add(NULL, #x, ELM_WIN_BASIC); \ - api_data *api = calloc(1, sizeof(api_data)); \ - tsuite_init(win, #x, api); \ - elm_win_title_set(win, #x); \ - elm_win_autodel_set(win, 1); \ - evas_object_smart_callback_add(win, "delete,request", _test_close_win, NULL); \ - evas_object_show(win); - -#define TEST_END \ - } - -#define TEST_SHOT(x) \ - tsuite_shot_do(x) - -void tsuite_init(Evas_Object *win, char *name, api_data *d); -void tsuite_cleanup(void); -void tsuite_shot_do(char *name); -char *tsuite_test_name_get(); -Eina_Bool write_events_get(void); -void write_events_set(Eina_Bool val); -void variant_list_append(Variant_st *v); -#endif