widget: Make sub_object add/del protected (EO)

Also prefix with widget.

I want to rename this as child rather than sub. It's inconsistent with
the other parent/child hierarchies. Anyway the various hierarchies are
confusing, so let's keep this name :)

Ref T5363
This commit is contained in:
Jean-Philippe Andre 2017-08-23 20:41:37 +09:00
parent c071fd453b
commit 3f9c239b27
40 changed files with 105 additions and 92 deletions

View File

@ -344,7 +344,7 @@ _efl_ui_box_efl_pack_linear_pack_before(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSE
if (!evas_object_box_insert_before(wd->resize_obj, subobj, existing))
{
elm_obj_widget_sub_object_del(obj, subobj);
elm_widget_sub_object_del(obj, subobj);
return EINA_FALSE;
}
@ -361,7 +361,7 @@ _efl_ui_box_efl_pack_linear_pack_after(Eo *obj, Efl_Ui_Box_Data *_pd EINA_UNUSED
if (!evas_object_box_insert_after(wd->resize_obj, subobj, existing))
{
elm_obj_widget_sub_object_del(obj, subobj);
elm_widget_sub_object_del(obj, subobj);
return EINA_FALSE;
}

View File

@ -136,11 +136,11 @@ _efl_ui_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUS
* is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
* can changed the theme API */
EOLIAN static Eina_Bool
_efl_ui_button_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_button_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Button_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
_icon_signal_emit(obj);

View File

@ -20,7 +20,7 @@ class Efl.Ui.Button (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Autorepeat, Efl.Tex
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
Efl.Part.part;

View File

@ -117,11 +117,11 @@ _efl_ui_check_elm_interface_atspi_accessible_state_set_get(Eo *obj, Efl_Ui_Check
* is elm.swallow.content, not elm.swallow.icon. Fix that whenever we
* can changed the theme API */
EOLIAN static Eina_Bool
_efl_ui_check_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Check_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_check_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Check_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
_icon_signal_emit(obj);

View File

@ -25,7 +25,7 @@ class Efl.Ui.Check (Efl.Ui.Nstate, Elm.Interface.Atspi_Widget_Action)
Efl.Object.constructor;
Elm.Widget.activate;
Elm.Widget.theme_apply;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Efl.Ui.Nstate.count { set; }
Efl.Ui.Nstate.value { set; }

View File

@ -168,14 +168,14 @@ _changed_size_hints_cb(void *data,
}
EOLIAN static Eina_Bool
_efl_ui_flip_elm_widget_sub_object_add(Eo *obj, Efl_Ui_Flip_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_flip_elm_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Flip_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
if (evas_object_data_get(sobj, "elm-parent") == obj)
return EINA_TRUE;
int_ret = elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
evas_object_data_set(sobj, "_elm_leaveme", sobj);
@ -188,12 +188,12 @@ _efl_ui_flip_elm_widget_sub_object_add(Eo *obj, Efl_Ui_Flip_Data *_pd EINA_UNUSE
}
EOLIAN static Eina_Bool
_efl_ui_flip_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Flip_Data *sd, Evas_Object *sobj)
_efl_ui_flip_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Flip_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sobj == sd->front.content)

View File

@ -230,12 +230,12 @@ class Efl.Ui.Flip (Elm.Widget, Efl.Pack.Linear, Efl.Part)
class.constructor;
Efl.Object.constructor;
Elm.Widget.focus_direction;
Elm.Widget.sub_object_add;
Elm.Widget.widget_sub_object_add;
Elm.Widget.theme_apply;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_next;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Efl.Container.content_iterate;
Efl.Container.content_count;
Efl.Container.content_remove;

View File

@ -490,13 +490,13 @@ _efl_ui_layout_elm_widget_focus_next(Eo *obj, Efl_Ui_Layout_Data *sd, Elm_Focus_
}
EOLIAN static Eina_Bool
_efl_ui_layout_elm_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_layout_elm_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
if (evas_object_data_get(sobj, "elm-parent") == obj) return EINA_TRUE;
int_ret = elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
evas_object_event_callback_add
@ -507,7 +507,7 @@ _efl_ui_layout_elm_widget_sub_object_add(Eo *obj, Efl_Ui_Layout_Data *_pd EINA_U
}
EOLIAN static Eina_Bool
_efl_ui_layout_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Layout_Data *sd, Evas_Object *sobj)
_efl_ui_layout_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Layout_Data *sd, Evas_Object *sobj)
{
Eina_List *l;
Efl_Ui_Layout_Sub_Object_Data *sub_d;
@ -520,7 +520,7 @@ _efl_ui_layout_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Layout_Data *sd, Evas_O
(sobj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_on_sub_object_size_hint_change, obj);
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sd->destructed_is) return EINA_TRUE;
@ -647,7 +647,7 @@ _sub_box_remove(Evas_Object *obj,
Efl_Ui_Layout_Sub_Object_Data *sub_d)
{
Evas_Object *child = sub_d->obj; /* sub_d will die in
* _efl_ui_layout_smart_sub_object_del */
* _efl_ui_layout_smart_widget_sub_object_del */
if (sub_d->type == BOX_INSERT_BEFORE)
evas_object_event_callback_del_full
@ -692,7 +692,7 @@ _sub_table_remove(Evas_Object *obj,
Evas_Object *child;
ELM_WIDGET_DATA_GET_OR_RETURN(sd->obj, wd, NULL);
child = sub_d->obj; /* sub_d will die in _efl_ui_layout_smart_sub_object_del */
child = sub_d->obj; /* sub_d will die in _efl_ui_layout_smart_widget_sub_object_del */
edje_object_part_table_unpack
(wd->resize_obj, sub_d->part, child);
@ -1088,7 +1088,7 @@ _efl_ui_layout_content_unset(Eo *obj, Efl_Ui_Layout_Data *sd, const char *part)
if (!sub_d->obj) return NULL;
content = sub_d->obj; /* sub_d will die in
* _efl_ui_layout_smart_sub_object_del */
* _efl_ui_layout_smart_widget_sub_object_del */
if (!_elm_widget_sub_object_redirect_to_top(obj, content))
{

View File

@ -59,13 +59,13 @@ class Efl.Ui.Layout (Elm.Widget, Efl.Part, Efl.Container, Efl.File,
Efl.Canvas.Layout_Group.group_size_min { get; }
Efl.Canvas.Layout_Group.group_size_max { get; }
Elm.Widget.focus_direction;
Elm.Widget.sub_object_add;
Elm.Widget.widget_sub_object_add;
Elm.Widget.theme_apply;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_next;
Elm.Widget.disable;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.on_focus;
Efl.Container.content_count;
Efl.Container.content_remove;

View File

@ -178,10 +178,10 @@ _icon_signal_emit(Evas_Object *obj)
* spot is elm.swallow.content, not elm.swallow.icon. Fix that
* whenever we can changed the theme API */
EOLIAN static Eina_Bool
_efl_ui_progressbar_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_progressbar_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
_icon_signal_emit(obj);

View File

@ -52,7 +52,7 @@ class Efl.Ui.Progressbar (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Direction)
Elm.Widget.theme_apply;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Efl.Ui.Range.span_size { get; set; }
Efl.Ui.Range.range_value { get; set; }
Efl.Ui.Range.range_unit_format { get; set; }

View File

@ -1240,7 +1240,7 @@ _show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
}
EOLIAN static Eina_Bool
_efl_ui_text_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_efl_ui_text_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool ret = EINA_FALSE;
/* unfortunately entry doesn't follow the signal pattern
@ -1255,7 +1255,7 @@ _efl_ui_text_elm_widget_sub_object_del(Eo *obj, Efl_Ui_Text_Data *_pd EINA_UNUSE
elm_layout_signal_emit(obj, "elm,action,hide,end", "elm");
}
ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!ret) return EINA_FALSE;
return EINA_TRUE;

View File

@ -413,7 +413,7 @@ class Efl.Ui.Text (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Widget.on_focus;
Elm.Widget.on_focus_region;
Elm.Widget.disable;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.focus_next_manager_is;
Elm.Interface_Scrollable.policy { set; }
Elm.Interface_Scrollable.bounce_allow { set; }

View File

@ -599,12 +599,12 @@ _base_shift_by_arrow(Evas_Object *arrow,
}
EOLIAN static Eina_Bool
_elm_ctxpopup_elm_widget_sub_object_add(Eo *obj, Elm_Ctxpopup_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_elm_ctxpopup_elm_widget_widget_sub_object_add(Eo *obj, Elm_Ctxpopup_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
/* Skipping elm_layout sub_object_add in order to ignore size hint changes.
/* Skipping elm_layout widget_sub_object_add in order to ignore size hint changes.
* Note: It is not clear WHY we are doing this. Same reason as genlist?
*/
return elm_obj_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
return elm_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
}
EOLIAN static void

View File

@ -511,12 +511,12 @@ _elm_popup_efl_canvas_layout_signal_signal_emit(Eo *obj EINA_UNUSED, Elm_Popup_D
}
EOLIAN static Eina_Bool
_elm_popup_elm_widget_sub_object_del(Eo *obj, Elm_Popup_Data *sd, Evas_Object *sobj)
_elm_popup_elm_widget_widget_sub_object_del(Eo *obj, Elm_Popup_Data *sd, Evas_Object *sobj)
{
Elm_Popup_Item_Data *it;
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sobj == sd->title_icon)

View File

@ -154,11 +154,11 @@ _on_size_hints_changed(void *data,
}
EOLIAN static Eina_Bool
_elm_box_elm_widget_sub_object_del(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Evas_Object *child)
_elm_box_elm_widget_widget_sub_object_del(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED, Evas_Object *child)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), child);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), child);
if (!int_ret) return EINA_FALSE;
_sizing_eval(obj);

