jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=32b622f08d27a278bf15ab34b9a1b66cd4d54e09
commit 32b622f08d27a278bf15ab34b9a1b66cd4d54e09 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Fri Apr 22 11:17:03 2016 +0900 Efl.Pack: Add content_at_remove This will match Edje Box remove_at --- src/lib/efl/interfaces/efl_pack_linear.eo | 10 ++++++++++ src/lib/elementary/efl_ui_box.c | 15 +++++++++++++++ src/lib/elementary/efl_ui_box.eo | 1 + 3 files changed, 26 insertions(+) diff --git a/src/lib/efl/interfaces/efl_pack_linear.eo b/src/lib/efl/interfaces/efl_pack_linear.eo index 3859470..4a9f696 100644 --- a/src/lib/efl/interfaces/efl_pack_linear.eo +++ b/src/lib/efl/interfaces/efl_pack_linear.eo @@ -62,6 +62,16 @@ interface Efl.Pack_Linear (Efl.Pack) subobj: Efl.Gfx.Base *; } } + content_at_remove { + [[Pop out item at specified $index. + + Equivalent to unpack(content_at($index)). + ]] + params { + index: int; + } + return: Efl.Gfx.Base*; [[The child item if it could be removed.]] + } @property content_index { [[Index of the child in this container, may be modified to move the $subobj.]] set { diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index 190a1e6..3bc0fe7 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -448,6 +448,21 @@ _efl_ui_box_efl_pack_linear_content_at_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNU return _box_item(eina_list_nth(bd->children, index)); } +EOLIAN static Efl_Gfx_Base * +_efl_ui_box_efl_pack_linear_content_at_remove(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, + int index) +{ + Efl_Gfx_Base *content; + + content = efl_pack_content_at_get(obj, index); + if (!content) return NULL; + + if (!efl_pack_unpack(obj, content)) + return NULL; + + return content; +} + EOLIAN static int _efl_ui_box_efl_pack_linear_content_index_get(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Base *subobj) diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo index 8736b9e..cce2956 100644 --- a/src/lib/elementary/efl_ui_box.eo +++ b/src/lib/elementary/efl_ui_box.eo @@ -32,6 +32,7 @@ class Efl.Ui.Box (Elm.Widget, Efl.Pack_Linear, Efl.Pack_Layout) Efl.Pack_Linear.pack_after; Efl.Pack_Linear.pack_insert; Efl.Pack_Linear.content_at.get; + Efl.Pack_Linear.content_at_remove; Efl.Pack_Linear.content_index.get; Efl.Pack_Linear.content_index.set; Efl.Pack_Linear.direction.set; --