X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fbin%2Ftest_factory.c;h=d7f98a7e7645f4ea5a109138cfccfcd6110f4fe3;hb=7d5703d105334ee210609a51f547b1fac7ad3be7;hp=b98121f9d6990352a95f0d04fc1a919ba554d96a;hpb=c1981c41a2a0b1e7c925147cb539db1139a3b7e9;p=framework%2Fuifw%2Felementary.git diff --git a/src/bin/test_factory.c b/src/bin/test_factory.c index b98121f..d7f98a7 100644 --- a/src/bin/test_factory.c +++ b/src/bin/test_factory.c @@ -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); }