View File

@ -254,7 +254,7 @@ class Elm.Box (Elm.Widget)
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next;
Elm.Widget.theme_apply;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.focus_register;
}
events {

View File

@ -207,7 +207,7 @@ class Elm.Ctxpopup (Efl.Ui.Layout, Elm.Interface.Atspi_Widget_Action,
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_next;
Elm.Widget.disable;
Elm.Widget.sub_object_add;
Elm.Widget.widget_sub_object_add;
Elm.Widget.translate;
Elm.Widget.theme_apply;
Elm.Widget.widget_event;

View File

@ -873,14 +873,14 @@ _elm_diskselector_elm_widget_theme_apply(Eo *obj, Elm_Diskselector_Data *sd)
}
EOLIAN static Eina_Bool
_elm_diskselector_elm_widget_sub_object_del(Eo *obj, Elm_Diskselector_Data *sd, Evas_Object *sobj)
_elm_diskselector_elm_widget_widget_sub_object_del(Eo *obj, Elm_Diskselector_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
Elm_Diskselector_Item_Data *it;
const Eina_List *l;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
EINA_LIST_FOREACH(sd->items, l, it)

View File

@ -207,7 +207,7 @@ class Elm.Diskselector (Elm.Widget, Elm.Interface_Scrollable,
Elm.Widget.theme_apply;
Elm.Widget.on_focus;
Elm.Widget.translate;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Elm.Interface_Scrollable.policy { get; set; }
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }

View File

@ -1357,7 +1357,7 @@ _show_region_hook(void *data EINA_UNUSED, Evas_Object *obj, Eina_Rectangle r)
}
EOLIAN static Eina_Bool
_elm_entry_elm_widget_sub_object_del(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_elm_entry_elm_widget_widget_sub_object_del(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
Eina_Bool ret = EINA_FALSE;
/* unfortunately entry doesn't follow the signal pattern
@ -1372,7 +1372,7 @@ _elm_entry_elm_widget_sub_object_del(Eo *obj, Elm_Entry_Data *_pd EINA_UNUSED, E
elm_layout_signal_emit(obj, "elm,action,hide,end", "elm");
}
ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!ret) return EINA_FALSE;
return EINA_TRUE;

View File

@ -963,7 +963,7 @@ class Elm.Entry (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Elm.Widget.on_focus;
Elm.Widget.on_focus_region;
Elm.Widget.disable;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.focus_next_manager_is;
Elm.Interface_Scrollable.policy { set; }
Elm.Interface_Scrollable.bounce_allow { set; }

View File

@ -3197,7 +3197,7 @@ _key_action_escape(Evas_Object *obj, const char *params EINA_UNUSED)
}
EOLIAN static Eina_Bool
_elm_genlist_elm_widget_sub_object_add(Eo *obj, Elm_Genlist_Data *_pd EINA_UNUSED, Evas_Object *sobj)
_elm_genlist_elm_widget_widget_sub_object_add(Eo *obj, Elm_Genlist_Data *_pd EINA_UNUSED, Evas_Object *sobj)
{
/* skipping layout's code, which registers size hint changing
* callback on sub objects. this is here because items'
@ -3205,11 +3205,11 @@ _elm_genlist_elm_widget_sub_object_add(Eo *obj, Elm_Genlist_Data *_pd EINA_UNUSE
* creation, thus issuing TOO MANY sizing_eval()'s here. they are
* not needed at here anyway, so let's skip listening to those
* hints changes */
return elm_obj_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
return elm_widget_sub_object_add(efl_cast(obj, ELM_WIDGET_CLASS), sobj);
}
EOLIAN static Eina_Bool
_elm_genlist_elm_widget_sub_object_del(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *sobj)
_elm_genlist_elm_widget_widget_sub_object_del(Eo *obj, Elm_Genlist_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
@ -3218,7 +3218,7 @@ _elm_genlist_elm_widget_sub_object_del(Eo *obj, Elm_Genlist_Data *sd, Evas_Objec
* such) seem to issue a whole lot of deletions and Evas bitches
* about too many recalculations */
sd->on_sub_del = EINA_TRUE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
sd->on_sub_del = EINA_FALSE;
return int_ret;
}

View File

@ -534,13 +534,13 @@ class Elm.Genlist (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
Efl.Canvas.Group.group_member_add;
Elm.Widget.theme_apply;
Elm.Widget.focus_next_manager_is;
Elm.Widget.sub_object_add;
Elm.Widget.widget_sub_object_add;
Elm.Widget.access;
Elm.Widget.focus_highlight_geometry_get;
Elm.Widget.focus_next;
Elm.Widget.on_focus;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Elm.Widget.focused_item { get; }
Elm.Widget.item_loop_enabled { get; set; }

View File

@ -361,13 +361,13 @@ _on_smt_sub_changed(void *data,
}
EOLIAN static Eina_Bool
_elm_hover_elm_widget_sub_object_add(Eo *obj, Elm_Hover_Data *sd, Evas_Object *sobj)
_elm_hover_elm_widget_widget_sub_object_add(Eo *obj, Elm_Hover_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
if (evas_object_data_get(sobj, "elm-parent") == obj) return EINA_TRUE;
int_ret = elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sd->smt_sub && sd->smt_sub->obj == sobj)
@ -378,11 +378,11 @@ _elm_hover_elm_widget_sub_object_add(Eo *obj, Elm_Hover_Data *sd, Evas_Object *s
}
EOLIAN static Eina_Bool
_elm_hover_elm_widget_sub_object_del(Eo *obj, Elm_Hover_Data *sd, Evas_Object *sobj)
_elm_hover_elm_widget_widget_sub_object_del(Eo *obj, Elm_Hover_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sd->smt_sub && sd->smt_sub->obj == sobj)

View File

@ -65,11 +65,11 @@ class Elm.Hover (Efl.Ui.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Act
Efl.Gfx.position { set; }
Efl.Gfx.size { set; }
Elm.Widget.theme_apply;
Elm.Widget.sub_object_add;
Elm.Widget.widget_sub_object_add;
Elm.Widget.widget_parent { get; set; }
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next_manager_is;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.focus_manager_factory;
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
Efl.Part.part;

View File

@ -1289,13 +1289,13 @@ _elm_list_elm_widget_on_focus(Eo *obj, Elm_List_Data *sd, Elm_Object_Item *item
}
EOLIAN static Eina_Bool
_elm_list_elm_widget_sub_object_del(Eo *obj, Elm_List_Data *sd, Evas_Object *sobj)
_elm_list_elm_widget_widget_sub_object_del(Eo *obj, Elm_List_Data *sd, Evas_Object *sobj)
{
const Eina_List *l;
Elm_Object_Item *eo_it;
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if ((sobj == sd->box) || (sobj == obj)) goto end;

View File

@ -442,7 +442,7 @@ class Elm.List (Efl.Ui.Layout, Elm.Interface_Scrollable,
Elm.Widget.disable;
Elm.Widget.on_focus;
Elm.Widget.translate;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Elm.Widget.focused_item { get; }
Elm.Widget.item_loop_enabled { get; set; }

View File

@ -75,10 +75,10 @@ _elm_mapbuf_content_unset_internal(Elm_Mapbuf_Data *sd, Evas_Object *obj,
}
EOLIAN static Eina_Bool
_elm_mapbuf_elm_widget_sub_object_del(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Object *sobj)
_elm_mapbuf_elm_widget_widget_sub_object_del(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sobj == sd->content)

View File

@ -120,7 +120,7 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
Efl.Gfx.position { set; }
Efl.Gfx.size { set; }
Elm.Widget.theme_apply;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Efl.Container.content { get; set; }
Efl.Container.content_unset;
Efl.Part.part;

View File

@ -199,10 +199,10 @@ _changed_size_hints_cb(void *data,
}
EOLIAN static Eina_Bool
_elm_notify_elm_widget_sub_object_del(Eo *obj, Elm_Notify_Data *sd, Evas_Object *sobj)
_elm_notify_elm_widget_widget_sub_object_del(Eo *obj, Elm_Notify_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sobj == sd->content)

View File

@ -89,7 +89,7 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part)
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_next;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.part_text { get; set; }
Efl.Container.content { get; set; }
Efl.Container.content_unset;

View File

@ -176,7 +176,7 @@ class Elm.Popup (Efl.Ui.Layout, Elm.Interface.Atspi_Widget_Action)
Elm.Widget.focus_next;
Elm.Widget.widget_parent { set; }
Elm.Widget.translate;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Efl.Canvas.Layout_Signal.signal_emit;
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }

View File

@ -551,10 +551,10 @@ _changed_size_hints_cb(void *data,
}
EOLIAN static Eina_Bool
_elm_scroller_elm_widget_sub_object_del(Eo *obj, Elm_Scroller_Data *sd, Evas_Object *sobj)
_elm_scroller_elm_widget_widget_sub_object_del(Eo *obj, Elm_Scroller_Data *sd, Evas_Object *sobj)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
if (!int_ret) return EINA_FALSE;
if (sobj == sd->content)

View File

@ -53,7 +53,7 @@ class Elm.Scroller (Efl.Ui.Layout, Elm.Interface_Scrollable,
Elm.Widget.focus_direction_manager_is;
Elm.Widget.focus_next;
Elm.Widget.focus_direction;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.widget_event;
Elm.Interface_Scrollable.page_size { set; }
Elm.Interface_Scrollable.policy { set; }

View File

@ -148,11 +148,11 @@ _on_size_hints_changed(void *data,
}
EOLIAN static Eina_Bool
_elm_table_elm_widget_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *child)
_elm_table_elm_widget_widget_sub_object_del(Eo *obj, void *_pd EINA_UNUSED, Evas_Object *child)
{
Eina_Bool int_ret = EINA_FALSE;
int_ret = elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), child);
int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), child);
if (!int_ret) return EINA_FALSE;
_sizing_eval(obj);

View File

@ -126,7 +126,7 @@ class Elm.Table (Elm.Widget)
Elm.Widget.focus_next;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
Elm.Widget.sub_object_del;
Elm.Widget.widget_sub_object_del;
Elm.Widget.focus_register;
}
}

