rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=4bd8d11867d5ba1418880081ef30c7fbb1834c2a

commit 4bd8d11867d5ba1418880081ef30c7fbb1834c2a
Author: Vitalii Vorobiov <vi.vorob...@samsung.com>
Date:   Tue Jan 12 18:29:38 2016 +0000

    live_scroller: set swallow, text and send signal
---
 src/bin/ui/live_view/elementary/live_scroller.c | 73 ++++++++++++++++++++++---
 1 file changed, 65 insertions(+), 8 deletions(-)

diff --git a/src/bin/ui/live_view/elementary/live_scroller.c 
b/src/bin/ui/live_view/elementary/live_scroller.c
index 39f5487..d737090 100644
--- a/src/bin/ui/live_view/elementary/live_scroller.c
+++ b/src/bin/ui/live_view/elementary/live_scroller.c
@@ -20,12 +20,69 @@
 #include "live_elementary_widgets.h"
 
 static void
-_on_scroller_swallow_check(void *data __UNUSED__,
+_on_scroller_swallow_check(void *data,
                            Evas_Object *obj __UNUSED__,
-                           void *ei __UNUSED__)
+                           void *ei)
 {
-   TODO("Remake on_swallow_check, so that would be used everywhere.")
-   ERR(N_("Complex widgets are not implemented yet."))
+   Demo_Part *part = (Demo_Part *)ei;
+   Evas_Object *content, *bt;
+   Evas_Object *object = (Evas_Object *)data;
+
+   if (!strcmp(part->name, "elm.swallow.content"))
+     {
+        content = elm_table_add(object);
+        int i, j;
+
+        for (j = 0; j < ELEMENTS_COUNT; j++)
+          {
+             for (i = 0; i < ELEMENTS_COUNT; i++)
+               {
+                  bt = object_generate(part, content);
+                  if (bt)
+                    {
+                       evas_object_color_set(part->object,
+                                             part->r,
+                                             part->g,
+                                             part->b,
+                                             part->a);
+
+                       evas_object_size_hint_min_set(part->object,
+                                                     part->min_w,
+                                                     part->min_h);
+                       evas_object_size_hint_max_set(part->object,
+                                                     part->max_w,
+                                                     part->max_h);
+                    }
+                  else
+                    return;
+                  elm_table_pack(content, bt, i, j, 1, 1);
+                  evas_object_show(bt);
+               }
+          }
+        elm_object_content_set(object, content);
+        part->object = content;
+        evas_object_show(content);
+     }
+   else
+     {
+        bt = object_generate(part, object);
+        if (bt)
+          {
+             evas_object_color_set(part->object,
+                                   part->r,
+                                   part->g,
+                                   part->b,
+                                   part->a);
+
+             evas_object_size_hint_min_set(part->object,
+                                           part->min_w,
+                                           part->min_h);
+             evas_object_size_hint_max_set(part->object,
+                                           part->max_w,
+                                           part->max_h);
+          }
+        elm_object_part_content_set(object, part->name, part->object);
+     }
 }
 
 Evas_Object *
@@ -41,7 +98,7 @@ widget_scroller_create(Evas_Object *parent, const Group 
*group)
    if ((strcmp(group->class, "entry") == 0) || (strcmp(group->class, 
"entry_single") == 0))
      {
         object = elm_entry_add(parent);
-        evas_object_data_set(object, SWALLOW_FUNC, on_swallow_check);
+        evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
on_swallow_check, object);
         elm_entry_scrollable_set(object, true);
         if (strcmp(group->class, "entry_single") == 0)
           elm_entry_single_line_set(object, true);
@@ -49,15 +106,15 @@ widget_scroller_create(Evas_Object *parent, const Group 
*group)
    else
      {
         object = elm_scroller_add(parent);
-        evas_object_data_set(object, SWALLOW_FUNC, _on_scroller_swallow_check);
+        evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SWALLOW_SET, 
_on_scroller_swallow_check, object);
      }
    elm_object_style_set(object, group->style);
 
    elm_scroller_policy_set(object, ELM_SCROLLER_POLICY_ON,
                            ELM_SCROLLER_POLICY_ON);
 
-   evas_object_data_set(object, TEXT_FUNC, on_text_check);
-   evas_object_data_set(object, SIGNAL_FUNC, send_signal);
+   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_TEXT_SET, on_text_check, 
object);
+   evas_object_smart_callback_add(ap.win, SIGNAL_DEMO_SIGNAL_SEND, 
send_signal, object);
 
    return object;
 }

-- 


Reply via email to