summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/elementary/test_ui_grid.c6
-rw-r--r--src/lib/edje/edje_containers.c79
-rw-r--r--src/lib/edje/efl_canvas_layout_internal_box.eo10
-rw-r--r--src/lib/edje/efl_canvas_layout_internal_table.eo6
-rw-r--r--src/lib/efl/interfaces/efl_pack.eo5
-rw-r--r--src/lib/efl/interfaces/efl_pack_grid.eo14
-rw-r--r--src/lib/efl/interfaces/efl_pack_linear.eo74
-rw-r--r--src/lib/elementary/efl_ui_box.c106
-rw-r--r--src/lib/elementary/efl_ui_box.eo13
-rw-r--r--src/lib/elementary/efl_ui_grid.c61
-rw-r--r--src/lib/elementary/efl_ui_grid.eo15
-rw-r--r--src/lib/elementary/efl_ui_layout_internal_box.eo10
-rw-r--r--src/lib/elementary/efl_ui_layout_internal_table.eo6
-rw-r--r--src/lib/elementary/elm_layout.c2
-rw-r--r--src/lib/elementary/elm_layout_pack.c60
-rw-r--r--src/lib/elementary/elm_win.c4
-rw-r--r--src/tests/edje/edje_test_edje.c14
17 files changed, 229 insertions, 256 deletions
diff --git a/src/bin/elementary/test_ui_grid.c b/src/bin/elementary/test_ui_grid.c
index 956c676fb8..59a1da9e36 100644
--- a/src/bin/elementary/test_ui_grid.c
+++ b/src/bin/elementary/test_ui_grid.c
@@ -136,7 +136,7 @@ child_evt_cb(void *data, const Eo_Event *event)
136 int col, row, colspan, rowspan; 136 int col, row, colspan, rowspan;
137 char buf[64]; 137 char buf[64];
138 138
139 efl_pack_grid_content_position_get(event->obj, it, &col, &row, &colspan, &rowspan); 139 efl_pack_grid_position_get(event->obj, it, &col, &row, &colspan, &rowspan);
140 if (event->desc == EFL_CONTAINER_EVENT_CONTENT_ADDED) 140 if (event->desc == EFL_CONTAINER_EVENT_CONTENT_ADDED)
141 sprintf(buf, "pack %d,%d %dx%d", col, row, colspan, rowspan); 141 sprintf(buf, "pack %d,%d %dx%d", col, row, colspan, rowspan);
142 else 142 else
@@ -169,7 +169,7 @@ _custom_engine_layout_do(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED,
169 it = efl_content_iterate(pack); 169 it = efl_content_iterate(pack);
170 EINA_ITERATOR_FOREACH(it, item) 170 EINA_ITERATOR_FOREACH(it, item)
171 { 171 {
172 if (efl_pack_grid_content_position_get(pack, item, &c, &r, &cs, &rs)) 172 if (efl_pack_grid_position_get(pack, item, &c, &r, &cs, &rs))
173 { 173 {
174 int x, y, mw, mh; 174 int x, y, mw, mh;
175 175
@@ -615,7 +615,7 @@ test_ui_grid_linear(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
615 efl_gfx_visible_set(f, 1); 615 efl_gfx_visible_set(f, 1);
616 616
617 efl_pack_grid_columns_set(grid, 4); 617 efl_pack_grid_columns_set(grid, 4);
618 efl_pack_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN); 618 efl_pack_grid_directions_set(grid, EFL_ORIENT_RIGHT, EFL_ORIENT_DOWN);
619 evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 619 evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
620 elm_object_content_set(f, grid); 620 elm_object_content_set(f, grid);
621 evas_object_show(grid); 621 evas_object_show(grid);
diff --git a/src/lib/edje/edje_containers.c b/src/lib/edje/edje_containers.c
index 89bf2f708b..75d61c4a53 100644
--- a/src/lib/edje/edje_containers.c
+++ b/src/lib/edje/edje_containers.c
@@ -70,16 +70,16 @@ _efl_canvas_layout_internal_box_eo_base_finalize(Eo *obj, Edje_Box_Data *pd)
70 70
71/* Legacy features */ 71/* Legacy features */
72 72
73EOLIAN static void 73EOLIAN static Eina_Bool
74_efl_canvas_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Box_Data *pd) 74_efl_canvas_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
75{ 75{
76 _edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE); 76 return _edje_part_box_remove_all(pd->ed, pd->part, EINA_TRUE);
77} 77}
78 78
79EOLIAN static void 79EOLIAN static Eina_Bool
80_efl_canvas_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Box_Data *pd) 80_efl_canvas_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
81{ 81{
82 _edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE); 82 return _edje_part_box_remove_all(pd->ed, pd->part, EINA_FALSE);
83} 83}
84 84
85EOLIAN static Eina_Bool 85EOLIAN static Eina_Bool
@@ -90,22 +90,22 @@ _efl_canvas_layout_internal_box_efl_pack_unpack(Eo *obj EINA_UNUSED, Edje_Box_Da
90 return (removed == subobj); 90 return (removed == subobj);
91} 91}
92 92
93EOLIAN static void 93EOLIAN static Eina_Bool
94_efl_canvas_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj) 94_efl_canvas_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
95{ 95{
96 _edje_part_box_append(pd->ed, pd->part, subobj); 96 return _edje_part_box_append(pd->ed, pd->part, subobj);
97} 97}
98 98
99EOLIAN static void 99EOLIAN static Eina_Bool
100_efl_canvas_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj) 100_efl_canvas_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
101{ 101{
102 _edje_part_box_prepend(pd->ed, pd->part, subobj); 102 return _edje_part_box_prepend(pd->ed, pd->part, subobj);
103} 103}
104 104
105EOLIAN static void 105EOLIAN static Eina_Bool
106_efl_canvas_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj) 106_efl_canvas_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base *subobj)
107{ 107{
108 _edje_part_box_append(pd->ed, pd->part, subobj); 108 return _edje_part_box_append(pd->ed, pd->part, subobj);
109} 109}
110 110
111EOLIAN static Eina_Bool 111EOLIAN static Eina_Bool
@@ -120,18 +120,20 @@ _efl_canvas_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED,
120 return _edje_part_box_insert_after(pd->ed, pd->part, subobj, existing); 120 return _edje_part_box_insert_after(pd->ed, pd->part, subobj, existing);
121} 121}
122 122
123EOLIAN static void 123EOLIAN static Eina_Bool
124_efl_canvas_layout_internal_box_efl_pack_linear_pack_insert(Eo *obj, Edje_Box_Data *pd, Efl_Gfx_Base *subobj, int index) 124_efl_canvas_layout_internal_box_efl_pack_linear_pack_at(Eo *obj, Edje_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
125{ 125{
126 int cnt = efl_content_count(obj); 126 int cnt = efl_content_count(obj);
127 if ((index < 0) && ((-index) <= (cnt + 1)))
128 index = cnt + index + 1;
127 if ((index >= 0) && (index < cnt)) 129 if ((index >= 0) && (index < cnt))
128 _edje_part_box_insert_at(pd->ed, pd->part, subobj, index); 130 return _edje_part_box_insert_at(pd->ed, pd->part, subobj, index);
129 else 131 else
130 _edje_part_box_append(pd->ed, pd->part, subobj); 132 return _edje_part_box_append(pd->ed, pd->part, subobj);
131} 133}
132 134
133EOLIAN static Efl_Gfx_Base * 135EOLIAN static Efl_Gfx_Base *
134_efl_canvas_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index) 136_efl_canvas_layout_internal_box_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
135{ 137{
136 if (index < 0) index += efl_content_count(obj); 138 if (index < 0) index += efl_content_count(obj);
137 return _edje_part_box_remove_at(pd->ed, pd->part, index); 139 return _edje_part_box_remove_at(pd->ed, pd->part, index);
@@ -140,7 +142,7 @@ _efl_canvas_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj EINA_U
140/* New APIs with Eo */ 142/* New APIs with Eo */
141 143
142EOLIAN static Efl_Gfx_Base * 144EOLIAN static Efl_Gfx_Base *
143_efl_canvas_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index) 145_efl_canvas_layout_internal_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, int index)
144{ 146{
145 if (index < 0) index += efl_content_count(obj); 147 if (index < 0) index += efl_content_count(obj);
146 return _edje_part_box_content_at(pd->ed, pd->part, index); 148 return _edje_part_box_content_at(pd->ed, pd->part, index);
@@ -153,7 +155,7 @@ _efl_canvas_layout_internal_box_efl_container_content_remove(Eo *obj, Edje_Box_D
153} 155}
154 156
155EOLIAN static int 157EOLIAN static int
156_efl_canvas_layout_internal_box_efl_pack_linear_content_index_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, Efl_Gfx_Base * subobj) 158_efl_canvas_layout_internal_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd, const Efl_Gfx_Base * subobj)
157{ 159{
158 Evas_Object_Box_Option *opt; 160 Evas_Object_Box_Option *opt;
159 Evas_Object_Box_Data *priv; 161 Evas_Object_Box_Data *priv;
@@ -237,7 +239,7 @@ _efl_canvas_layout_internal_box_efl_container_content_count(Eo *obj EINA_UNUSED,
237} 239}
238 240
239EOLIAN static Efl_Orient 241EOLIAN static Efl_Orient
240_efl_canvas_layout_internal_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd) 242_efl_canvas_layout_internal_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Edje_Box_Data *pd)
241{ 243{
242 const Edje_Part_Description_Box *desc = 244 const Edje_Part_Description_Box *desc =
243 (Edje_Part_Description_Box *) pd->rp->chosen_description; 245 (Edje_Part_Description_Box *) pd->rp->chosen_description;
@@ -308,16 +310,16 @@ _efl_canvas_layout_internal_table_efl_container_content_remove(Eo *obj, Edje_Tab
308 return efl_pack_unpack(obj, content); 310 return efl_pack_unpack(obj, content);
309} 311}
310 312
311EOLIAN static void 313EOLIAN static Eina_Bool
312_efl_canvas_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Table_Data *pd) 314_efl_canvas_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Edje_Table_Data *pd)
313{ 315{
314 _edje_part_table_clear(pd->ed, pd->part, EINA_TRUE); 316 return _edje_part_table_clear(pd->ed, pd->part, EINA_TRUE);
315} 317}
316 318
317EOLIAN static void 319EOLIAN static Eina_Bool
318_efl_canvas_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Table_Data *pd) 320_efl_canvas_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Edje_Table_Data *pd)
319{ 321{
320 _edje_part_table_clear(pd->ed, pd->part, EINA_FALSE); 322 return _edje_part_table_clear(pd->ed, pd->part, EINA_FALSE);
321} 323}
322 324
323EOLIAN static Eina_Bool 325EOLIAN static Eina_Bool
@@ -326,14 +328,14 @@ _efl_canvas_layout_internal_table_efl_pack_unpack(Eo *obj EINA_UNUSED EINA_UNUSE
326 return _edje_part_table_unpack(pd->ed, pd->part, subobj); 328 return _edje_part_table_unpack(pd->ed, pd->part, subobj);
327} 329}
328 330
329EOLIAN static void 331EOLIAN static Eina_Bool
330_efl_canvas_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan) 332_efl_canvas_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan)
331{ 333{
332 _edje_part_table_pack(pd->ed, pd->part, subobj, col, row, colspan, rowspan); 334 return _edje_part_table_pack(pd->ed, pd->part, subobj, col, row, colspan, rowspan);
333} 335}
334 336
335EOLIAN static Efl_Gfx_Base * 337EOLIAN static Efl_Gfx_Base *
336_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_at(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row) 338_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row)
337{ 339{
338 return _edje_part_table_child_get(pd->ed, pd->part, col, row); 340 return _edje_part_table_child_get(pd->ed, pd->part, col, row);
339} 341}
@@ -391,7 +393,7 @@ _table_item_iterator_free(Part_Item_Iterator *it)
391} 393}
392 394
393EOLIAN static Eina_Iterator * 395EOLIAN static Eina_Iterator *
394_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row, Eina_Bool below) 396_efl_canvas_layout_internal_table_efl_pack_grid_grid_contents_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, int col, int row, Eina_Bool below)
395{ 397{
396 Evas_Object *sobj; 398 Evas_Object *sobj;
397 Eina_Iterator *it; 399 Eina_Iterator *it;
@@ -433,7 +435,7 @@ _efl_canvas_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EIN
433} 435}
434 436
435EOLIAN static Eina_Bool 437EOLIAN static Eina_Bool
436_efl_canvas_layout_internal_table_efl_pack_grid_grid_content_position_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan) 438_efl_canvas_layout_internal_table_efl_pack_grid_grid_position_get(Eo *obj EINA_UNUSED, Edje_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
437{ 439{
438 unsigned short c, r, cs, rs; 440 unsigned short c, r, cs, rs;
439 Eina_Bool ret; 441 Eina_Bool ret;
@@ -469,8 +471,7 @@ EAPI Eina_Bool
469edje_object_part_box_append(Edje_Object *obj, const char *part, Evas_Object *child) 471edje_object_part_box_append(Edje_Object *obj, const char *part, Evas_Object *child)
470{ 472{
471 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE); 473 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
472 efl_pack_end(box, child); 474 return efl_pack_end(box, child);
473 return EINA_TRUE;
474} 475}
475 476
476EAPI Eina_Bool 477EAPI Eina_Bool
@@ -499,15 +500,14 @@ EAPI Eina_Bool
499edje_object_part_box_insert_at(Edje_Object *obj, const char *part, Evas_Object *child, unsigned int pos) 500edje_object_part_box_insert_at(Edje_Object *obj, const char *part, Evas_Object *child, unsigned int pos)
500{ 501{
501 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE); 502 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
502 efl_pack_insert(box, child, pos); 503 return efl_pack_at(box, child, pos);
503 return EINA_TRUE;
504} 504}
505 505
506EAPI Evas_Object * 506EAPI Evas_Object *
507edje_object_part_box_remove_at(Edje_Object *obj, const char *part, unsigned int pos) 507edje_object_part_box_remove_at(Edje_Object *obj, const char *part, unsigned int pos)
508{ 508{
509 Eo *box = PART_BOX_GET(obj, part, NULL); 509 Eo *box = PART_BOX_GET(obj, part, NULL);
510 return efl_pack_content_at_remove(box, pos); 510 return efl_pack_unpack_at(box, pos);
511} 511}
512 512
513EAPI Evas_Object * 513EAPI Evas_Object *
@@ -524,10 +524,9 @@ edje_object_part_box_remove_all(Edje_Object *obj, const char *part, Eina_Bool cl
524{ 524{
525 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE); 525 Eo *box = PART_BOX_GET(obj, part, EINA_FALSE);
526 if (clear) 526 if (clear)
527 efl_pack_clear(box); 527 return efl_pack_clear(box);
528 else 528 else
529 efl_pack_unpack_all(box); 529 return efl_pack_unpack_all(box);
530 return EINA_TRUE;
531} 530}
532 531
533#ifdef DEBUG 532#ifdef DEBUG
@@ -550,8 +549,7 @@ EAPI Eina_Bool
550edje_object_part_table_pack(Edje_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) 549edje_object_part_table_pack(Edje_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
551{ 550{
552 Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE); 551 Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE);
553 efl_pack_grid(table, child_obj, col, row, colspan, rowspan); 552 return efl_pack_grid(table, child_obj, col, row, colspan, rowspan);
554 return EINA_TRUE;
555} 553}
556 554
557EAPI Eina_Bool 555EAPI Eina_Bool
@@ -566,7 +564,7 @@ EAPI Evas_Object *
566edje_object_part_table_child_get(const Edje_Object *obj, const char *part, unsigned int col, unsigned int row) 564edje_object_part_table_child_get(const Edje_Object *obj, const char *part, unsigned int col, unsigned int row)
567{ 565{
568 Eo *table = PART_TABLE_GET(obj, part, NULL); 566 Eo *table = PART_TABLE_GET(obj, part, NULL);
569 return efl_pack_grid_content_at(table, col, row); 567 return efl_pack_grid_content_get(table, col, row);
570} 568}
571 569
572EAPI Eina_Bool 570EAPI Eina_Bool
@@ -581,10 +579,9 @@ edje_object_part_table_clear(Edje_Object *obj, const char *part, Eina_Bool clear
581{ 579{
582 Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE); 580 Eo *table = PART_TABLE_GET(obj, part, EINA_FALSE);
583 if (clear) 581 if (clear)
584 efl_pack_clear(table); 582 return efl_pack_clear(table);
585 else 583 else
586 efl_pack_unpack_all(table); 584 return efl_pack_unpack_all(table);
587 return EINA_TRUE;
588} 585}
589 586
590#include "efl_canvas_layout_internal_box.eo.c" 587#include "efl_canvas_layout_internal_box.eo.c"
diff --git a/src/lib/edje/efl_canvas_layout_internal_box.eo b/src/lib/edje/efl_canvas_layout_internal_box.eo
index eba515c91f..0a5e788b65 100644
--- a/src/lib/edje/efl_canvas_layout_internal_box.eo
+++ b/src/lib/edje/efl_canvas_layout_internal_box.eo
@@ -30,10 +30,10 @@ class Efl.Canvas.Layout_Internal.Box (Eo.Base, Efl.Pack_Linear)
30 Efl.Pack_Linear.pack_end; 30 Efl.Pack_Linear.pack_end;
31 Efl.Pack_Linear.pack_before; 31 Efl.Pack_Linear.pack_before;
32 Efl.Pack_Linear.pack_after; 32 Efl.Pack_Linear.pack_after;
33 Efl.Pack_Linear.pack_insert; 33 Efl.Pack_Linear.pack_at;
34 Efl.Pack_Linear.content_at.get; 34 Efl.Pack_Linear.pack_content_get;
35 Efl.Pack_Linear.content_at_remove; 35 Efl.Pack_Linear.pack_unpack_at;
36 Efl.Pack_Linear.content_index.get; 36 Efl.Pack_Linear.pack_index_get;
37 Efl.Pack_Linear.direction.get; 37 Efl.Pack_Linear.pack_direction.get;
38 } 38 }
39} 39}
diff --git a/src/lib/edje/efl_canvas_layout_internal_table.eo b/src/lib/edje/efl_canvas_layout_internal_table.eo
index 09a6f5cf3a..e661b51666 100644
--- a/src/lib/edje/efl_canvas_layout_internal_table.eo
+++ b/src/lib/edje/efl_canvas_layout_internal_table.eo
@@ -26,9 +26,9 @@ class Efl.Canvas.Layout_Internal.Table (Eo.Base, Efl.Pack_Grid)
26 Efl.Pack.unpack_all; 26 Efl.Pack.unpack_all;
27 Efl.Pack.unpack; 27 Efl.Pack.unpack;
28 Efl.Pack_Grid.pack_grid; 28 Efl.Pack_Grid.pack_grid;
29 Efl.Pack_Grid.grid_content_at; 29 Efl.Pack_Grid.grid_content_get;
30 Efl.Pack_Grid.grid_content_iterate; 30 Efl.Pack_Grid.grid_contents_get;
31 Efl.Pack_Grid.grid_content_position.get; 31 Efl.Pack_Grid.grid_position.get;
32 Efl.Pack_Grid.grid_size.get; 32 Efl.Pack_Grid.grid_size.get;
33 Efl.Pack_Grid.grid_columns.get; 33 Efl.Pack_Grid.grid_columns.get;
34 Efl.Pack_Grid.grid_rows.get; 34 Efl.Pack_Grid.grid_rows.get;
diff --git a/src/lib/efl/interfaces/efl_pack.eo b/src/lib/efl/interfaces/efl_pack.eo
index 127fc4a38a..76ffc48386 100644
--- a/src/lib/efl/interfaces/efl_pack.eo
+++ b/src/lib/efl/interfaces/efl_pack.eo
@@ -8,19 +8,21 @@ interface Efl.Pack (Efl.Container)
8 { 8 {
9 pack_clear { 9 pack_clear {
10 [[Removes all packed contents, and unreferences them.]] 10 [[Removes all packed contents, and unreferences them.]]
11 return: bool;
11 } 12 }
12 unpack_all { 13 unpack_all {
13 [[Removes all packed contents, without unreferencing them. 14 [[Removes all packed contents, without unreferencing them.
14 15
15 Use with caution. 16 Use with caution.
16 ]] 17 ]]
18 return: bool;
17 } 19 }
18 unpack { 20 unpack {
19 [[Removes an existing item from the container, without deleting it.]] 21 [[Removes an existing item from the container, without deleting it.]]
20 return: bool; [[$false if $subobj wasn't a child or can't be removed]]
21 params { 22 params {
22 subobj: own(Efl.Gfx.Base *); 23 subobj: own(Efl.Gfx.Base *);
23 } 24 }
25 return: bool; [[$false if $subobj wasn't a child or can't be removed]]
24 } 26 }
25 pack { 27 pack {
26 [[Adds an item to this container. 28 [[Adds an item to this container.
@@ -35,6 +37,7 @@ interface Efl.Pack (Efl.Container)
35 params { 37 params {
36 subobj: own(Efl.Gfx.Base *); 38 subobj: own(Efl.Gfx.Base *);
37 } 39 }
40 return: bool; [[$false if $subobj could not be packed.]]
38 } 41 }
39 @property pack_align { 42 @property pack_align {
40 [[Alignment of the container within its bounds]] 43 [[Alignment of the container within its bounds]]
diff --git a/src/lib/efl/interfaces/efl_pack_grid.eo b/src/lib/efl/interfaces/efl_pack_grid.eo
index 32bccd9a6a..9b2b184ca0 100644
--- a/src/lib/efl/interfaces/efl_pack_grid.eo
+++ b/src/lib/efl/interfaces/efl_pack_grid.eo
@@ -14,8 +14,9 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
14 colspan: int @optional; [[0 means 1, -1 means @.grid_columns]] 14 colspan: int @optional; [[0 means 1, -1 means @.grid_columns]]
15 rowspan: int @optional; [[0 means 1, -1 means @.grid_rows]] 15 rowspan: int @optional; [[0 means 1, -1 means @.grid_rows]]
16 } 16 }
17 return: bool;
17 } 18 }
18 grid_content_iterate { 19 grid_contents_get {
19 [[Returns all objects at a given position in this grid.]] 20 [[Returns all objects at a given position in this grid.]]
20 return: free(own(iterator<Efl.Gfx.Base *> *), eina_iterator_free); 21 return: free(own(iterator<Efl.Gfx.Base *> *), eina_iterator_free);
21 params { 22 params {
@@ -24,17 +25,16 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
24 @in below: bool @optional; [[If $true get objects spanning over this cell.]] 25 @in below: bool @optional; [[If $true get objects spanning over this cell.]]
25 } 26 }
26 } 27 }
27 grid_content_at { 28 grid_content_get {
28 [[Returns the first child at position, see @.grid_content_iterate.]] 29 [[Returns a child at a given position, see @.grid_contents_get.]]
29 return: Efl.Gfx.Base*; 30 return: Efl.Gfx.Base*;
30 params { 31 params {
31 @in col: int; 32 @in col: int;
32 @in row: int; 33 @in row: int;
33 } 34 }
34 } 35 }
35 @property grid_content_position { 36 @property grid_position {
36 [[position and span of the $subobj in this container, may be modified to move the $subobj]] 37 [[position and span of the $subobj in this container, may be modified to move the $subobj]]
37 set { [[same as grid_pack]] }
38 get { return: bool; [[returns false if item is not a child]] } 38 get { return: bool; [[returns false if item is not a child]] }
39 keys { 39 keys {
40 subobj: Efl.Gfx.Base*; 40 subobj: Efl.Gfx.Base*;
@@ -69,10 +69,10 @@ interface Efl.Pack_Grid (Efl.Pack_Linear)
69 rows: int; 69 rows: int;
70 } 70 }
71 } 71 }
72 @property directions { 72 @property grid_directions {
73 [[Primary and secondary up/left/right/down orientations for linear apis. 73 [[Primary and secondary up/left/right/down orientations for linear apis.
74 74
75 Default is right and down. Overrides @Efl.Pack_Linear.direction. 75 Default is right and down. Overrides @Efl.Pack_Linear.pack_direction.
76 ]] 76 ]]
77 set {} 77 set {}
78 get {} 78 get {}
diff --git a/src/lib/efl/interfaces/efl_pack_linear.eo b/src/lib/efl/interfaces/efl_pack_linear.eo
index 4a9f696a0f..3ff3f017b6 100644
--- a/src/lib/efl/interfaces/efl_pack_linear.eo
+++ b/src/lib/efl/interfaces/efl_pack_linear.eo
@@ -10,59 +10,72 @@ interface Efl.Pack_Linear (Efl.Pack)
10 pack_begin { 10 pack_begin {
11 [[Prepend an object at the beginning of this container. 11 [[Prepend an object at the beginning of this container.
12 12
13 This is the same as @.pack_insert($subobj, 0). 13 This is the same as @.pack_at($subobj, 0).
14 ]] 14 ]]
15 params { 15 params {
16 @in subobj: own(Efl.Gfx.Base *); 16 @in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
17 } 17 }
18 return: bool; [[$false if $subobj could not be packed]]
18 } 19 }
19 pack_end { 20 pack_end {
20 [[Append object at the end of this container. 21 [[Append object at the end of this container.
21 22
22 This is the same as @.pack_insert($subobj, -1). 23 This is the same as @.pack_at($subobj, -1).
23 ]] 24 ]]
24 params { 25 params {
25 @in subobj: own(Efl.Gfx.Base *); 26 @in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
26 } 27 }
28 return: bool; [[$false if $subobj could not be packed]]
27 } 29 }
28 pack_before { 30 pack_before {
29 [[Prepend item before other sub object.]] 31 [[Prepend item before other sub object.]]
30 return: bool @warn_unused; [[returns $false if $existing could not be found]]
31 params { 32 params {
32 @in subobj: own(Efl.Gfx.Base *); 33 @in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
33 @in existing: const(Efl.Gfx.Base)*; 34 @in existing: const(Efl.Gfx.Base)*; [[Item to refer to.]]
34 } 35 }
36 return: bool; [[$false if $existing could not be found or $subobj
37 could not be packed]]
35 } 38 }
36 pack_after { 39 pack_after {
37 [[Append item after other sub object.]] 40 [[Append item after other sub object.]]
38 return: bool @warn_unused; [[returns $false if $existing could not be found]]
39 params { 41 params {
40 @in subobj: own(Efl.Gfx.Base *); 42 @in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
41 @in existing: const(Efl.Gfx.Base)*; 43 @in existing: const(Efl.Gfx.Base)*; [[Item to refer to.]]
42 } 44 }
45 return: bool; [[$false if $existing could not be found or $subobj
46 could not be packed]]
43 } 47 }
44 pack_insert { 48 pack_at {
45 [[Inserts $subobj at the specified $index. If $index is not valid, appends.]] 49 [[Inserts $subobj at the specified $index.
50
51 Valid range: -$count to +$count. -1 refers to the last element.
52 Out of range indices will trigger an append.
53 ]]
46 params { 54 params {
47 @in subobj: own(Efl.Gfx.Base *); 55 @in subobj: own(Efl.Gfx.Base *); [[Item to pack.]]
48 @in index: int; 56 @in index: int; [[A position.]]
49 } 57 }
58 return: bool; [[$false if $subobj could not be packed]]
50 } 59 }
51 @property content_at { 60 pack_content_get {
52 [[Content at a given index in this container. 61 [[Content at a given index in this container.
53 62
54 Index -1 refers to the last item. 63 Index -1 refers to the last item. The valid range is -(count - 1) to
64 (count - 1).
55 ]] 65 ]]
56 /* set {} - can be defined */ 66 params {
57 get {}
58 keys {
59 index: int; 67 index: int;
60 } 68 }
61 values { 69 return: Efl.Gfx.Base *; [[The object contained at the given $index.]]
62 subobj: Efl.Gfx.Base *; 70 }
71 pack_index_get {
72 [[Get the index of a child in this container.]]
73 params {
74 subobj: const(Efl.Gfx.Base)*; [[An object contained in this pack.]]
63 } 75 }
76 return: int(-1); [[-1 in case of failure, or the index of this item.]]
64 } 77 }
65 content_at_remove { 78 pack_unpack_at {
66 [[Pop out item at specified $index. 79 [[Pop out item at specified $index.
67 80
68 Equivalent to unpack(content_at($index)). 81 Equivalent to unpack(content_at($index)).
@@ -72,22 +85,7 @@ interface Efl.Pack_Linear (Efl.Pack)
72 } 85 }
73 return: Efl.Gfx.Base*; [[The child item if it could be removed.]] 86 return: Efl.Gfx.Base*; [[The child item if it could be removed.]]
74 } 87 }
75 @property content_index { 88 @property pack_direction {
76 [[Index of the child in this container, may be modified to move the $subobj.]]
77 set {
78
79 return: bool; [[Returns $false if $subobj is not a child.
80 Negative values can be used to refer to the end.]]
81 }
82 get {}
83 keys {
84 subobj: Efl.Gfx.Base *;
85 }
86 values {
87 index: int;
88 }
89 }
90 @property direction {
91 [[Primary up/left/right/down orientation. Default is right.]] 89 [[Primary up/left/right/down orientation. Default is right.]]
92 set {} 90 set {}
93 get {} 91 get {}
diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index 3bc0fe7893..157b462d57 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -283,32 +283,40 @@ _efl_ui_box_efl_container_content_count(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED
283 return bd ? eina_list_count(bd->children) : 0; 283 return bd ? eina_list_count(bd->children) : 0;
284} 284}
285 285
286EOLIAN static void 286EOLIAN static Eina_Bool
287_efl_ui_box_efl_pack_pack_clear(Eo *obj, Efl_Ui_Box_Data *pd) 287_efl_ui_box_efl_pack_pack_clear(Eo *obj, Efl_Ui_Box_Data *pd)
288{ 288{
289 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 289 Eina_Bool ret;
290 290
291 evas_object_box_remove_all(wd->resize_obj, EINA_TRUE); 291 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
292
293 ret = evas_object_box_remove_all(wd->resize_obj, EINA_TRUE);
292 _sizing_eval(obj, pd); 294 _sizing_eval(obj, pd);
295
296 return ret;
293} 297}
294 298
295EOLIAN static void 299EOLIAN static Eina_Bool
296_efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd) 300_efl_ui_box_efl_pack_unpack_all(Eo *obj, Efl_Ui_Box_Data *pd)
297{ 301{
298 Evas_Object_Box_Data *bd; 302 Evas_Object_Box_Data *bd;
299 Evas_Object_Box_Option *opt; 303 Evas_Object_Box_Option *opt;
300 Eina_List *l; 304 Eina_List *l;
301 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 305 Eina_Bool ret;
306
307 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
302 308
303 /* set this to block _sizing_eval() calls */ 309 /* set this to block _sizing_eval() calls */
304 pd->delete_me = EINA_TRUE; 310 pd->delete_me = EINA_TRUE;
305 bd = evas_object_smart_data_get(wd->resize_obj); 311 bd = evas_object_smart_data_get(wd->resize_obj);
306 EINA_LIST_FOREACH (bd->children, l, opt) 312 EINA_LIST_FOREACH(bd->children, l, opt)
307 elm_widget_sub_object_del(obj, opt->obj); 313 elm_widget_sub_object_del(obj, opt->obj);
308 pd->delete_me = EINA_FALSE; 314 pd->delete_me = EINA_FALSE;
309 315
310 evas_object_box_remove_all(wd->resize_obj, EINA_FALSE); 316 ret = evas_object_box_remove_all(wd->resize_obj, EINA_FALSE);
311 _sizing_eval(obj, pd); 317 _sizing_eval(obj, pd);
318
319 return ret;
312} 320}
313 321
314EOLIAN static Eina_Bool 322EOLIAN static Eina_Bool
@@ -326,28 +334,36 @@ _efl_ui_box_efl_pack_unpack(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Gfx_Base *subobj)
326 return ret; 334 return ret;
327} 335}
328 336
329EOLIAN static void 337EOLIAN static Eina_Bool
330_efl_ui_box_efl_pack_pack(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj) 338_efl_ui_box_efl_pack_pack(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
331{ 339{
332 efl_pack_end(obj, subobj); 340 return efl_pack_end(obj, subobj);
333} 341}
334 342
335EOLIAN static void 343EOLIAN static Eina_Bool
336_efl_ui_box_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj) 344_efl_ui_box_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
337{ 345{
338 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 346 Eina_Bool ret;
339 347
340 elm_widget_sub_object_add(obj, subobj); 348 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
341 evas_object_box_append(wd->resize_obj, subobj); 349
350 ret = elm_widget_sub_object_add(obj, subobj);
351 ret &= (evas_object_box_append(wd->resize_obj, subobj) != NULL);
352
353 return ret;
342} 354}
343 355
344EOLIAN static void 356EOLIAN static Eina_Bool
345_efl_ui_box_efl_pack_linear_pack_begin(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Base *subobj) 357_efl_ui_box_efl_pack_linear_pack_begin(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED, Efl_Gfx_Base *subobj)
346{ 358{
347 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 359 Eina_Bool ret;
348 360
349 elm_widget_sub_object_add(obj, subobj); 361 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
350 evas_object_box_prepend(wd->resize_obj, subobj); 362
363 ret = elm_widget_sub_object_add(obj, subobj);
364 ret &= (evas_object_box_prepend(wd->resize_obj, subobj) != NULL);
365
366 return ret;
351} 367}
352 368
353EOLIAN static Eina_Bool 369EOLIAN static Eina_Bool
@@ -384,20 +400,21 @@ _efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED
384 return EINA_TRUE; 400 return EINA_TRUE;
385} 401}
386 402
387EOLIAN static void 403EOLIAN static Eina_Bool
388_efl_ui_box_efl_pack_linear_pack_insert(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, 404_efl_ui_box_efl_pack_linear_pack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
389 Efl_Gfx_Base *subobj, int index) 405 Efl_Gfx_Base *subobj, int index)
390{ 406{
391 if (!index) 407 if (!index)
392 efl_pack_begin(obj, subobj); 408 return efl_pack_begin(obj, subobj);
393 else if (index == -1) 409 else if (index == -1)
394 efl_pack_end(obj, subobj); 410 return efl_pack_end(obj, subobj);
395 else 411 else
396 { 412 {
397 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
398 Evas_Object_Box_Data *bd; 413 Evas_Object_Box_Data *bd;
399 int cnt; 414 int cnt;
400 415
416 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
417
401 bd = evas_object_smart_data_get(wd->resize_obj); 418 bd = evas_object_smart_data_get(wd->resize_obj);
402 cnt = eina_list_count(bd ? bd->children : NULL); 419 cnt = eina_list_count(bd ? bd->children : NULL);
403 if (!cnt) 420 if (!cnt)
@@ -407,7 +424,7 @@ _efl_ui_box_efl_pack_linear_pack_insert(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED
407 index %= cnt; 424 index %= cnt;
408 if (index < 0) index += cnt; 425 if (index < 0) index += cnt;
409 } 426 }
410 evas_object_box_insert_at(wd->resize_obj, subobj, index); 427 return (evas_object_box_insert_at(wd->resize_obj, subobj, index) != NULL);
411 } 428 }
412} 429}
413 430
@@ -418,7 +435,7 @@ _box_item(Evas_Object_Box_Option *opt)
418} 435}
419 436
420EOLIAN static Efl_Gfx_Base * 437EOLIAN static Efl_Gfx_Base *
421_efl_ui_box_efl_pack_linear_content_at_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, 438_efl_ui_box_efl_pack_linear_pack_content_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
422 int index) 439 int index)
423{ 440{
424 Evas_Object_Box_Data *bd; 441 Evas_Object_Box_Data *bd;
@@ -449,12 +466,12 @@ _efl_ui_box_efl_pack_linear_content_at_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNU
449} 466}
450 467
451EOLIAN static Efl_Gfx_Base * 468EOLIAN static Efl_Gfx_Base *
452_efl_ui_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, 469_efl_ui_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
453 int index) 470 int index)
454{ 471{
455 Efl_Gfx_Base *content; 472 Efl_Gfx_Base *content;
456 473
457 content = efl_pack_content_at_get(obj, index); 474 content = efl_pack_content_get(obj, index);
458 if (!content) return NULL; 475 if (!content) return NULL;
459 476
460 if (!efl_pack_unpack(obj, content)) 477 if (!efl_pack_unpack(obj, content))
@@ -464,8 +481,8 @@ _efl_ui_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Box_Data *pd EINA_
464} 481}
465 482
466EOLIAN static int 483EOLIAN static int
467_efl_ui_box_efl_pack_linear_content_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, 484_efl_ui_box_efl_pack_linear_pack_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
468 Efl_Gfx_Base *subobj) 485 const Efl_Gfx_Base *subobj)
469{ 486{
470 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, -1); 487 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, -1);
471 Evas_Object_Box_Data *bd; 488 Evas_Object_Box_Data *bd;
@@ -490,35 +507,6 @@ end:
490 return -1; 507 return -1;
491} 508}
492 509
493EOLIAN static Eina_Bool
494_efl_ui_box_efl_pack_linear_content_index_set(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED,
495 Efl_Gfx_Base *subobj, int index)
496{
497 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
498 Evas_Object_Box_Data *bd;
499 int cnt;
500
501 if (evas_object_smart_parent_get(subobj) != wd->resize_obj)
502 {
503 ERR("object %p (%s) is not a child of %p (%s)",
504 subobj, eo_class_name_get(subobj), obj, eo_class_name_get(obj));
505 return EINA_FALSE;
506 }
507
508 bd = evas_object_smart_data_get(wd->resize_obj);
509 cnt = eina_list_count(bd->children);
510 if (!cnt)
511 {
512 efl_pack(obj, subobj);
513 return EINA_TRUE;
514 }
515
516 index %= cnt;
517 if (index < 0) index += index;
518
519 return (evas_object_box_insert_at(wd->resize_obj, subobj, index) != NULL);
520}
521
522EOLIAN static void 510EOLIAN static void
523_efl_ui_box_efl_pack_layout_layout_request(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED) 511_efl_ui_box_efl_pack_layout_layout_request(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED)
524{ 512{
@@ -575,7 +563,7 @@ _efl_ui_box_efl_container_content_iterate(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUS
575} 563}
576 564
577EOLIAN static void 565EOLIAN static void
578_efl_ui_box_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orient dir) 566_efl_ui_box_efl_pack_linear_pack_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orient dir)
579{ 567{
580 switch (dir) 568 switch (dir)
581 { 569 {
@@ -595,7 +583,7 @@ _efl_ui_box_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Box_Data *pd, Efl_Orie
595} 583}
596 584
597EOLIAN static Efl_Orient 585EOLIAN static Efl_Orient
598_efl_ui_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd) 586_efl_ui_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd)
599{ 587{
600 return pd->orient; 588 return pd->orient;
601} 589}
diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo
index cce2956ab3..ccf865c8db 100644
--- a/src/lib/elementary/efl_ui_box.eo
+++ b/src/lib/elementary/efl_ui_box.eo
@@ -30,13 +30,12 @@ class Efl.Ui.Box (Elm.Widget, Efl.Pack_Linear, Efl.Pack_Layout)
30 Efl.Pack_Linear.pack_end; 30 Efl.Pack_Linear.pack_end;
31 Efl.Pack_Linear.pack_before; 31 Efl.Pack_Linear.pack_before;
32 Efl.Pack_Linear.pack_after; 32 Efl.Pack_Linear.pack_after;
33 Efl.Pack_Linear.pack_insert; 33 Efl.Pack_Linear.pack_at;
34 Efl.Pack_Linear.content_at.get; 34 Efl.Pack_Linear.pack_content_get;
35 Efl.Pack_Linear.content_at_remove; 35 Efl.Pack_Linear.pack_unpack_at;
36 Efl.Pack_Linear.content_index.get; 36 Efl.Pack_Linear.pack_index_get;
37 Efl.Pack_Linear.content_index.set; 37 Efl.Pack_Linear.pack_direction.set;
38 Efl.Pack_Linear.direction.set; 38 Efl.Pack_Linear.pack_direction.get;
39 Efl.Pack_Linear.direction.get;
40 39
41 // Custom layouts 40 // Custom layouts
42 Efl.Pack_Layout.layout_update; 41 Efl.Pack_Layout.layout_update;
diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index 62cb3f0824..bc13d964c7 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -407,13 +407,14 @@ _subobj_del_cb(void *data, const Eo_Event *event)
407 return EO_CALLBACK_CONTINUE; 407 return EO_CALLBACK_CONTINUE;
408} 408}
409 409
410static void 410static Eina_Bool
411_pack_at(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj, 411_pack_at(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj,
412 int col, int row, int colspan, int rowspan, Eina_Bool linear) 412 int col, int row, int colspan, int rowspan, Eina_Bool linear)
413{ 413{
414 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
415 Grid_Item *gi = NULL; 414 Grid_Item *gi = NULL;
416 415
416 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
417
417 if (col < 0) col = 0; 418 if (col < 0) col = 0;
418 if (row < 0) row = 0; 419 if (row < 0) row = 0;
419 420
@@ -468,35 +469,21 @@ _pack_at(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj,
468 eo_event_callback_array_add(subobj, subobj_callbacks(), obj); 469 eo_event_callback_array_add(subobj, subobj_callbacks(), obj);
469 } 470 }
470 471
471 evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan); 472 return evas_object_table_pack(wd->resize_obj, subobj, col, row, colspan, rowspan);
472} 473}
473 474
474EOLIAN static void 475EOLIAN static Eina_Bool
475_efl_ui_grid_efl_pack_grid_pack_grid(Eo *obj, Efl_Ui_Grid_Data *pd, 476_efl_ui_grid_efl_pack_grid_pack_grid(Eo *obj, Efl_Ui_Grid_Data *pd,
476 Efl_Gfx_Base *subobj, 477 Efl_Gfx_Base *subobj,
477 int col, int row, int colspan, int rowspan) 478 int col, int row, int colspan, int rowspan)
478{ 479{
479 EINA_SAFETY_ON_NULL_RETURN(subobj); 480 EINA_SAFETY_ON_NULL_RETURN_VAL(subobj, EINA_FALSE);
480
481 _pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE);
482}
483
484EOLIAN static void
485_efl_ui_grid_efl_pack_grid_grid_content_position_set(Eo *obj, Efl_Ui_Grid_Data *pd, Evas_Object *subobj, int col, int row, int colspan, int rowspan)
486{
487 EINA_SAFETY_ON_NULL_RETURN(subobj);
488
489 if (obj != elm_widget_parent_widget_get(subobj))
490 {
491 ERR("object %p is not a child of %p", subobj, obj);
492 return;
493 }
494 481
495 _pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE); 482 return _pack_at(obj, pd, subobj, col, row, colspan, rowspan, EINA_FALSE);
496} 483}
497 484
498EOLIAN static Eina_Bool 485EOLIAN static Eina_Bool
499_efl_ui_grid_efl_pack_grid_grid_content_position_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan) 486_efl_ui_grid_efl_pack_grid_grid_position_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Evas_Object *subobj, int *col, int *row, int *colspan, int *rowspan)
500{ 487{
501 int c = -1, r = -1, cs = 0, rs = 0; 488 int c = -1, r = -1, cs = 0, rs = 0;
502 Grid_Item *gi; 489 Grid_Item *gi;
@@ -528,7 +515,7 @@ end:
528} 515}
529 516
530EOLIAN static Efl_Gfx_Base * 517EOLIAN static Efl_Gfx_Base *
531_efl_ui_grid_efl_pack_grid_grid_content_at(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, int col, int row) 518_efl_ui_grid_efl_pack_grid_grid_content_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, int col, int row)
532{ 519{
533 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); 520 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
534 521
@@ -608,20 +595,22 @@ _efl_ui_grid_efl_pack_unpack(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj
608 return EINA_FALSE; 595 return EINA_FALSE;
609} 596}
610 597
611EOLIAN static void 598EOLIAN static Eina_Bool
612_efl_ui_grid_efl_pack_pack_clear(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED) 599_efl_ui_grid_efl_pack_pack_clear(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
613{ 600{
614 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 601 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
615 602
616 evas_object_table_clear(wd->resize_obj, EINA_TRUE); 603 evas_object_table_clear(wd->resize_obj, EINA_TRUE);
604 return EINA_TRUE;
617} 605}
618 606
619EOLIAN static void 607EOLIAN static Eina_Bool
620_efl_ui_grid_efl_pack_unpack_all(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED) 608_efl_ui_grid_efl_pack_unpack_all(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
621{ 609{
622 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); 610 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
623 611
624 evas_object_table_clear(wd->resize_obj, EINA_FALSE); 612 evas_object_table_clear(wd->resize_obj, EINA_FALSE);
613 return EINA_TRUE;
625} 614}
626 615
627EOLIAN static void 616EOLIAN static void
@@ -696,7 +685,7 @@ _efl_ui_grid_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *
696} 685}
697 686
698EOLIAN static Eina_Iterator * 687EOLIAN static Eina_Iterator *
699_efl_ui_grid_efl_pack_grid_grid_content_iterate(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, 688_efl_ui_grid_efl_pack_grid_grid_contents_get(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED,
700 int col, int row, Eina_Bool below) 689 int col, int row, Eina_Bool below)
701{ 690{
702 Eina_List *list, *atlist = NULL; 691 Eina_List *list, *atlist = NULL;
@@ -724,7 +713,7 @@ _efl_ui_grid_efl_pack_grid_grid_content_iterate(Eo *obj, Efl_Ui_Grid_Data *pd EI
724} 713}
725 714
726EOLIAN static void 715EOLIAN static void
727_efl_ui_grid_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient orient) 716_efl_ui_grid_efl_pack_linear_pack_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient orient)
728{ 717{
729 EINA_SAFETY_ON_FALSE_RETURN((orient % 90) == 0); 718 EINA_SAFETY_ON_FALSE_RETURN((orient % 90) == 0);
730 719
@@ -744,13 +733,13 @@ _efl_ui_grid_efl_pack_linear_direction_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Or
744} 733}
745 734
746EOLIAN static Efl_Orient 735EOLIAN static Efl_Orient
747_efl_ui_grid_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd) 736_efl_ui_grid_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd)
748{ 737{
749 return pd->dir1; 738 return pd->dir1;
750} 739}
751 740
752EOLIAN static void 741EOLIAN static void
753_efl_ui_grid_efl_pack_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient primary, Efl_Orient secondary) 742_efl_ui_grid_efl_pack_grid_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Orient primary, Efl_Orient secondary)
754{ 743{
755 EINA_SAFETY_ON_FALSE_RETURN((primary % 90) == 0); 744 EINA_SAFETY_ON_FALSE_RETURN((primary % 90) == 0);
756 EINA_SAFETY_ON_FALSE_RETURN((secondary % 90) == 0); 745 EINA_SAFETY_ON_FALSE_RETURN((secondary % 90) == 0);
@@ -778,7 +767,7 @@ _efl_ui_grid_efl_pack_grid_directions_set(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Ori
778} 767}
779 768
780EOLIAN static void 769EOLIAN static void
781_efl_ui_grid_efl_pack_grid_directions_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd, Efl_Orient *primary, Efl_Orient *secondary) 770_efl_ui_grid_efl_pack_grid_grid_directions_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *pd, Efl_Orient *primary, Efl_Orient *secondary)
782{ 771{
783 if (primary) *primary = pd->dir1; 772 if (primary) *primary = pd->dir1;
784 if (secondary) *secondary = pd->dir2; 773 if (secondary) *secondary = pd->dir2;
@@ -845,17 +834,17 @@ _efl_ui_grid_efl_pack_grid_grid_rows_get(Eo *obj EINA_UNUSED, Efl_Ui_Grid_Data *
845 return pd->req_rows; 834 return pd->req_rows;
846} 835}
847 836
848EOLIAN static void 837EOLIAN static Eina_Bool
849_efl_ui_grid_efl_pack_pack(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj) 838_efl_ui_grid_efl_pack_pack(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj)
850{ 839{
851 /* this is just an alias */ 840 /* this is just an alias */
852 efl_pack_end(obj, subobj); 841 return efl_pack_end(obj, subobj);
853} 842}
854 843
855EOLIAN static void 844EOLIAN static Eina_Bool
856_efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj) 845_efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Base *subobj)
857{ 846{
858 EINA_SAFETY_ON_NULL_RETURN(subobj); 847 EINA_SAFETY_ON_NULL_RETURN_VAL(subobj, EINA_FALSE);
859 848
860 int col = pd->last_col; 849 int col = pd->last_col;
861 int row = pd->last_row; 850 int row = pd->last_row;
@@ -885,7 +874,7 @@ _efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Gfx_Bas
885 pd->last_row = row; 874 pd->last_row = row;
886 875
887 DBG("packing new obj at %d,%d", col, row); 876 DBG("packing new obj at %d,%d", col, row);
888 _pack_at(obj, pd, subobj, col, row, 1, 1, EINA_TRUE); 877 return _pack_at(obj, pd, subobj, col, row, 1, 1, EINA_TRUE);
889} 878}
890 879
891#include "efl_ui_grid.eo.c" 880#include "efl_ui_grid.eo.c"
diff --git a/src/lib/elementary/efl_ui_grid.eo b/src/lib/elementary/efl_ui_grid.eo
index a6ee16a074..775273b855 100644
--- a/src/lib/elementary/efl_ui_grid.eo
+++ b/src/lib/elementary/efl_ui_grid.eo
@@ -26,21 +26,20 @@ class Efl.Ui.Grid (Elm.Widget, Efl.Pack_Grid, Efl.Pack_Layout)
26 Efl.Pack.pack_padding.get; 26 Efl.Pack.pack_padding.get;
27 Efl.Pack.pack_padding.set; 27 Efl.Pack.pack_padding.set;
28 Efl.Pack_Grid.pack_grid; 28 Efl.Pack_Grid.pack_grid;
29 Efl.Pack_Grid.grid_content_at; 29 Efl.Pack_Grid.grid_content_get;
30 Efl.Pack_Grid.grid_content_iterate; 30 Efl.Pack_Grid.grid_contents_get;
31 Efl.Pack_Grid.grid_content_position.set; 31 Efl.Pack_Grid.grid_position.get;
32 Efl.Pack_Grid.grid_content_position.get;
33 Efl.Pack_Grid.grid_size.set; 32 Efl.Pack_Grid.grid_size.set;
34 Efl.Pack_Grid.grid_size.get; 33 Efl.Pack_Grid.grid_size.get;
35 Efl.Pack_Grid.grid_columns.set; 34 Efl.Pack_Grid.grid_columns.set;
36 Efl.Pack_Grid.grid_columns.get; 35 Efl.Pack_Grid.grid_columns.get;
37 Efl.Pack_Grid.grid_rows.set; 36 Efl.Pack_Grid.grid_rows.set;
38 Efl.Pack_Grid.grid_rows.get; 37 Efl.Pack_Grid.grid_rows.get;
39 Efl.Pack_Grid.directions.set; 38 Efl.Pack_Grid.grid_directions.set;
40 Efl.Pack_Grid.directions.get; 39 Efl.Pack_Grid.grid_directions.get;
41 Efl.Pack_Linear.pack_end; 40 Efl.Pack_Linear.pack_end;
42 Efl.Pack_Linear.direction.set; 41 Efl.Pack_Linear.pack_direction.set;
43 Efl.Pack_Linear.direction.get; 42 Efl.Pack_Linear.pack_direction.get;
44 43
45 // Custom layouts 44 // Custom layouts
46 Efl.Pack_Layout.layout_update; 45 Efl.Pack_Layout.layout_update;
diff --git a/src/lib/elementary/efl_ui_layout_internal_box.eo b/src/lib/elementary/efl_ui_layout_internal_box.eo
index 3efb952282..3ba8b8f98c 100644
--- a/src/lib/elementary/efl_ui_layout_internal_box.eo
+++ b/src/lib/elementary/efl_ui_layout_internal_box.eo
@@ -31,10 +31,10 @@ class Efl.Ui.Layout_Internal.Box (Eo.Base, Efl.Pack_Linear)
31 Efl.Pack_Linear.pack_end; 31 Efl.Pack_Linear.pack_end;
32 Efl.Pack_Linear.pack_before; 32 Efl.Pack_Linear.pack_before;
33 Efl.Pack_Linear.pack_after; 33 Efl.Pack_Linear.pack_after;
34 Efl.Pack_Linear.pack_insert; 34 Efl.Pack_Linear.pack_at;
35 Efl.Pack_Linear.content_at.get; 35 Efl.Pack_Linear.pack_content_get;
36 Efl.Pack_Linear.content_at_remove; 36 Efl.Pack_Linear.pack_unpack_at;
37 Efl.Pack_Linear.content_index.get; 37 Efl.Pack_Linear.pack_index_get;
38 Efl.Pack_Linear.direction.get; 38 Efl.Pack_Linear.pack_direction.get;
39 } 39 }
40} 40}
diff --git a/src/lib/elementary/efl_ui_layout_internal_table.eo b/src/lib/elementary/efl_ui_layout_internal_table.eo
index 19c9bbaa49..cd6b6d2af4 100644
--- a/src/lib/elementary/efl_ui_layout_internal_table.eo
+++ b/src/lib/elementary/efl_ui_layout_internal_table.eo
@@ -27,9 +27,9 @@ class Efl.Ui.Layout_Internal.Table (Eo.Base, Efl.Pack_Grid)
27 Efl.Pack.unpack_all; 27 Efl.Pack.unpack_all;
28 Efl.Pack.unpack; 28 Efl.Pack.unpack;
29 Efl.Pack_Grid.pack_grid; 29 Efl.Pack_Grid.pack_grid;
30 Efl.Pack_Grid.grid_content_at; 30 Efl.Pack_Grid.grid_content_get;
31 Efl.Pack_Grid.grid_content_iterate; 31 Efl.Pack_Grid.grid_contents_get;
32 Efl.Pack_Grid.grid_content_position.get; 32 Efl.Pack_Grid.grid_position.get;
33 Efl.Pack_Grid.grid_size.get; 33 Efl.Pack_Grid.grid_size.get;
34 Efl.Pack_Grid.grid_columns.get; 34 Efl.Pack_Grid.grid_columns.get;
35 Efl.Pack_Grid.grid_rows.get; 35 Efl.Pack_Grid.grid_rows.get;
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index e3e515fce2..522b432174 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -1942,7 +1942,7 @@ elm_layout_box_insert_at(Elm_Layout *obj, const char *part, Evas_Object *child,
1942{ 1942{
1943 Eo *box = efl_content_get(obj, part); 1943 Eo *box = efl_content_get(obj, part);
1944 if (!box) return EINA_FALSE; 1944 if (!box) return EINA_FALSE;
1945 efl_pack_insert(box, child, pos); 1945 efl_pack_at(box, child, pos);
1946 return EINA_TRUE; 1946 return EINA_TRUE;
1947} 1947}
1948 1948
diff --git a/src/lib/elementary/elm_layout_pack.c b/src/lib/elementary/elm_layout_pack.c
index 2b6a234f09..13c27276f3 100644
--- a/src/lib/elementary/elm_layout_pack.c
+++ b/src/lib/elementary/elm_layout_pack.c
@@ -167,16 +167,16 @@ _efl_ui_layout_internal_box_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_
167 return efl_pack_unpack(obj, content); 167 return efl_pack_unpack(obj, content);
168} 168}
169 169
170EOLIAN static void 170EOLIAN static Eina_Bool
171_efl_ui_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd) 171_efl_ui_layout_internal_box_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
172{ 172{
173 _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_TRUE); 173 return _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_TRUE);
174} 174}
175 175
176EOLIAN static void 176EOLIAN static Eina_Bool
177_efl_ui_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd) 177_efl_ui_layout_internal_box_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
178{ 178{
179 _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_FALSE); 179 return _elm_layout_box_remove_all(pd->obj, pd->sd, pd->part, EINA_FALSE);
180} 180}
181 181
182EOLIAN static Eina_Bool 182EOLIAN static Eina_Bool
@@ -185,22 +185,22 @@ _efl_ui_layout_internal_box_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_B
185 return _elm_layout_box_remove(pd->obj, pd->sd, pd->part, subobj) != NULL; 185 return _elm_layout_box_remove(pd->obj, pd->sd, pd->part, subobj) != NULL;
186} 186}
187 187
188EOLIAN static void 188EOLIAN static Eina_Bool
189_efl_ui_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj) 189_efl_ui_layout_internal_box_efl_pack_pack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
190{ 190{
191 _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj); 191 return _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
192} 192}
193 193
194EOLIAN static void 194EOLIAN static Eina_Bool
195_efl_ui_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj) 195_efl_ui_layout_internal_box_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
196{ 196{
197 _elm_layout_box_prepend(pd->obj, pd->sd, pd->part, subobj); 197 return _elm_layout_box_prepend(pd->obj, pd->sd, pd->part, subobj);
198} 198}
199 199
200EOLIAN static void 200EOLIAN static Eina_Bool
201_efl_ui_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj) 201_efl_ui_layout_internal_box_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj)
202{ 202{
203 _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj); 203 return _elm_layout_box_append(pd->obj, pd->sd, pd->part, subobj);
204} 204}
205 205
206EOLIAN static Eina_Bool 206EOLIAN static Eina_Bool
@@ -215,10 +215,10 @@ _efl_ui_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED, Efl_
215 const Efl_Gfx_Base *other; 215 const Efl_Gfx_Base *other;
216 int index; 216 int index;
217 217
218 index = efl_pack_content_index_get(pd->pack, (Efl_Gfx_Base *) existing); 218 index = efl_pack_index_get(pd->pack, existing);
219 if (index < 0) return EINA_FALSE; 219 if (index < 0) return EINA_FALSE;
220 220
221 other = efl_pack_content_at_get(pd->pack, index + 1); 221 other = efl_pack_content_get(pd->pack, index + 1);
222 if (other) 222 if (other)
223 return _elm_layout_box_insert_before(pd->obj, pd->sd, pd->part, subobj, other); 223 return _elm_layout_box_insert_before(pd->obj, pd->sd, pd->part, subobj, other);
224 224
@@ -226,14 +226,14 @@ _efl_ui_layout_internal_box_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED, Efl_
226 return EINA_TRUE; 226 return EINA_TRUE;
227} 227}
228 228
229EOLIAN static void 229EOLIAN static Eina_Bool
230_efl_ui_layout_internal_box_efl_pack_linear_pack_insert(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj, int index) 230_efl_ui_layout_internal_box_efl_pack_linear_pack_at(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj, int index)
231{ 231{
232 _elm_layout_box_insert_at(pd->obj, pd->sd, pd->part, subobj, index); 232 return _elm_layout_box_insert_at(pd->obj, pd->sd, pd->part, subobj, index);
233} 233}
234 234
235EOLIAN static Efl_Gfx_Base * 235EOLIAN static Efl_Gfx_Base *
236_efl_ui_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, int index) 236_efl_ui_layout_internal_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, int index)
237{ 237{
238 Evas_Object_Box_Option *opt; 238 Evas_Object_Box_Option *opt;
239 Evas_Object_Box_Data *priv; 239 Evas_Object_Box_Data *priv;
@@ -245,11 +245,11 @@ _efl_ui_layout_internal_box_efl_pack_linear_content_at_get(Eo *obj EINA_UNUSED,
245} 245}
246 246
247EOLIAN static Efl_Gfx_Base * 247EOLIAN static Efl_Gfx_Base *
248_efl_ui_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Layout_Box_Data *pd, int index) 248_efl_ui_layout_internal_box_efl_pack_linear_pack_unpack_at(Eo *obj, Efl_Ui_Layout_Box_Data *pd, int index)
249{ 249{
250 Efl_Gfx_Base *subobj; 250 Efl_Gfx_Base *subobj;
251 251
252 subobj = efl_pack_content_at_get(pd->pack, index); 252 subobj = efl_pack_content_get(pd->pack, index);
253 if (!subobj) return NULL; 253 if (!subobj) return NULL;
254 if (efl_pack_unpack(obj, subobj)) 254 if (efl_pack_unpack(obj, subobj))
255 return subobj; 255 return subobj;
@@ -259,13 +259,13 @@ _efl_ui_layout_internal_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_La
259} 259}
260 260
261EOLIAN static int 261EOLIAN static int
262_efl_ui_layout_internal_box_efl_pack_linear_content_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Base *subobj) 262_efl_ui_layout_internal_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, const Efl_Gfx_Base *subobj)
263{ 263{
264 return efl_pack_content_index_get(pd->pack, subobj); 264 return efl_pack_index_get(pd->pack, subobj);
265} 265}
266 266
267EOLIAN static Efl_Orient 267EOLIAN static Efl_Orient
268_efl_ui_layout_internal_box_efl_pack_linear_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd) 268_efl_ui_layout_internal_box_efl_pack_linear_pack_direction_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd)
269{ 269{
270 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_ORIENT_NONE); 270 ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_ORIENT_NONE);
271 271
@@ -318,16 +318,16 @@ _efl_ui_layout_internal_table_efl_container_content_remove(Eo *obj, Efl_Ui_Layou
318 return efl_pack_unpack(obj, content); 318 return efl_pack_unpack(obj, content);
319} 319}
320 320
321EOLIAN static void 321EOLIAN static Eina_Bool
322_efl_ui_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd) 322_efl_ui_layout_internal_table_efl_pack_pack_clear(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
323{ 323{
324 _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_TRUE); 324 return _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_TRUE);
325} 325}
326 326
327EOLIAN static void 327EOLIAN static Eina_Bool
328_efl_ui_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd) 328_efl_ui_layout_internal_table_efl_pack_unpack_all(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
329{ 329{
330 _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_FALSE); 330 return _elm_layout_table_clear(pd->obj, pd->sd, pd->part, EINA_FALSE);
331} 331}
332 332
333EOLIAN static Eina_Bool 333EOLIAN static Eina_Bool
@@ -337,20 +337,20 @@ _efl_ui_layout_internal_table_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout
337 return _elm_layout_table_unpack(pd->obj, pd->sd, pd->part, subobj) == subobj; 337 return _elm_layout_table_unpack(pd->obj, pd->sd, pd->part, subobj) == subobj;
338} 338}
339 339
340EOLIAN static void 340EOLIAN static Eina_Bool
341_efl_ui_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan) 341_efl_ui_layout_internal_table_efl_pack_grid_pack_grid(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base *subobj, int col, int row, int colspan, int rowspan)
342{ 342{
343 _elm_layout_table_pack(pd->obj, pd->sd, pd->part, subobj, col, row, colspan, rowspan); 343 return _elm_layout_table_pack(pd->obj, pd->sd, pd->part, subobj, col, row, colspan, rowspan);
344} 344}
345 345
346EOLIAN static Efl_Gfx_Base * 346EOLIAN static Efl_Gfx_Base *
347_efl_ui_layout_internal_table_efl_pack_grid_grid_content_at(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row) 347_efl_ui_layout_internal_table_efl_pack_grid_grid_content_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row)
348{ 348{
349 return evas_object_table_child_get(pd->pack, col, row); 349 return evas_object_table_child_get(pd->pack, col, row);
350} 350}
351 351
352EOLIAN static Eina_Iterator * 352EOLIAN static Eina_Iterator *
353_efl_ui_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row, Eina_Bool below) 353_efl_ui_layout_internal_table_efl_pack_grid_grid_contents_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row, Eina_Bool below)
354{ 354{
355 // contents at col,row - see also Efl.Ui.Grid or edje_containers.c 355 // contents at col,row - see also Efl.Ui.Grid or edje_containers.c
356 // not reusing edje's iterator because the container would be wrong 356 // not reusing edje's iterator because the container would be wrong
@@ -378,7 +378,7 @@ _efl_ui_layout_internal_table_efl_pack_grid_grid_content_iterate(Eo *obj EINA_UN
378} 378}
379 379
380EOLIAN static Eina_Bool 380EOLIAN static Eina_Bool
381_efl_ui_layout_internal_table_efl_pack_grid_grid_content_position_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan) 381_efl_ui_layout_internal_table_efl_pack_grid_grid_position_get(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Base * subobj, int *col, int *row, int *colspan, int *rowspan)
382{ 382{
383 unsigned short c, r, cs, rs; 383 unsigned short c, r, cs, rs;
384 Eina_Bool ret; 384 Eina_Bool ret;
diff --git a/src/lib/elementary/elm_win.c b/src/lib/elementary/elm_win.c
index 195b1096d7..0dd09b8d8c 100644
--- a/src/lib/elementary/elm_win.c
+++ b/src/lib/elementary/elm_win.c
@@ -4164,7 +4164,7 @@ elm_win_util_dialog_add(Evas_Object *parent, const char *name, const char *title
4164 return win; 4164 return win;
4165} 4165}
4166 4166
4167EOLIAN static void 4167EOLIAN static Eina_Bool
4168_elm_win_efl_pack_pack(Eo *obj, Elm_Win_Data *sd, Efl_Gfx_Base *subobj) 4168_elm_win_efl_pack_pack(Eo *obj, Elm_Win_Data *sd, Efl_Gfx_Base *subobj)
4169{ 4169{
4170 Eina_Bool ret; 4170 Eina_Bool ret;
@@ -4175,7 +4175,7 @@ _elm_win_efl_pack_pack(Eo *obj, Elm_Win_Data *sd, Efl_Gfx_Base *subobj)
4175 if (!ret) 4175 if (!ret)
4176 ERR("could not add sub object %p to window %p", subobj, obj); 4176 ERR("could not add sub object %p to window %p", subobj, obj);
4177 4177
4178 //return ret; 4178 return ret;
4179} 4179}
4180 4180
4181EOLIAN static Eina_Bool 4181EOLIAN static Eina_Bool
diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c
index 5fd77b86e7..c9b42eb4ee 100644
--- a/src/tests/edje/edje_test_edje.c
+++ b/src/tests/edje/edje_test_edje.c
@@ -521,7 +521,7 @@ START_TEST(edje_test_box_eoapi)
521 efl_pack_begin(box, sobjs[1]); 521 efl_pack_begin(box, sobjs[1]);
522 efl_pack_before(box, sobjs[0], sobjs[1]); 522 efl_pack_before(box, sobjs[0], sobjs[1]);
523 efl_pack_after(box, sobjs[4], sobjs[3]); 523 efl_pack_after(box, sobjs[4], sobjs[3]);
524 efl_pack_insert(box, sobjs[2], 2); 524 efl_pack_at(box, sobjs[2], 2);
525 fail_if(efl_content_count(box) != 5); 525 fail_if(efl_content_count(box) != 5);
526 526
527 it = efl_content_iterate(box); 527 it = efl_content_iterate(box);
@@ -536,8 +536,8 @@ START_TEST(edje_test_box_eoapi)
536 fail_if(efl_content_count(box) != 0); 536 fail_if(efl_content_count(box) != 0);
537 537
538 efl_pack(box, sobjs[1]); 538 efl_pack(box, sobjs[1]);
539 efl_pack_insert(box, sobjs[0], 0); 539 efl_pack_at(box, sobjs[0], 0);
540 efl_pack_insert(box, sobjs[2], -1); 540 efl_pack_at(box, sobjs[2], -1);
541 it = efl_content_iterate(box); 541 it = efl_content_iterate(box);
542 i = 0; 542 i = 0;
543 EINA_ITERATOR_FOREACH(it, sobj) 543 EINA_ITERATOR_FOREACH(it, sobj)
@@ -547,9 +547,9 @@ START_TEST(edje_test_box_eoapi)
547 547
548 fail_if(!efl_content_remove(box, sobjs[0])); 548 fail_if(!efl_content_remove(box, sobjs[0]));
549 fail_if(efl_content_count(box) != 2); 549 fail_if(efl_content_count(box) != 2);
550 fail_if(!efl_pack_content_at_remove(box, 1)); 550 fail_if(!efl_pack_unpack_at(box, 1));
551 fail_if(efl_content_count(box) != 1); 551 fail_if(efl_content_count(box) != 1);
552 fail_if(efl_pack_content_index_get(box, sobjs[1]) != 0); 552 fail_if(efl_pack_index_get(box, sobjs[1]) != 0);
553 553
554 efl_pack_clear(box); 554 efl_pack_clear(box);
555 fail_if(efl_content_count(box) != 0); 555 fail_if(efl_content_count(box) != 0);
@@ -661,7 +661,7 @@ START_TEST(edje_test_table_eoapi)
661 661
662 /* items have a text part "text" containing their position */ 662 /* items have a text part "text" containing their position */
663 sprintf(buf, "%d,%d", k, l); 663 sprintf(buf, "%d,%d", k, l);
664 sobj = efl_pack_grid_content_at(table, k, l); 664 sobj = efl_pack_grid_content_get(table, k, l);
665 fail_if(!sobj); 665 fail_if(!sobj);
666 //txt = efl_part_text_get(sobj, "text"); 666 //txt = efl_part_text_get(sobj, "text");
667 txt = edje_object_part_text_get(sobj, "text"); 667 txt = edje_object_part_text_get(sobj, "text");
@@ -685,7 +685,7 @@ START_TEST(edje_test_table_eoapi)
685 it = efl_content_iterate(table); 685 it = efl_content_iterate(table);
686 EINA_ITERATOR_FOREACH(it, sobj) 686 EINA_ITERATOR_FOREACH(it, sobj)
687 { 687 {
688 efl_pack_grid_content_position_get(table, sobj, &k, &l, &cs, &rs); 688 efl_pack_grid_position_get(table, sobj, &k, &l, &cs, &rs);
689 fail_if(cs != 1); 689 fail_if(cs != 1);
690 fail_if(rs != 1); 690 fail_if(rs != 1);
691 if (l >= 2) 691 if (l >= 2)