jpeg pushed a commit to branch master.

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

commit 4a16e83c5618e319468e9485fa19263ff99f5525
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Tue Apr 19 11:45:34 2016 +0900

    elm_text/box: Use real widgets to show off box layout
---
 src/bin/elementary/test_ui_box.c | 126 ++++++++++++++++-----------------------
 1 file changed, 53 insertions(+), 73 deletions(-)

diff --git a/src/bin/elementary/test_ui_box.c b/src/bin/elementary/test_ui_box.c
index ba83b55..df7c1c3 100644
--- a/src/bin/elementary/test_ui_box.c
+++ b/src/bin/elementary/test_ui_box.c
@@ -4,8 +4,10 @@
 #endif
 
 #include <Elementary.h>
+#include <assert.h>
 
-static Evas_Object *objects[7] = {};
+#define CNT 10
+static Evas_Object *objects[CNT] = {};
 
 typedef enum {
    NONE,
@@ -15,9 +17,6 @@ typedef enum {
    TWO
 } Weight_Mode;
 
-#define P(i) ((void*)(intptr_t)i)
-#define I(p) ((int)(intptr_t)p)
-
 static Eina_Bool
 weights_cb(void *data, const Eo_Event *event)
 {
@@ -27,17 +26,17 @@ weights_cb(void *data, const Eo_Event *event)
      {
       case NONE:
         evas_object_size_hint_align_set(data, 0.5, 0.5);
-        for (int i = 0; i < 7; i++)
+        for (int i = 0; i < CNT; i++)
           evas_object_size_hint_weight_set(objects[i], 0, 0);
         break;
       case NONE_BUT_FILL:
         evas_object_size_hint_align_set(data, -1, -1);
-        for (int i = 0; i < 7; i++)
+        for (int i = 0; i < CNT; i++)
           evas_object_size_hint_weight_set(objects[i], 0, 0);
         break;
       case EQUAL:
         evas_object_size_hint_align_set(data, 0.5, 0.5);
-        for (int i = 0; i < 7; i++)
+        for (int i = 0; i < CNT; i++)
           evas_object_size_hint_weight_set(objects[i], 1, 1);
         break;
       case ONE:
@@ -45,6 +44,8 @@ weights_cb(void *data, const Eo_Event *event)
         for (int i = 0; i < 6; i++)
           evas_object_size_hint_weight_set(objects[i], 0, 0);
         evas_object_size_hint_weight_set(objects[6], 1, 1);
+        for (int i = 7; i < CNT; i++)
+          evas_object_size_hint_weight_set(objects[i], 0, 0);
         break;
       case TWO:
         evas_object_size_hint_align_set(data, 0.5, 0.5);
@@ -52,6 +53,8 @@ weights_cb(void *data, const Eo_Event *event)
           evas_object_size_hint_weight_set(objects[i], 0, 0);
         evas_object_size_hint_weight_set(objects[5], 1, 1);
         evas_object_size_hint_weight_set(objects[6], 1, 1);
+        for (int i = 7; i < CNT; i++)
+          evas_object_size_hint_weight_set(objects[i], 0, 0);
         break;
      }
 
@@ -59,15 +62,6 @@ weights_cb(void *data, const Eo_Event *event)
 }
 
 static Eina_Bool
-min_slider_cb(void *data EINA_UNUSED, const Eo_Event *event)
-{
-   int val = elm_slider_value_get(event->obj);
-   for (int i = 0; i < 7; i++)
-     evas_object_size_hint_min_set(objects[i], val, 50);
-   return EO_CALLBACK_CONTINUE;
-}
-
-static Eina_Bool
 request_slider_cb(void *data EINA_UNUSED, const Eo_Event *event)
 {
    int val = elm_slider_value_get(event->obj);
@@ -192,12 +186,12 @@ _custom_engine_layout_do(Eo *obj EINA_UNUSED, void *pd 
EINA_UNUSED,
 
 /* Common Eo Class boilerplate. */
 static const Eo_Op_Description custom_engine_op_desc[] = {
-     EO_OP_CLASS_FUNC_OVERRIDE(efl_pack_engine_layout_do, 
_custom_engine_layout_do),
+   EO_OP_CLASS_FUNC_OVERRIDE(efl_pack_engine_layout_do, 
_custom_engine_layout_do),
 };
 
 static const Eo_Class_Description custom_engine_class_desc = {
-     EO_VERSION, "Custom Layout Engine", EO_CLASS_TYPE_INTERFACE,
-     EO_CLASS_DESCRIPTION_OPS(custom_engine_op_desc), NULL, 0, NULL, NULL
+   EO_VERSION, "Custom Layout Engine", EO_CLASS_TYPE_INTERFACE,
+   EO_CLASS_DESCRIPTION_OPS(custom_engine_op_desc), NULL, 0, NULL, NULL
 };
 
 EO_DEFINE_CLASS(_test_ui_box_custom_engine_class_get, 
&custom_engine_class_desc, EFL_PACK_ENGINE_INTERFACE, NULL)
@@ -305,7 +299,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    bx = eo_add(EFL_UI_BOX_CLASS, win,
                efl_pack_direction_set(eo_self, EFL_ORIENT_DOWN));
    evas_object_size_hint_align_set(bx, 0, -1);
-   evas_object_size_hint_weight_set(bx, 1, 1);
+   evas_object_size_hint_weight_set(bx, 0, 1);
    efl_pack(hbox, bx);
    efl_gfx_visible_set(bx, 1);
 
@@ -364,37 +358,10 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    efl_gfx_visible_set(o, 1);
 
 
-   /* min size setter */
-   bx = eo_add(EFL_UI_BOX_CLASS, win,
-               efl_pack_direction_set(eo_self, EFL_ORIENT_DOWN));
-   evas_object_size_hint_align_set(bx, 0.5, -1);
-   evas_object_size_hint_weight_set(bx, 0, 1);
-   efl_pack(hbox, bx);
-   efl_gfx_visible_set(bx, 1);
-
-   o = elm_label_add(win);
-   elm_object_text_set(o, "Min size");
-   efl_pack(bx, o);
-   efl_gfx_visible_set(o, 1);
-
-   o = elm_slider_add(win);
-   elm_slider_indicator_format_set(o, "%.0fpx");
-   elm_slider_indicator_show_set(o, 1);
-   elm_slider_horizontal_set(o, 0);
-   evas_object_size_hint_align_set(o, 0.5, -1);
-   evas_object_size_hint_weight_set(o, 1, 1);
-   eo_event_callback_add(o, ELM_SLIDER_EVENT_CHANGED, min_slider_cb, NULL);
-   elm_slider_min_max_set(o, 1, 150);
-   elm_slider_inverted_set(o, 1);
-   elm_slider_value_set(o, 50);
-   efl_pack(bx, o);
-   efl_gfx_visible_set(o, 1);
-
-
    /* requested size setter */
    bx = eo_add(EFL_UI_BOX_CLASS, win,
                efl_pack_direction_set(eo_self, EFL_ORIENT_DOWN));
-   evas_object_size_hint_align_set(bx, 0.5, -1);
+   evas_object_size_hint_align_set(bx, 0, -1);
    evas_object_size_hint_weight_set(bx, 0, 1);
    efl_pack(hbox, bx);
    efl_gfx_visible_set(bx, 1);
@@ -449,7 +416,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    bx = eo_add(EFL_UI_BOX_CLASS, win,
                efl_pack_direction_set(eo_self, EFL_ORIENT_DOWN));
    evas_object_size_hint_align_set(bx, 0, -1);
-   evas_object_size_hint_weight_set(bx, 1, 1);
+   evas_object_size_hint_weight_set(bx, 0, 1);
    efl_pack(hbox, bx);
    efl_gfx_visible_set(bx, 1);
 
@@ -504,6 +471,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    elm_slider_horizontal_set(o, 1);
    evas_object_size_hint_align_set(o, 0.5, -1);
    evas_object_size_hint_weight_set(o, 1, 0);
+   evas_object_size_hint_request_set(o, 100, 0);
    eo_event_callback_add(o, ELM_SLIDER_EVENT_CHANGED, alignh_slider_cb, 
bottombox);
    elm_slider_min_max_set(o, -0.1, 1.0);
    elm_slider_step_set(o, 0.1);
@@ -527,54 +495,66 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    elm_object_content_set(f, bx);
    efl_gfx_visible_set(bx, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 255, 0, 0, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "Btn1");
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 0, 128, 0, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "Button 2");
    evas_object_size_hint_align_set(o, -1, -1);
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 0, 0, 255, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
-   evas_object_size_hint_align_set(o, 1.0, 0.5);
+   objects[i++] = o = elm_label_add(win);
+   elm_label_line_wrap_set(o, ELM_WRAP_WORD);
+   elm_object_text_set(o, "This label is not marked as fill");
+   evas_object_size_hint_align_set(o, 0.5, 0.5);
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 128, 128, 255, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "Requested size example");
    evas_object_size_hint_align_set(o, 0.5, 1.0);
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 128, 128, 128, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "Quit!");
    evas_object_size_hint_align_set(o, 0.5, 0.0);
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 0, 128, 128, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
-   evas_object_size_hint_align_set(o, 0, -1);
-   evas_object_size_hint_max_set(o, 150, 100);
+   objects[i++] = o = elm_label_add(win);
+   elm_label_line_wrap_set(o, ELM_WRAP_WORD);
+   elm_object_text_set(o, "This label on the other hand<br/>is marked as 
align=fill.");
+   evas_object_size_hint_align_set(o, -1, -1);
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
-   objects[i++] = o = evas_object_rectangle_add(win);
-   efl_gfx_color_set(o, 128, 0, 128, 255);
-   evas_object_size_hint_min_set(o, 50, 50);
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "Button with a quite long text.");
    evas_object_size_hint_align_set(o, -1, -1);
+   evas_object_size_hint_max_set(o, 200, 100);
+   efl_pack(bx, o);
+   efl_gfx_visible_set(o, 1);
+
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "BtnA");
    efl_pack(bx, o);
    efl_gfx_visible_set(o, 1);
 
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "BtnB");
+   efl_pack(bx, o);
+   efl_gfx_visible_set(o, 1);
+
+   objects[i++] = o = elm_button_add(win);
+   elm_object_text_set(o, "BtnC");
+   efl_pack(bx, o);
+   efl_gfx_visible_set(o, 1);
+
+   assert(i == CNT);
+
    efl_gfx_visible_set(win, 1);
 }

-- 


Reply via email to