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;

-- 


Reply via email to