summaryrefslogtreecommitdiff
path: root/src/bin/test_gengrid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/test_gengrid.c')
-rw-r--r--src/bin/test_gengrid.c166
1 files changed, 57 insertions, 109 deletions
diff --git a/src/bin/test_gengrid.c b/src/bin/test_gengrid.c
index 523aaf330..6ba3622bc 100644
--- a/src/bin/test_gengrid.c
+++ b/src/bin/test_gengrid.c
@@ -36,8 +36,8 @@ typedef struct _api_data api_data;
struct _Show_Data
{
- int winmode;
int scrollto;
+ Evas_Object *grid;
};
typedef struct _Show_Data Show_Data;
@@ -1128,7 +1128,11 @@ static void
_rd1_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
{
Show_Data *sd = data;
- sd->winmode = elm_radio_state_value_get(obj);
+ int winmode = elm_radio_state_value_get(obj);
+ if (winmode == 0)
+ elm_gengrid_horizontal_set(sd->grid, EINA_TRUE);
+ else if (winmode == 1)
+ elm_gengrid_horizontal_set(sd->grid, EINA_FALSE);
}
static void
@@ -1141,119 +1145,19 @@ _rd2_changed_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
static void
_bring_in_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
- Evas_Object *win, *grid;
- static Item_Data ti[5000];
- int i, n;
- char buf[PATH_MAX];
-
- if (!data) return;
-
Show_Data *sd = data;
-
- if (sd->winmode == 0)
- win = elm_win_util_standard_add("horz bring_in", "Horz Bring_in");
- else
- win = elm_win_util_standard_add("vertical bring_in", "Vertical Bring_in");
- elm_win_autodel_set(win, EINA_TRUE);
-
- grid = elm_gengrid_add(win);
- elm_gengrid_item_size_set(grid, 150, 150);
- elm_gengrid_group_item_size_set(grid, 31, 31);
- if (sd->winmode == 0)
- elm_gengrid_horizontal_set(grid, EINA_TRUE);
- else if (sd->winmode == 1)
- elm_gengrid_horizontal_set(grid, EINA_FALSE);
- evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, grid);
- elm_gengrid_align_set(grid, 0.1, 0.1);
-
- gic = elm_gengrid_item_class_new();
- 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 = NULL;
-
- n = 0;
- for (i = 0; i < 5000; 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 == 1430)
- elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE);
- }
-
- elm_gengrid_item_class_free(gic);
- elm_gengrid_item_bring_in(ti[1430].item, sd->scrollto);
- evas_object_show(grid);
-
- if (sd->winmode == 0)
- evas_object_resize(win, 600, 200);
- if (sd->winmode == 1)
- evas_object_resize(win, 600, 400);
- evas_object_show(win);
+ Elm_Object_Item *item = elm_gengrid_selected_item_get(sd->grid);
+ elm_gengrid_item_bring_in(item, sd->scrollto);
+ elm_gengrid_item_selected_set(item, EINA_TRUE);
}
static void
_show_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
- Evas_Object *win, *grid;
- static Item_Data ti[10000];
- int i, n;
- char buf[PATH_MAX];
-
- if (!data) return;
-
Show_Data *sd = data;
-
- if (sd->winmode == 0)
- win = elm_win_util_standard_add("horz show", "Horz Show");
- else
- win = elm_win_util_standard_add("vertical show", "Vertical Show");
- elm_win_autodel_set(win, EINA_TRUE);
-
- grid = elm_gengrid_add(win);
- elm_gengrid_item_size_set(grid, ELM_SCALE_SIZE(150), ELM_SCALE_SIZE(150));
- elm_gengrid_group_item_size_set(grid, ELM_SCALE_SIZE(31), ELM_SCALE_SIZE(31));
- if (sd->winmode == 0)
- elm_gengrid_horizontal_set(grid, EINA_TRUE);
- else if (sd->winmode == 1)
- elm_gengrid_horizontal_set(grid, EINA_FALSE);
- evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, grid);
- elm_gengrid_align_set(grid, 0.1, 0.1);
-
- gic = elm_gengrid_item_class_new();
- 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 = NULL;
-
- n = 0;
- for (i = 0; i < 10000; 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 == 2579)
- elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE);
- }
-
- elm_gengrid_item_class_free(gic);
- evas_object_show(grid);
- elm_gengrid_item_show(ti[2579].item, sd->scrollto);
-
- if (sd->winmode == 0)
- evas_object_resize(win, 600, 200);
- if (sd->winmode == 1)
- evas_object_resize(win, 600, 600);
- evas_object_show(win);
+ Elm_Object_Item *item = elm_gengrid_selected_item_get(sd->grid);
+ elm_gengrid_item_show(item, sd->scrollto);
+ elm_gengrid_item_selected_set(item, EINA_TRUE);
}
static Evas_Object *
@@ -1345,14 +1249,26 @@ _scrollto_mode_frame_new(Evas_Object *win, void *data)
evas_object_show(rd);
elm_box_pack_end(bx, 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, 8);
+ elm_object_text_set(rd, "SCROLLTO_BOTTOM");
+ elm_radio_group_add(rd, rdg);
+ evas_object_smart_callback_add(rd, "changed", _rd2_changed_cb, sd);
+ evas_object_show(rd);
+ elm_box_pack_end(bx, rd);
+
return fr;
}
void
test_gengrid4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
- Evas_Object *win, *bt, *bx, *bx2, *fr;
+ Evas_Object *win, *bt, *bx, *bx2, *fr, *grid;
Show_Data *sd = calloc(1, sizeof(Show_Data));
+ char buf[PATH_MAX];
+ int i, n;
+ static Item_Data ti[10000];
win = elm_win_util_standard_add("gengrid-show-bringin", "GenGrid Show/Bring_in");
elm_win_autodel_set(win, EINA_TRUE);
@@ -1363,6 +1279,38 @@ test_gengrid4(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
elm_win_resize_object_add(win, bx);
evas_object_show(bx);
+ grid = elm_gengrid_add(win);
+ elm_gengrid_item_size_set(grid, ELM_SCALE_SIZE(150), ELM_SCALE_SIZE(150));
+ elm_gengrid_group_item_size_set(grid, ELM_SCALE_SIZE(31), ELM_SCALE_SIZE(31));
+ elm_gengrid_align_set(grid, 0.1, 0.1);
+ elm_gengrid_horizontal_set(grid, EINA_TRUE);
+
+ gic = elm_gengrid_item_class_new();
+ 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 = NULL;
+
+ for (i = 0, n = 0; i < 10000; 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 == 2579)
+ elm_gengrid_item_selected_set(ti[i].item, EINA_TRUE);
+ }
+
+ elm_gengrid_item_class_free(gic);
+ elm_gengrid_item_show(ti[2579].item, sd->scrollto);
+ evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_min_set(grid, 600, 400);
+ evas_object_show(grid);
+ sd->grid = grid;
+ elm_box_pack_end(bx, grid);
+
bx2 = elm_box_add(bx);
elm_box_horizontal_set(bx2, EINA_TRUE);
elm_box_pack_end(bx, bx2);