summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2016-04-14 11:12:44 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-04-20 10:47:40 +0900
commita84468cf4b44c4fdb7bccc8927eb20808d9a3d0d (patch)
treeea27247c35166f265da0fc2d9111f5d93d5c00b0
parent548efd7fa4865140a2c32bb51debfb8a1353ae09 (diff)
downloadefl-a84468cf4b44c4fdb7bccc8927eb20808d9a3d0d.tar.gz
Elm_test: Add test case for Ui.Grid
Right now the proper layout functions for Ui.Grid are not implemented, so most controls don't work. This tests that the grid works fine as a table.
-rw-r--r--src/Makefile_Elementary.am1
-rw-r--r--src/bin/elementary/test.c2
-rw-r--r--src/bin/elementary/test_ui_box.c36
-rw-r--r--src/bin/elementary/test_ui_grid.c355
-rw-r--r--src/lib/elementary/Elementary.h.in1
5 files changed, 377 insertions, 18 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 1708579eaf..8578d6a105 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -780,6 +780,7 @@ bin/elementary/test_tooltip.c \
bin/elementary/test_transit.c \
bin/elementary/test_transit_bezier.c \
bin/elementary/test_ui_box.c \
+bin/elementary/test_ui_grid.c \
bin/elementary/test_video.c \
bin/elementary/test_weather.c \
bin/elementary/test_web.c \
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index d7da471caf..e70e26bd60 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -140,6 +140,7 @@ void test_table5(void *data, Evas_Object *obj, void *event_info);
void test_table6(void *data, Evas_Object *obj, void *event_info);
void test_table7(void *data, Evas_Object *obj, void *event_info);
void test_table8(void *data, Evas_Object *obj, void *event_info);
+void test_ui_grid(void *data, Evas_Object *obj, void *event_info);
void test_gengrid(void *data, Evas_Object *obj, void *event_info);
void test_gengrid2(void *data, Evas_Object *obj, void *event_info);
void test_gengrid3(void *data, Evas_Object *obj, void *event_info);
@@ -592,6 +593,7 @@ add_tests:
//------------------------------//
ADD_TEST(NULL, "New Containers", "Ui.Box", test_ui_box);
+ ADD_TEST(NULL, "New Containers", "Ui.Grid", test_ui_grid);
//------------------------------//
ADD_TEST(NULL, "Entries", "Entry", test_entry);
diff --git a/src/bin/elementary/test_ui_box.c b/src/bin/elementary/test_ui_box.c
index 3600a96a32..62903ba6cd 100644
--- a/src/bin/elementary/test_ui_box.c
+++ b/src/bin/elementary/test_ui_box.c
@@ -5,7 +5,7 @@
#include <Elementary.h>
-static Evas_Object *boxes[7] = {};
+static Evas_Object *objects[7] = {};
typedef enum {
NONE,
@@ -28,30 +28,30 @@ 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++)
- evas_object_size_hint_weight_set(boxes[i], 0, 0);
+ 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++)
- evas_object_size_hint_weight_set(boxes[i], 0, 0);
+ 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++)
- evas_object_size_hint_weight_set(boxes[i], 1, 1);
+ evas_object_size_hint_weight_set(objects[i], 1, 1);
break;
case ONE:
evas_object_size_hint_align_set(data, 0.5, 0.5);
for (int i = 0; i < 6; i++)
- evas_object_size_hint_weight_set(boxes[i], 0, 0);
- evas_object_size_hint_weight_set(boxes[6], 1, 1);
+ evas_object_size_hint_weight_set(objects[i], 0, 0);
+ evas_object_size_hint_weight_set(objects[6], 1, 1);
break;
case TWO:
evas_object_size_hint_align_set(data, 0.5, 0.5);
for (int i = 0; i < 5; i++)
- evas_object_size_hint_weight_set(boxes[i], 0, 0);
- evas_object_size_hint_weight_set(boxes[5], 1, 1);
- evas_object_size_hint_weight_set(boxes[6], 1, 1);
+ 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);
break;
}
@@ -63,7 +63,7 @@ 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(boxes[i], val, 50);
+ evas_object_size_hint_min_set(objects[i], val, 50);
return EO_CALLBACK_CONTINUE;
}
@@ -71,7 +71,7 @@ static Eina_Bool
request_slider_cb(void *data EINA_UNUSED, const Eo_Event *event)
{
int val = elm_slider_value_get(event->obj);
- evas_object_size_hint_request_set(boxes[3], val, val);
+ evas_object_size_hint_request_set(objects[3], val, val);
return EO_CALLBACK_CONTINUE;
}
@@ -415,41 +415,41 @@ 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);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
evas_object_size_hint_align_set(o, -1, -1);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
evas_object_size_hint_align_set(o, 0.5, 1.0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
evas_object_size_hint_align_set(o, 0.5, 0.0);
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
@@ -457,7 +457,7 @@ test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in
efl_pack(bx, o);
efl_gfx_visible_set(o, 1);
- boxes[i++] = o = evas_object_rectangle_add(win);
+ 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);
evas_object_size_hint_align_set(o, -1, -1);
diff --git a/src/bin/elementary/test_ui_grid.c b/src/bin/elementary/test_ui_grid.c
new file mode 100644
index 0000000000..1ebd72877b
--- /dev/null
+++ b/src/bin/elementary/test_ui_grid.c
@@ -0,0 +1,355 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+#include <Elementary.h>
+
+static Evas_Object *objects[7] = {};
+
+typedef enum {
+ NONE,
+ NONE_BUT_FILL,
+ EQUAL,
+ ONE,
+ 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)
+{
+ Weight_Mode mode = elm_radio_state_value_get(event->obj);
+
+ switch (mode)
+ {
+ case NONE:
+ evas_object_size_hint_align_set(data, 0.5, 0.5);
+ for (int i = 0; i < 7; 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++)
+ 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++)
+ evas_object_size_hint_weight_set(objects[i], 1, 1);
+ break;
+ case ONE:
+ evas_object_size_hint_align_set(data, 0.5, 0.5);
+ 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);
+ break;
+ case TWO:
+ evas_object_size_hint_align_set(data, 0.5, 0.5);
+ for (int i = 0; i < 5; i++)
+ 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);
+ break;
+ }
+
+ 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);
+ for (int i = 0; i < 6; i++)
+ evas_object_size_hint_request_set(objects[i], val, 0);
+ return EO_CALLBACK_CONTINUE;
+}
+
+static Eina_Bool
+padding_slider_cb(void *data, const Eo_Event *event)
+{
+ int val = elm_slider_value_get(event->obj);
+ efl_pack_padding_set(data, val, val, EINA_TRUE);
+ return EO_CALLBACK_CONTINUE;
+}
+
+static Eina_Bool
+margin_slider_cb(void *data, const Eo_Event *event)
+{
+ int val = elm_slider_value_get(event->obj);
+ evas_object_size_hint_padding_set(data, val, val, val, val);
+ return EO_CALLBACK_CONTINUE;
+}
+
+static Eina_Bool
+btnmargins_slider_cb(void *data, const Eo_Event *event)
+{
+ int val = elm_slider_value_get(event->obj);
+ for (int i = 1; i < 7; i++)
+ evas_object_size_hint_padding_set(data, val, val, val, val);
+ return EO_CALLBACK_CONTINUE;
+}
+
+void
+test_ui_grid(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ Evas_Object *win, *bx, *o, *vbox, *f, *hbox, *chk, *grid;
+ int i = 0;
+
+ win = elm_win_util_standard_add("ui-grid", "Efl.Ui.Grid");
+ elm_win_autodel_set(win, EINA_TRUE);
+ efl_gfx_size_set(win, 600, 400);
+
+ vbox = eo_add(EFL_UI_BOX_CLASS, win);
+ efl_pack_padding_set(vbox, 10, 10, EINA_TRUE);
+ efl_pack_direction_set(vbox, EFL_ORIENT_DOWN);
+ evas_object_size_hint_weight_set(vbox, 1, 1);
+ evas_object_size_hint_padding_set(vbox, 5, 5, 5, 5);
+ elm_win_resize_object_add(win, vbox);
+ efl_gfx_visible_set(vbox, 1);
+
+
+ // create here to pass in cb
+ grid = eo_add(EFL_UI_GRID_CLASS, win);
+
+
+ /* controls */
+ f = elm_frame_add(win);
+ elm_object_text_set(f, "Controls");
+ evas_object_size_hint_align_set(f, -1, -1);
+ evas_object_size_hint_weight_set(f, 1, 0);
+ efl_pack(vbox, f);
+ efl_gfx_visible_set(f, 1);
+
+ hbox = eo_add(EFL_UI_BOX_CLASS, win);
+ elm_object_content_set(f, hbox);
+ efl_pack_padding_set(hbox, 10, 0, EINA_TRUE);
+ efl_gfx_visible_set(hbox, 1);
+
+
+ /* weights radio group */
+ 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);
+ efl_pack(hbox, bx);
+ efl_gfx_visible_set(bx, 1);
+
+ chk = o = elm_radio_add(win);
+ elm_object_text_set(o, "No weight");
+ eo_event_callback_add(o, ELM_RADIO_EVENT_CHANGED, weights_cb, grid);
+ evas_object_size_hint_align_set(o, 0, 0.5);
+ elm_radio_state_value_set(o, NONE);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+ o = elm_radio_add(win);
+ elm_object_text_set(o, "No weight + grid fill");
+ eo_event_callback_add(o, ELM_RADIO_EVENT_CHANGED, weights_cb, grid);
+ evas_object_size_hint_align_set(o, 0, 0.5);
+ elm_radio_state_value_set(o, NONE_BUT_FILL);
+ elm_radio_group_add(o, chk);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+ o = elm_radio_add(win);
+ elm_object_text_set(o, "Equal weights");
+ eo_event_callback_add(o, ELM_RADIO_EVENT_CHANGED, weights_cb, grid);
+ evas_object_size_hint_align_set(o, 0, 0.5);
+ elm_radio_state_value_set(o, EQUAL);
+ elm_radio_group_add(o, chk);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+ o = elm_radio_add(win);
+ elm_object_text_set(o, "One weight only");
+ eo_event_callback_add(o, ELM_RADIO_EVENT_CHANGED, weights_cb, grid);
+ evas_object_size_hint_align_set(o, 0, 0.5);
+ elm_radio_state_value_set(o, ONE);
+ elm_radio_group_add(o, chk);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+ o = elm_radio_add(win);
+ elm_object_text_set(o, "Two weights");
+ eo_event_callback_add(o, ELM_RADIO_EVENT_CHANGED, weights_cb, grid);
+ evas_object_size_hint_align_set(o, 0, 0.5);
+ elm_radio_state_value_set(o, TWO);
+ elm_radio_group_add(o, chk);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+ elm_radio_value_set(chk, EQUAL);
+
+
+ /* 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_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, "Requested 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, request_slider_cb, NULL);
+ elm_slider_min_max_set(o, 0, 250);
+ elm_slider_inverted_set(o, 1);
+ elm_slider_value_set(o, 0);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+
+ /* inner box padding */
+ 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, 0, 1);
+ efl_pack(hbox, bx);
+ efl_gfx_visible_set(bx, 1);
+
+ o = elm_label_add(win);
+ elm_object_text_set(o, "Padding");
+ 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, padding_slider_cb, grid);
+ elm_slider_min_max_set(o, 0, 40);
+ elm_slider_inverted_set(o, 1);
+ elm_slider_value_set(o, 10);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+
+ /* outer margin */
+ 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, 0, 1);
+ efl_pack(hbox, bx);
+ efl_gfx_visible_set(bx, 1);
+
+ o = elm_label_add(win);
+ elm_object_text_set(o, "Margin");
+ 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, margin_slider_cb, grid);
+ elm_slider_min_max_set(o, 0, 40);
+ elm_slider_inverted_set(o, 1);
+ elm_slider_value_set(o, 10);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+
+ /* button margins */
+ 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);
+ efl_pack(hbox, bx);
+ efl_gfx_visible_set(bx, 1);
+
+ o = elm_label_add(win);
+ elm_object_text_set(o, "Buttons margins");
+ 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, btnmargins_slider_cb, grid);
+ elm_slider_min_max_set(o, 0, 40);
+ elm_slider_inverted_set(o, 1);
+ elm_slider_value_set(o, 10);
+ efl_pack(bx, o);
+ efl_gfx_visible_set(o, 1);
+
+
+ /* contents */
+ f = elm_frame_add(win);
+ elm_object_text_set(f, "Contents");
+ evas_object_size_hint_align_set(f, -1, -1);
+ evas_object_size_hint_weight_set(f, 1, 1);
+ efl_pack(vbox, f);
+ efl_gfx_visible_set(f, 1);
+
+ evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_content_set(f, grid);
+ evas_object_show(grid);
+
+ objects[i++] = o = evas_object_rectangle_add(win);
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_min_set(o, 10, 10);
+ evas_object_color_set(o, 64, 96, 128, 255);
+ efl_pack_grid(grid, o, 0, 0, 3, 1);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 1");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 0, 0, 1, 1);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 2");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 1, 0, 1, 1);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 3");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 2, 0, 1, 1);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 4");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 0, 1, 2, 1);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 5");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 2, 1, 1, 2);
+ evas_object_show(o);
+
+ objects[i++] = o = elm_button_add(win);
+ elm_object_text_set(o, "Button 6");
+ evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ efl_pack_grid(grid, o, 0, 2, 2, 1);
+ evas_object_show(o);
+
+ evas_object_show(win);
+}
diff --git a/src/lib/elementary/Elementary.h.in b/src/lib/elementary/Elementary.h.in
index 30c6dd3b77..d67e227aed 100644
--- a/src/lib/elementary/Elementary.h.in
+++ b/src/lib/elementary/Elementary.h.in
@@ -271,6 +271,7 @@ EAPI extern Elm_Version *elm_version;
#ifdef EFL_EO_API_SUPPORT
# include <efl_ui_box.eo.h>
# include <efl_ui_box_flow.eo.h>
+# include <efl_ui_grid.eo.h>
#endif
/* include deprecated calls last of all */