View File

@ -1376,7 +1376,7 @@ elm_widget_sub_object_parent_add(Evas_Object *sobj)
return EINA_FALSE;
}
return elm_obj_widget_sub_object_add(parent, sobj);
return elm_widget_sub_object_add(parent, sobj);
}
/*
@ -1393,7 +1393,7 @@ elm_widget_sub_object_parent_add(Evas_Object *sobj)
* @see elm_widget_sub_object_parent_add()
*/
EOLIAN static Eina_Bool
_elm_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj)
_elm_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj)
{
Eina_Bool mirrored, pmirrored = efl_ui_mirrored_get(obj);
@ -1515,7 +1515,7 @@ end:
}
EOLIAN static Eina_Bool
_elm_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj)
_elm_widget_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj)
{
Evas_Object *sobj_parent;

View File

@ -270,21 +270,6 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
}
}
sub_object_add {
[['Virtual' function handling sub objects being added.]]
return: bool; [[$true on success, $false otherwise]]
params {
@in sobj: Efl.Canvas.Object; [[Sub object]]
}
}
sub_object_del {
[['Virtual' function handling sub objects being removed.]]
return: bool; [[$true on success, $false otherwise]]
params {
@in sobj: Efl.Canvas.Object; [[Object to be deleted]]
}
}
/* Translation & Text API. */
translate @protected {
[[Virtual function handling language changes.]]
@ -337,6 +322,34 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
}
/* Internal hooks. */
widget_sub_object_add @protected {
[[Virtual function handling sub objects being added.
Sub objects can be any canvas object, not necessarily widgets.
See also @.widget_parent.
]]
params {
@in sub_obj: Efl.Canvas.Object;
[[Sub object to be added. Not necessarily a widget itself.]]
}
return: bool; [[Indicates if the operation succeeded.]]
legacy: elm_widget_sub_object_add;
}
widget_sub_object_del @protected {
[[Virtual function handling sub objects being removed.
Sub objects can be any canvas object, not necessarily widgets.
See also @.widget_parent.
]]
params {
@in sub_obj: Efl.Canvas.Object;
[[Sub object to be removed. Should be a child of this widget.]]
}
return: bool; [[Indicates if the operation succeeded.]]
legacy: elm_widget_sub_object_del;
}
@property orientation {
[[Widget orientation]]
set {

View File

@ -361,10 +361,10 @@ typedef struct _Elm_Widget_Smart_Class
Elm_Object_Item **target_item,
double *weight); /**< 'Virtual' function handling passing focus to sub-objects <b>given a direction, in degrees</b> */
Eina_Bool (*sub_object_add)(Evas_Object *obj,
Eina_Bool (*widget_sub_object_add)(Evas_Object *obj,
Evas_Object *sobj); /**< 'Virtual' function handling sub objects being added */
Eina_Bool (*sub_object_del)(Evas_Object *obj,
Eina_Bool (*widget_sub_object_del)(Evas_Object *obj,
Evas_Object *sobj); /**< 'Virtual' function handling sub objects being removed */
void (*access)(Evas_Object *obj,
Eina_Bool is_access); /**< 'Virtual' function on the widget being set access */