Elementary migration revision 69448
[framework/uifw/elementary.git] / src / bin / test_factory.c
index b98121f..d7f98a7 100644 (file)
@@ -4,15 +4,20 @@
 #endif
 #ifndef ELM_LIB_QUICKLAUNCH
 
-// 32 ^ 5 = 33mil
-#define BLOK 32
+// 16 ^ 4 = 65k
+#define BLOK 16
+// homogenous layout
+//#define HOMOG 1
+// aligned to top of box
+#define ZEROALIGN 1
+#define DEFSZ 64
 
 static void
 fac_unrealize(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
 {
    // setting factory content to null deletes it
-   printf("DELETE for factory %p\n", obj);
-   elm_factory_content_set(obj, NULL);
+   printf("--------DELETE for factory %p [f: %p]\n", elm_object_content_get(obj), obj);
+   elm_object_content_set(obj, NULL);
 }
 
 static void
@@ -21,18 +26,23 @@ fac_realize_end(void *data, Evas_Object *obj, void *event_info __UNUSED__)
    Evas_Object *win = data;
    Evas_Object *bx, *bt;
    int i;
-   
-   printf("ADD for factory 4 %p [%i]\n", obj, (BLOK * (int)evas_object_data_get(obj, "num")));
+
    bx = elm_box_add(win);
+   printf("   ADD lv 3 = %p [%i]\n", bx, (BLOK * (int)(long)evas_object_data_get(obj, "num")));
+#ifdef HOMOG
    elm_box_homogeneous_set(bx, EINA_TRUE);
+#endif
+#ifdef ZEROALIGN
+   elm_box_align_set(bx, 0.0, 0.0);
+#endif
 
    for (i = 0; i < BLOK; i++)
      {
         char buf[32];
-        
-        snprintf(buf, sizeof(buf), "%i", 
-                 (i + (BLOK * (int)evas_object_data_get(obj, "num"))));
-        
+
+        snprintf(buf, sizeof(buf), "%i",
+                 (i + (BLOK * (int)(long)evas_object_data_get(obj, "num"))));
+
         bt = elm_button_add(win);
         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);
@@ -40,40 +50,8 @@ fac_realize_end(void *data, Evas_Object *obj, void *event_info __UNUSED__)
         elm_box_pack_end(bx, bt);
         evas_object_show(bt);
      }
-   
-   elm_factory_content_set(obj, bx);
-   evas_object_show(bx);
-}
-
-static void
-fac_realize3(void *data, Evas_Object *obj, void *event_info __UNUSED__)
-{
-   Evas_Object *win = data;
-   Evas_Object *bx, *fc;
-   int i;
-   
-   printf("ADD for factory 3 %p [%i]\n", obj, (BLOK * (int)evas_object_data_get(obj, "num")));
-   bx = elm_box_add(win);
-   elm_box_homogeneous_set(bx, EINA_TRUE);
-
-   for (i = 0; i < BLOK; i++)
-     {
-        fc = elm_factory_add(win);
-        // initial height per factory of 1000
-        // scrollbar will be wrong until enough
-        // children have been realized and the
-        // real size is known
-        evas_object_data_set(fc, "num", (void *)(i + (BLOK * (int)evas_object_data_get(obj, "num"))));
-        evas_object_size_hint_min_set(fc, 0, 1000);
-        evas_object_size_hint_weight_set(fc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-        evas_object_size_hint_align_set(fc, EVAS_HINT_FILL, EVAS_HINT_FILL);
-        evas_object_smart_callback_add(fc, "realize", fac_realize_end, win);
-        evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
-        elm_box_pack_end(bx, fc);
-        evas_object_show(fc);
-     }
 
-   elm_factory_content_set(obj, bx);
+   elm_object_content_set(obj, bx);
    evas_object_show(bx);
 }
 
@@ -83,29 +61,35 @@ fac_realize2(void *data, Evas_Object *obj, void *event_info __UNUSED__)
    Evas_Object *win = data;
    Evas_Object *bx, *fc;
    int i;
-   
-   printf("ADD for factory 2 %p [%i]\n", obj, (BLOK * (int)evas_object_data_get(obj, "num")));
+
    bx = elm_box_add(win);
+   printf("  ADD lv 2 = %p [%i]\n", bx, (BLOK * (int)(long)evas_object_data_get(obj, "num")));
+#ifdef HOMOG
    elm_box_homogeneous_set(bx, EINA_TRUE);
-   
+#endif
+#ifdef ZEROALIGN
+   elm_box_align_set(bx, 0.0, 0.0);
+#endif
+
    for (i = 0; i < BLOK; i++)
      {
         fc = elm_factory_add(win);
-        // initial height per factory of 1000
+        elm_factory_maxmin_mode_set(fc, EINA_TRUE);
+        // initial height per factory of DEFSZ
         // scrollbar will be wrong until enough
         // children have been realized and the
         // real size is known
-        evas_object_data_set(fc, "num", (void *)(i + (BLOK * (int)evas_object_data_get(obj, "num"))));
-        evas_object_size_hint_min_set(fc, 0, 1000);
+        evas_object_data_set(fc, "num", (void *)(long)(i + (BLOK * (int)(long)evas_object_data_get(obj, "num"))));
+        evas_object_size_hint_min_set(fc, 0, DEFSZ);
         evas_object_size_hint_weight_set(fc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
         evas_object_size_hint_align_set(fc, EVAS_HINT_FILL, EVAS_HINT_FILL);
-        evas_object_smart_callback_add(fc, "realize", fac_realize3, win);
+        evas_object_smart_callback_add(fc, "realize", fac_realize_end, win);
         evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
         elm_box_pack_end(bx, fc);
         evas_object_show(fc);
      }
 
-   elm_factory_content_set(obj, bx);
+   elm_object_content_set(obj, bx);
    evas_object_show(bx);
 }
 
@@ -115,29 +99,35 @@ fac_realize1(void *data, Evas_Object *obj, void *event_info __UNUSED__)
    Evas_Object *win = data;
    Evas_Object *bx, *fc;
    int i;
-   
-   printf("ADD for factory 1 %p [%i]\n", obj, (BLOK * (int)evas_object_data_get(obj, "num")));
+
    bx = elm_box_add(win);
+   printf(" ADD lv 1 = %p [%i]\n", bx, (BLOK * (int)(long)evas_object_data_get(obj, "num")));
+#ifdef HOMOG
    elm_box_homogeneous_set(bx, EINA_TRUE);
+#endif
+#ifdef ZEROALIGN
+   elm_box_align_set(bx, 0.0, 0.0);
+#endif
 
    for (i = 0; i < BLOK; i++)
      {
         fc = elm_factory_add(win);
-        // initial height per factory of 1000
+        elm_factory_maxmin_mode_set(fc, EINA_TRUE);
+        // initial height per factory of DEFSZ
         // scrollbar will be wrong until enough
         // children have been realized and the
         // real size is known
-        evas_object_data_set(fc, "num", (void *)(i + (BLOK * (int)evas_object_data_get(obj, "num"))));
-        evas_object_size_hint_min_set(fc, 0, 1000);
+        evas_object_data_set(fc, "num", (void *)(long)(i + (BLOK * (int)(long)evas_object_data_get(obj, "num"))));
+        evas_object_size_hint_min_set(fc, 0, DEFSZ);
         evas_object_size_hint_weight_set(fc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
         evas_object_size_hint_align_set(fc, EVAS_HINT_FILL, EVAS_HINT_FILL);
         evas_object_smart_callback_add(fc, "realize", fac_realize2, win);
-        evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
+//        evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
         elm_box_pack_end(bx, fc);
         evas_object_show(fc);
      }
 
-   elm_factory_content_set(obj, bx);
+   elm_object_content_set(obj, bx);
    evas_object_show(bx);
 }
 
@@ -157,22 +147,28 @@ test_factory(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_inf
    evas_object_show(bg);
 
    bx = elm_box_add(win);
+#ifdef HOMOG
    elm_box_homogeneous_set(bx, EINA_TRUE);
-   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+#endif
+#ifdef ZEROALIGN
+   elm_box_align_set(bx, 0.0, 0.0);
+#endif
+   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
 
    for (i = 0; i < BLOK; i++)
      {
         fc = elm_factory_add(win);
-        // initial height per factory of 1000
+        elm_factory_maxmin_mode_set(fc, EINA_TRUE);
+        // initial height per factory of DEFSZ
         // scrollbar will be wrong until enough
         // children have been realized and the
         // real size is known
-        evas_object_data_set(fc, "num", (void *)i);
-        evas_object_size_hint_min_set(fc, 0, 1000);
+        evas_object_data_set(fc, "num", (void *)(long)i);
+        evas_object_size_hint_min_set(fc, 0, DEFSZ);
         evas_object_size_hint_weight_set(fc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
         evas_object_size_hint_align_set(fc, EVAS_HINT_FILL, EVAS_HINT_FILL);
         evas_object_smart_callback_add(fc, "realize", fac_realize1, win);
-        evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
+//        evas_object_smart_callback_add(fc, "unrealize", fac_unrealize, win);
         elm_box_pack_end(bx, fc);
         evas_object_show(fc);
      }
@@ -182,11 +178,11 @@ test_factory(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_inf
    evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(win, sc);
 
-   elm_scroller_content_set(sc, bx);
+   elm_object_content_set(sc, bx);
    evas_object_show(bx);
 
    evas_object_show(sc);
-   
+
    evas_object_resize(win, 320, 480);
    evas_object_show(win);
 }