forked from enlightenment/efl
show genlist's inserted sort is completely broken.
Sad, but it's unusable if you use it with subitems: * insert top-level item sorted mixes with children; * insert children item sorted screws the order This is also true for groups, is holding my changes to enjoy :-( SVN revision: 66947
This commit is contained in:
parent
7677abd03a
commit
ba72c6d81f
|
@ -74,6 +74,7 @@ void test_genlist9(void *data, Evas_Object *obj, void *event_info);
|
|||
void test_genlist10(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist11(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist12(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist13(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_gesture_layer(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_gesture_layer2(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_gesture_layer3(void *data, Evas_Object *obj, void *event_info);
|
||||
|
@ -398,6 +399,7 @@ add_tests:
|
|||
ADD_TEST(NULL, "Lists", "Genlist Eio", test_eio);
|
||||
#endif
|
||||
ADD_TEST(NULL, "Lists", "Genlist Textblock", test_genlist12);
|
||||
ADD_TEST(NULL, "Lists", "Genlist Tree, Insert Sorted", test_genlist13);
|
||||
ADD_TEST(NULL, "Lists", "GenGrid", test_gengrid);
|
||||
ADD_TEST(NULL, "Lists", "GenGrid 2", test_gengrid2);
|
||||
ADD_TEST(NULL, "Lists", "GenGrid Group", test_gengrid3);
|
||||
|
|
|
@ -1945,4 +1945,96 @@ test_genlist12(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i
|
|||
evas_object_resize(win, 400, 500);
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
static int
|
||||
gl13_cmp(const void *pa, const void *pb)
|
||||
{
|
||||
const Elm_Genlist_Item *ia = pa, *ib = pb;
|
||||
int a = (int)(long)elm_genlist_item_data_get(ia);
|
||||
int b = (int)(long)elm_genlist_item_data_get(ib);
|
||||
printf(">>> cmp: %d, %d\n", a, b);
|
||||
return a - b;
|
||||
}
|
||||
|
||||
void
|
||||
test_genlist13(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Elm_Genlist_Item *pi[6];
|
||||
Evas_Object *win, *bg, *bx, *gl;
|
||||
int i, base, idx[3] = {1, 10, 20};
|
||||
|
||||
win = elm_win_add(NULL, "genlist-tree-insert-sorted", ELM_WIN_BASIC);
|
||||
elm_win_title_set(win, "Genlist Tree, Insert Sorted");
|
||||
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, 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 = NULL;
|
||||
itc4.func.state_get = NULL;
|
||||
itc4.func.del = NULL;
|
||||
|
||||
/* mixed order to test insert sorted */
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
pi[i] = elm_genlist_item_direct_sorted_insert
|
||||
(gl, &itc4, (void *)idx[i]/* item data */, NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_SUBITEMS, gl13_cmp/* cmp */,
|
||||
NULL/* func */, NULL/* func data */);
|
||||
}
|
||||
|
||||
for (i = 0, base = 100; i < 3; i++, base += 100)
|
||||
{
|
||||
int j;
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
elm_genlist_item_direct_sorted_insert
|
||||
(gl, &itc4, (void *)(idx[j] + base)/* item data */,
|
||||
pi[i]/* parent */, ELM_GENLIST_ITEM_NONE,
|
||||
gl13_cmp/* cmp */, NULL/* func */, NULL/* func data */);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
pi[i + 3] = elm_genlist_item_direct_sorted_insert
|
||||
(gl, &itc4, (void *)(idx[i] * 2)/* item data */, NULL/* parent */,
|
||||
ELM_GENLIST_ITEM_SUBITEMS, gl13_cmp/* cmp */, NULL/* func */,
|
||||
NULL/* func data */);
|
||||
}
|
||||
|
||||
|
||||
for (i = 0, base = 10000; i < 3; i++, base += 10000)
|
||||
{
|
||||
int j;
|
||||
for (j = 0; j < 3; j++)
|
||||
{
|
||||
elm_genlist_item_direct_sorted_insert
|
||||
(gl, &itc4, (void *)(idx[j] + base)/* item data */,
|
||||
pi[i + 3]/* parent */, ELM_GENLIST_ITEM_NONE,
|
||||
gl13_cmp/* cmp */, NULL/* func */, NULL/* func data */);
|
||||
}
|
||||
}
|
||||
|
||||
elm_box_pack_end(bx, gl);
|
||||
evas_object_show(bx);
|
||||
|
||||
evas_object_resize(win, 320, 320);
|
||||
evas_object_show(win);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue