bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f0b24631c0b50476628a932925781bfae4773d7b

commit f0b24631c0b50476628a932925781bfae4773d7b
Author: Marcel Hollerbach <m...@marcel-hollerbach.de>
Date:   Fri Aug 16 13:24:10 2019 +0200

    elm_test: add group items
    
    this is just to showcase them for now, for now they are positioned
    wrong. later revisions will handle the correct positioning
    
    Reviewed-by: Cedric BAIL <cedric.b...@free.fr>
    Reviewed-by: Mike Blumenkrantz <michael.blumenkra...@gmail.com>
    Differential Revision: https://phab.enlightenment.org/D9585
---
 src/bin/elementary/test_ui_collection.c | 29 ++++++++++++++++++++++-------
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/bin/elementary/test_ui_collection.c 
b/src/bin/elementary/test_ui_collection.c
index f049fb0dc4..b60cf35f75 100644
--- a/src/bin/elementary/test_ui_collection.c
+++ b/src/bin/elementary/test_ui_collection.c
@@ -86,7 +86,7 @@ _widget_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 }
 
 static void
-_add_item(Efl_Ui_Collection *c)
+_add_item(Efl_Ui_Collection *c, Eo *cont)
 {
    Efl_Class *itc = efl_key_data_get(c, "__item_class");
    char buf[PATH_MAX];
@@ -126,7 +126,7 @@ _add_item(Efl_Ui_Collection *c)
      efl_gfx_hint_size_min_set(il, EINA_SIZE2D(100, 180));
    else
      efl_gfx_hint_size_min_set(il, EINA_SIZE2D(40, 40+(i%2)*40));
-   efl_pack_end(c, il);
+   efl_pack_end(cont, il);
 }
 
 static void
@@ -138,7 +138,7 @@ _remove_all_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 static void
 _add_one_item(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   _add_item(data);
+   _add_item(data, data);
 }
 
 static void
@@ -146,7 +146,7 @@ _add_thousend_items(void *data, const Efl_Event *ev 
EINA_UNUSED)
 {
    for (int i = 0; i < 1000; ++i)
      {
-        _add_item(data);
+        _add_item(data, data);
      }
 }
 
@@ -160,7 +160,7 @@ _select_value_cb(void *data, const Efl_Event *ev)
 
 void create_item_container_ui(const Efl_Class *collection_class, const 
Efl_Class *item, const char *name)
 {
-   Efl_Ui_Win *win, *o, *tbl, *item_container, *bx;
+   Efl_Ui_Win *win, *o, *tbl, *item_container, *bx, *git;
    Match_Content_Ctx *ctx = calloc(1, sizeof(*ctx));
 
    win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
@@ -173,10 +173,25 @@ void create_item_container_ui(const Efl_Class 
*collection_class, const Efl_Class
    item_container = o = efl_add(collection_class, win);
    efl_key_data_set(o, "__item_class", item);
    efl_event_callback_add(o, EFL_EVENT_DEL, _widget_del_cb, ctx);
-   for (int i = 0; i < 2000; ++i)
+   for (int i = 0; i < 200; ++i)
      {
-        _add_item(o);
+        _add_item(o, o);
      }
+   for (int j = 0; j < 5; ++j)
+     {
+        Eina_Strbuf *buf = eina_strbuf_new();
+
+        eina_strbuf_append_printf(buf, "Group #%d", j);
+        git = efl_add(EFL_UI_GROUP_ITEM_CLASS, o);
+        efl_text_set(git, eina_strbuf_release(buf));
+        efl_pack_end(o, git);
+        efl_gfx_hint_size_min_set(git, EINA_SIZE2D(40, 40+40));
+        for (int i = 0; i < 200; ++i)
+          {
+            _add_item(o, git);
+          }
+     }
+
    efl_pack_table(tbl, o, 1, 0, 1, 12);
    ctx->c = o;
 

-- 


Reply via email to