forked from enlightenment/efl
efl_container: remove content_remove
Most of classes implements Efl.Container.content_remove are just calling "unpack" except of "Efl.Canvas.Layout" and "Efl.Ui.Layout". This patch remove the asymmetrical API and add content_remove API of "Efl.Canvas.Layout" and "Efl.Ui.Layout" that child can be remove without efl_part APIs. ref T7576 Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D7913
This commit is contained in:
parent
7bda677eb0
commit
4628021fe5
|
@ -99,12 +99,6 @@ _efl_canvas_layout_part_box_efl_pack_linear_pack_content_get(Eo *obj, void *_pd
|
|||
return _edje_part_box_content_at(pd->ed, pd->part, index);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_canvas_layout_part_box_efl_container_content_remove(Eo *obj, void *_pd EINA_UNUSED, Efl_Gfx_Entity *subobj)
|
||||
{
|
||||
return efl_pack_unpack(obj, subobj);
|
||||
}
|
||||
|
||||
EOLIAN static int
|
||||
_efl_canvas_layout_part_box_efl_pack_linear_pack_index_get(Eo *obj, void *_pd EINA_UNUSED, const Efl_Gfx_Entity * subobj)
|
||||
{
|
||||
|
|
|
@ -74,7 +74,6 @@ EDJE_PART_INVALID_CONST(Eina_Bool, 0, efl_text_cursor_geometry_get, _efl_canvas_
|
|||
EDJE_PART_INVALID_VOID(efl_text_markup_interactive_cursor_markup_insert, _efl_canvas_layout_part_invalid_efl_text_markup_interactive_cursor_markup_insert, Efl_Text_Cursor_Cursor *cur, const char *markup)
|
||||
EDJE_PART_INVALID(Eina_Iterator *, 0, efl_content_iterate, _efl_canvas_layout_part_invalid_efl_container_content_iterate)
|
||||
EDJE_PART_INVALID(int, 0, efl_content_count, _efl_canvas_layout_part_invalid_efl_container_content_count)
|
||||
EDJE_PART_INVALID(Eina_Bool, 0, efl_content_remove, _efl_canvas_layout_part_invalid_efl_container_content_remove, Efl_Gfx_Entity *content)
|
||||
EDJE_PART_INVALID(Eina_Bool, 0, efl_pack_clear, _efl_canvas_layout_part_invalid_efl_pack_pack_clear)
|
||||
EDJE_PART_INVALID(Eina_Bool, 0, efl_pack_unpack_all, _efl_canvas_layout_part_invalid_efl_pack_unpack_all)
|
||||
EDJE_PART_INVALID(Eina_Bool, 0, efl_pack_unpack, _efl_canvas_layout_part_invalid_efl_pack_unpack, Efl_Gfx_Entity *subobj)
|
||||
|
|
|
@ -27,7 +27,7 @@ _efl_canvas_layout_part_swallow_efl_content_content_unset(Eo *obj, void *_pd EIN
|
|||
PROXY_DATA_GET(obj, pd);
|
||||
Efl_Gfx_Entity *content = _edje_efl_content_content_get(pd->ed, pd->part);
|
||||
if (!content) return NULL;
|
||||
efl_content_remove(obj, content);
|
||||
efl_canvas_layout_content_remove(obj, content);
|
||||
return content;
|
||||
}
|
||||
|
||||
|
|
|
@ -29,12 +29,6 @@ _efl_canvas_layout_part_table_efl_container_content_count(Eo *obj, void *_pd EIN
|
|||
return evas_obj_table_count(pd->rp->object);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_canvas_layout_part_table_efl_container_content_remove(Eo *obj EINA_UNUSED, void *_pd EINA_UNUSED EINA_UNUSED, Efl_Gfx_Entity *content)
|
||||
{
|
||||
return efl_pack_unpack(obj, content);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_canvas_layout_part_table_efl_pack_pack_clear(Eo *obj, void *_pd EINA_UNUSED)
|
||||
{
|
||||
|
|
|
@ -3363,7 +3363,7 @@ _swallow_real_part_get(Evas_Object *obj_swallow)
|
|||
}
|
||||
|
||||
EOLIAN Eina_Bool
|
||||
_efl_canvas_layout_efl_container_content_remove(Eo *obj EINA_UNUSED, Edje *ed, Evas_Object *obj_swallow)
|
||||
_efl_canvas_layout_content_remove(Eo *obj EINA_UNUSED, Edje *ed, Evas_Object *obj_swallow)
|
||||
{
|
||||
Edje_Real_Part *rp;
|
||||
Edje_User_Defined *eud;
|
||||
|
@ -6461,7 +6461,7 @@ edje_object_part_swallow(Edje_Object *obj, const char *part, Evas_Object *obj_sw
|
|||
EAPI void
|
||||
edje_object_part_unswallow(Edje_Object *obj, Evas_Object *obj_swallow)
|
||||
{
|
||||
efl_content_remove(obj, obj_swallow);
|
||||
efl_canvas_layout_content_remove(obj, obj_swallow);
|
||||
}
|
||||
|
||||
EAPI Evas_Object *
|
||||
|
|
|
@ -80,6 +80,13 @@ class @beta Efl.Canvas.Layout extends Efl.Canvas.Group implements Efl.File, Efl.
|
|||
error: Efl.Gfx.Image_Load_Error(Efl.Gfx.Image_Load_Error.none); [[The load error code.]]
|
||||
}
|
||||
}
|
||||
content_remove {
|
||||
[[Unswallow an object from this Edje.]]
|
||||
params {
|
||||
@in content: Efl.Gfx.Entity; [[To be removed content.]]
|
||||
}
|
||||
return: bool; [[$false if $content was not a child or can not be removed.]]
|
||||
}
|
||||
}
|
||||
events {
|
||||
part,invalid @beta: string; [[Emitted when trying to use an invalid part.
|
||||
|
@ -122,7 +129,6 @@ class @beta Efl.Canvas.Layout extends Efl.Canvas.Group implements Efl.File, Efl.
|
|||
Efl.Ui.I18n.language { set; get; }
|
||||
Efl.Gfx.Entity.scale { set; get; }
|
||||
Efl.File.load;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Part.part_get; [[Returns @Efl.Canvas.Layout_Part]]
|
||||
|
|
|
@ -10,7 +10,6 @@ class @beta Efl.Canvas.Layout_Part_Box extends Efl.Canvas.Layout_Part implements
|
|||
implements {
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Pack.pack_clear;
|
||||
Efl.Pack.unpack_all;
|
||||
Efl.Pack.unpack;
|
||||
|
|
|
@ -48,7 +48,6 @@ class @beta Efl.Canvas.Layout_Part_Invalid extends Efl.Canvas.Layout_Part implem
|
|||
// Efl.Canvas.Layout_Part_Box
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Pack.pack_clear;
|
||||
Efl.Pack.unpack_all;
|
||||
Efl.Pack.unpack;
|
||||
|
|
|
@ -9,7 +9,6 @@ class @beta Efl.Canvas.Layout_Part_Table extends Efl.Canvas.Layout_Part implemen
|
|||
implements {
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Pack.pack_clear;
|
||||
Efl.Pack.unpack_all;
|
||||
Efl.Pack.unpack;
|
||||
|
|
|
@ -8,13 +8,6 @@ interface @beta Efl.Container
|
|||
eo_prefix: efl_content;
|
||||
event_prefix: efl_container;
|
||||
methods {
|
||||
content_remove {
|
||||
[[Unswallow an object from this container.]]
|
||||
params {
|
||||
@in content: Efl.Gfx.Entity; [[To be removed content]]
|
||||
}
|
||||
return: bool; [[$false if $content was not a child or can not be removed.]]
|
||||
}
|
||||
content_iterate {
|
||||
[[Begin iterating over this object's contents.]]
|
||||
return: iterator<Efl.Gfx.Entity> @owned @warn_unused; [[Iterator to object content]]
|
||||
|
|
|
@ -193,14 +193,6 @@ _efl_ui_box_efl_container_content_count(Eo *obj, Efl_Ui_Box_Data *pd EINA_UNUSED
|
|||
return bd ? eina_list_count(bd->children) : 0;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_box_efl_container_content_remove(Eo *obj EINA_UNUSED, Efl_Ui_Box_Data *pd EINA_UNUSED, Efl_Gfx_Entity *content)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, 0);
|
||||
|
||||
return evas_object_box_remove(wd->resize_obj, content);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_box_efl_pack_pack_clear(Eo *obj, Efl_Ui_Box_Data *pd)
|
||||
{
|
||||
|
|
|
@ -30,7 +30,6 @@ class @beta Efl.Ui.Box extends Efl.Ui.Widget implements Efl.Pack_Linear, Efl.Pac
|
|||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Ui.Direction.direction { get; set; }
|
||||
|
|
|
@ -2209,15 +2209,6 @@ _efl_ui_flip_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Flip_Data *
|
|||
return eina_list_count(pd->content_list);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_flip_efl_container_content_remove(Eo *obj, Efl_Ui_Flip_Data *pd, Efl_Gfx_Entity *content)
|
||||
{
|
||||
pd->content_list = eina_list_remove(pd->content_list, content);
|
||||
pd->content_list = eina_list_remove(pd->content_list, content);
|
||||
_content_removed(obj, pd, content);
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_flip_efl_pack_unpack(Eo *obj, Efl_Ui_Flip_Data *pd, Efl_Gfx_Entity *subobj)
|
||||
{
|
||||
|
|
|
@ -235,7 +235,6 @@ class @beta Efl.Ui.Flip extends Efl.Ui.Widget implements Efl.Pack_Linear
|
|||
Efl.Ui.Widget.widget_sub_object_del;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Part.part_get;
|
||||
Efl.Pack.unpack;
|
||||
Efl.Pack.pack;
|
||||
|
|
|
@ -1145,23 +1145,6 @@ _efl_ui_layout_content_unset(Eo *obj, Efl_Ui_Layout_Data *sd, const char *part)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_base_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_Data *sd EINA_UNUSED,
|
||||
Efl_Gfx_Entity *content)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
|
||||
|
||||
if (!_elm_widget_sub_object_redirect_to_top(obj, content))
|
||||
{
|
||||
ERR("could not remove sub object %p from %p", content, obj);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
edje_object_part_unswallow(wd->resize_obj, content);
|
||||
_eo_unparent_helper(content, obj);
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
/* legacy only - eo is iterator */
|
||||
EAPI Eina_List *
|
||||
elm_layout_content_swallow_list_get(const Evas_Object *obj)
|
||||
|
|
|
@ -86,7 +86,6 @@ abstract @beta Efl.Ui.Layout_Base extends Efl.Ui.Widget implements Efl.Container
|
|||
Efl.Ui.Widget.widget_sub_object_del;
|
||||
Efl.Ui.Focus.Object.on_focus_update;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Part.part_get;
|
||||
Efl.Ui.View.model { get; set; }
|
||||
|
|
|
@ -111,13 +111,6 @@ _efl_ui_layout_part_box_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_D
|
|||
return _efl_ui_layout_box_remove(pd->obj, pd->sd, pd->part, subobj) != NULL;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_box_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Entity *content)
|
||||
{
|
||||
// alias for efl_pack_unpack
|
||||
return _efl_ui_layout_part_box_efl_pack_unpack(obj, pd, content);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_box_efl_pack_pack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Box_Data *pd, Efl_Gfx_Entity *subobj)
|
||||
{
|
||||
|
@ -281,13 +274,6 @@ _efl_ui_layout_part_table_efl_pack_unpack(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Tab
|
|||
return _efl_ui_layout_table_unpack(pd->obj, pd->sd, pd->part, subobj) == subobj;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_table_efl_container_content_remove(Eo *obj, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity *content)
|
||||
{
|
||||
// alias for efl_pack_unpack
|
||||
return _efl_ui_layout_part_table_efl_pack_unpack(obj, pd, content);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_layout_part_table_efl_pack_table_pack_table(Eo *obj EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, Efl_Gfx_Entity *subobj, int col, int row, int colspan, int rowspan)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,6 @@ class @beta Efl.Ui.Layout_Part_Box extends Efl.Object implements Efl.Pack_Linear
|
|||
Efl.Object.destructor;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Ui.Direction.direction { get; }
|
||||
Efl.Pack.pack_clear;
|
||||
Efl.Pack.unpack_all;
|
||||
|
|
|
@ -21,7 +21,6 @@ class @beta Efl.Ui.Layout_Part_Table extends Efl.Object implements Efl.Pack_Tabl
|
|||
Efl.Object.destructor;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Pack.pack_clear;
|
||||
Efl.Pack.unpack_all;
|
||||
Efl.Pack.unpack;
|
||||
|
|
|
@ -572,13 +572,6 @@ _efl_ui_table_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Table_Data
|
|||
return pd->count;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_table_efl_container_content_remove(Eo *obj, Efl_Ui_Table_Data *pd EINA_UNUSED, Efl_Gfx_Entity *content)
|
||||
{
|
||||
return efl_pack_unpack(obj, content);
|
||||
}
|
||||
|
||||
|
||||
EOLIAN static Eina_Iterator *
|
||||
_efl_ui_table_efl_pack_table_table_contents_get(Eo *obj, Efl_Ui_Table_Data *pd EINA_UNUSED,
|
||||
int col, int row, Eina_Bool below)
|
||||
|
|
|
@ -21,7 +21,6 @@ class @beta Efl.Ui.Table extends Efl.Ui.Widget implements Efl.Pack_Table, Efl.Pa
|
|||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Ui.Widget.theme_apply;
|
||||
Efl.Container.content_remove;
|
||||
Efl.Container.content_iterate;
|
||||
Efl.Container.content_count;
|
||||
Efl.Ui.Direction.direction { get; set; }
|
||||
|
|
|
@ -102,7 +102,7 @@ EFL_START_TEST(edje_test_box_eoapi)
|
|||
fail_if(i != 3);
|
||||
eina_iterator_free(it);
|
||||
|
||||
fail_if(!efl_content_remove(efl_part(obj, "box"), sobjs[0]));
|
||||
fail_if(!efl_pack_unpack(efl_part(obj, "box"), sobjs[0]));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 2);
|
||||
fail_if(!efl_pack_unpack_at(efl_part(obj, "box"), 1));
|
||||
fail_if(efl_content_count(efl_part(obj, "box")) != 1);
|
||||
|
|
|
@ -107,7 +107,7 @@ EFL_START_TEST(edje_test_swallows_eoapi)
|
|||
fail_if(!efl_content_set(efl_part(ly, "swallow"), o1));
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), ly);
|
||||
|
||||
efl_content_remove(ly, o1);
|
||||
efl_canvas_layout_content_remove(ly, o1);
|
||||
ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1));
|
||||
|
||||
fail_if(!efl_content_set(efl_part(ly, "swallow"), o1));
|
||||
|
|
Loading…
Reference in New Issue