forked from enlightenment/efl
evas/elm: Remove group_show and group_hide
These should be just overrides of Efl.Gfx.visible.set. Many widgets were handling smart show() and hide() manually, which means this patch is quite large. Hopefully this doesn't break anything, obviously. But here are some widgets known to be problematic, as the old code flow was really strange (sometimes not calling the efl_super function): - window - notify
This commit is contained in:
parent
62abe2cbff
commit
97c9fa64a4
|
@ -2066,13 +2066,12 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part)
|
|||
}
|
||||
}
|
||||
implements {
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Object.dbg_info_get;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Object.paragraph_direction.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -282,14 +282,13 @@ _edje_object_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Edje *ed, Evas_C
|
|||
_edje_emit(ed, "resize", NULL);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_edje_object_efl_canvas_group_group_show(Eo *obj, Edje *ed)
|
||||
static void
|
||||
_edje_object_show(Eo *obj, Edje *ed)
|
||||
{
|
||||
Eina_List *l;
|
||||
Edje *edg;
|
||||
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (evas_object_visible_get(obj)) return;
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_TRUE);
|
||||
if (_edje_lua_script_only(ed))
|
||||
{
|
||||
_edje_lua_script_only_show(ed);
|
||||
|
@ -310,14 +309,13 @@ _edje_object_efl_canvas_group_group_show(Eo *obj, Edje *ed)
|
|||
_edje_emit(ed, "show", NULL);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_edje_object_efl_canvas_group_group_hide(Eo *obj, Edje *ed)
|
||||
static void
|
||||
_edje_object_hide(Eo *obj, Edje *ed)
|
||||
{
|
||||
Eina_List *l;
|
||||
Edje *edg;
|
||||
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
if (!evas_object_visible_get(obj)) return;
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_FALSE);
|
||||
if (_edje_lua_script_only(ed))
|
||||
{
|
||||
_edje_lua_script_only_hide(ed);
|
||||
|
@ -328,6 +326,16 @@ _edje_object_efl_canvas_group_group_hide(Eo *obj, Edje *ed)
|
|||
_edje_emit(ed, "hide", NULL);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_edje_object_efl_gfx_visible_set(Eo *obj, Edje *ed, Eina_Bool vis)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
if (vis) _edje_object_show(obj, ed);
|
||||
else _edje_object_hide(obj, ed);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_edje_object_efl_canvas_object_no_render_set(Eo *obj, Edje *ed, Eina_Bool enable)
|
||||
{
|
||||
|
|
|
@ -587,28 +587,34 @@ _efl_ui_image_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Image_Data *sd, Evas
|
|||
_efl_ui_image_internal_sizing_eval(obj, sd);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_image_efl_canvas_group_group_show(Eo *obj, Efl_Ui_Image_Data *sd)
|
||||
static void
|
||||
_efl_ui_image_show(Eo *obj, Efl_Ui_Image_Data *sd)
|
||||
{
|
||||
sd->show = EINA_TRUE;
|
||||
if (sd->preload_status == EFL_UI_IMAGE_PRELOADING) return;
|
||||
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
|
||||
evas_object_show(sd->img);
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_TRUE);
|
||||
efl_gfx_visible_set(sd->img, EINA_TRUE);
|
||||
ELM_SAFE_FREE(sd->prev_img, evas_object_del);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_ui_image_hide(Eo *obj, Efl_Ui_Image_Data *sd)
|
||||
{
|
||||
sd->show = EINA_FALSE;
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_FALSE);
|
||||
efl_gfx_visible_set(sd->img, EINA_FALSE);
|
||||
ELM_SAFE_FREE(sd->prev_img, evas_object_del);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_image_efl_canvas_group_group_hide(Eo *obj, Efl_Ui_Image_Data *sd)
|
||||
_efl_ui_image_efl_gfx_visible_set(Eo *obj, Efl_Ui_Image_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
sd->show = EINA_FALSE;
|
||||
evas_object_hide(sd->img);
|
||||
|
||||
ELM_SAFE_FREE(sd->prev_img, evas_object_del);
|
||||
if (vis) _efl_ui_image_show(obj, sd);
|
||||
else _efl_ui_image_hide(obj, sd);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -123,6 +123,7 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Efl.File.file.get;
|
||||
Efl.File.mmap.set;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Gfx.View.view_size.get;
|
||||
Efl.Image.Load.load_size.set;
|
||||
Efl.Image.Load.load_size.get;
|
||||
|
@ -141,8 +142,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Draggable,
|
|||
Edje.Object.size_min_calc;
|
||||
Edje.Object.calc_force;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -3489,19 +3489,15 @@ _efl_ui_text_efl_canvas_group_group_resize(Eo *obj, Efl_Ui_Text_Data *sd, Evas_C
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_text_efl_canvas_group_group_show(Eo *obj, Efl_Ui_Text_Data *sd EINA_UNUSED)
|
||||
_efl_ui_text_efl_gfx_visible_set(Eo *obj, Efl_Ui_Text_Data *sd EINA_UNUSED, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
_update_selection_handler(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_text_efl_canvas_group_group_hide(Eo *obj, Efl_Ui_Text_Data *sd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
|
||||
if (sd->have_selection)
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
if (vis)
|
||||
_update_selection_handler(obj);
|
||||
else if (sd->have_selection)
|
||||
_hide_selection_handler(obj);
|
||||
}
|
||||
|
||||
|
|
|
@ -416,13 +416,12 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Elm.Widget.activate;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
|
|
|
@ -2107,19 +2107,28 @@ _deferred_ecore_evas_free(void *data)
|
|||
_elm_win_deferred_free--;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_win_efl_canvas_group_group_show(Eo *obj, Efl_Ui_Win_Data *sd)
|
||||
static void
|
||||
_efl_ui_win_show(Eo *obj, Efl_Ui_Win_Data *sd)
|
||||
{
|
||||
if (sd->modal_count) return;
|
||||
const Eina_List *l;
|
||||
Evas_Object *current;
|
||||
Eina_Bool do_eval = EINA_FALSE;
|
||||
|
||||
if (sd->modal_count)
|
||||
{
|
||||
/* FIXME FIXME FIXME
|
||||
* Ugly code flow: legacy code had an early return in smart_show, ie.
|
||||
* evas object show would be processed but smart object show would be
|
||||
* aborted. This super call tries to simulate that. */
|
||||
efl_gfx_visible_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), EINA_TRUE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!evas_object_visible_get(obj)) do_eval = EINA_TRUE;
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_TRUE);
|
||||
|
||||
if ((sd->modal) && (!evas_object_visible_get(obj)))
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *current;
|
||||
INCREMENT_MODALITY()
|
||||
}
|
||||
|
||||
|
@ -2150,19 +2159,26 @@ _efl_ui_win_efl_canvas_group_group_show(Eo *obj, Efl_Ui_Win_Data *sd)
|
|||
if (sd->shot.info) _shot_handle(sd);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_win_efl_canvas_group_group_hide(Eo *obj, Efl_Ui_Win_Data *sd)
|
||||
static void
|
||||
_efl_ui_win_hide(Eo *obj, Efl_Ui_Win_Data *sd)
|
||||
{
|
||||
if (sd->modal_count) return;
|
||||
const Eina_List *l;
|
||||
Evas_Object *current;
|
||||
if (sd->modal_count)
|
||||
{
|
||||
/* FIXME FIXME FIXME
|
||||
* Ugly code flow: legacy code had an early return in smart_show, ie.
|
||||
* evas object show would be processed but smart object show would be
|
||||
* aborted. This super call tries to simulate that. */
|
||||
efl_gfx_visible_set(efl_super(obj, EFL_CANVAS_GROUP_CLASS), EINA_FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
if (evas_object_visible_get(obj))
|
||||
_elm_win_state_eval_queue();
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
_elm_win_state_eval_queue();
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_FALSE);
|
||||
|
||||
if ((sd->modal) && (evas_object_visible_get(obj)))
|
||||
{
|
||||
const Eina_List *l;
|
||||
Evas_Object *current;
|
||||
DECREMENT_MODALITY()
|
||||
}
|
||||
|
||||
|
@ -2196,6 +2212,16 @@ _efl_ui_win_efl_canvas_group_group_hide(Eo *obj, Efl_Ui_Win_Data *sd)
|
|||
_elm_win_flush_cache_and_exit(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_win_efl_gfx_visible_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
if (vis) _efl_ui_win_show(obj, sd);
|
||||
else _efl_ui_win_hide(obj, sd);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_win_efl_input_interface_pointer_xy_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, int *x, int *y)
|
||||
{
|
||||
|
@ -2711,6 +2737,8 @@ _elm_win_obj_intercept_show(void *data,
|
|||
{
|
||||
ELM_WIN_DATA_GET(data, sd);
|
||||
|
||||
/* FIXME: this intercept needs to be implemented in proper EO */
|
||||
|
||||
// this is called to make sure all smart containers have calculated their
|
||||
// sizes BEFORE we show the window to make sure it initially appears at
|
||||
// our desired size (ie min size is known first)
|
||||
|
|
|
@ -809,8 +809,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.finalize;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -285,17 +285,20 @@ _elm_combobox_efl_canvas_group_group_del(Eo *obj, Elm_Combobox_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_combobox_efl_canvas_group_group_show(Eo *obj, Elm_Combobox_Data *sd)
|
||||
_elm_combobox_efl_gfx_visible_set(Eo *obj, Elm_Combobox_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (sd->expanded) evas_object_show(sd->hover);
|
||||
}
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
EOLIAN static void
|
||||
_elm_combobox_efl_canvas_group_group_hide(Eo *obj, Elm_Combobox_Data *sd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
if (sd->hover) evas_object_hide(sd->hover);
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
if (vis)
|
||||
{
|
||||
if (sd->expanded) evas_object_show(sd->hover);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sd->hover) evas_object_hide(sd->hover);
|
||||
}
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
|
|
|
@ -579,17 +579,13 @@ _elm_hoversel_efl_canvas_group_group_del(Eo *obj, Elm_Hoversel_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_hoversel_efl_canvas_group_group_show(Eo *obj, Elm_Hoversel_Data *sd)
|
||||
_elm_hoversel_efl_gfx_visible_set(Eo *obj, Elm_Hoversel_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
evas_object_show(sd->hover);
|
||||
}
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
EOLIAN static void
|
||||
_elm_hoversel_efl_canvas_group_group_hide(Eo *obj, Elm_Hoversel_Data *sd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
evas_object_hide(sd->hover);
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
efl_gfx_visible_set(sd->hover, vis);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -1478,10 +1478,16 @@ _elm_naviframe_efl_canvas_group_group_del(Eo *obj, Elm_Naviframe_Data *sd)
|
|||
|
||||
//Show only the top item view
|
||||
EOLIAN static void
|
||||
_elm_naviframe_efl_canvas_group_group_show(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED)
|
||||
_elm_naviframe_efl_gfx_visible_set(Eo *obj, Elm_Naviframe_Data *sd EINA_UNUSED, Eina_Bool vis)
|
||||
{
|
||||
Elm_Object_Item *eo_top;
|
||||
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
if (!vis) return;
|
||||
|
||||
eo_top = elm_naviframe_top_item_get(obj);
|
||||
ELM_NAVIFRAME_ITEM_DATA_GET(eo_top, top);
|
||||
|
||||
|
|
|
@ -36,8 +36,7 @@ class Elm.Combobox (Elm.Button, Efl.Ui.Selectable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -3936,21 +3936,18 @@ _elm_entry_efl_canvas_group_group_resize(Eo *obj, Elm_Entry_Data *sd, Evas_Coord
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_entry_efl_canvas_group_group_show(Eo *obj, Elm_Entry_Data *sd)
|
||||
_elm_entry_efl_gfx_visible_set(Eo *obj, Elm_Entry_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
|
||||
if (sd->have_selection)
|
||||
_update_selection_handler(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_entry_efl_canvas_group_group_hide(Eo *obj, Elm_Entry_Data *sd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
|
||||
if (sd->have_selection)
|
||||
_hide_selection_handler(obj);
|
||||
{
|
||||
if (vis) _update_selection_handler(obj);
|
||||
else _hide_selection_handler(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -939,13 +939,12 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable,
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_add;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Elm.Widget.activate;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
|
|
|
@ -632,25 +632,22 @@ _elm_hover_efl_canvas_group_group_resize(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSE
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_hover_efl_canvas_group_group_show(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED)
|
||||
_elm_hover_efl_gfx_visible_set(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
_hov_show_do(obj);
|
||||
}
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
|
||||
EOLIAN static void
|
||||
_elm_hover_efl_canvas_group_group_hide(Eo *obj, Elm_Hover_Data *_pd EINA_UNUSED)
|
||||
{
|
||||
const char *dismissstr;
|
||||
if (vis) _hov_show_do(obj);
|
||||
else
|
||||
{
|
||||
// for backward compatibility
|
||||
const char *dismissstr = elm_layout_data_get(obj, "dismiss");
|
||||
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
|
||||
// for backward compatibility
|
||||
dismissstr = elm_layout_data_get(obj, "dismiss");
|
||||
|
||||
if (!dismissstr || strcmp(dismissstr, "on"))
|
||||
_hide_signals_emit(obj);
|
||||
if (!eina_streq(dismissstr, "on"))
|
||||
_hide_signals_emit(obj);
|
||||
}
|
||||
}
|
||||
|
||||
EOLIAN static const Elm_Layout_Part_Alias_Description*
|
||||
|
|
|
@ -60,9 +60,8 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, Elm.Interface.Atspi_Widget_Action
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
|
|
|
@ -92,8 +92,7 @@ class Elm.Hoversel (Elm.Button, Efl.Ui.Selectable,
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Elm.Widget.widget_parent.set;
|
||||
|
|
|
@ -121,21 +121,13 @@ _elm_pan_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Elm_Pan_Smart_Data *
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_pan_efl_canvas_group_group_show(Eo *obj, Elm_Pan_Smart_Data *psd)
|
||||
_elm_pan_efl_gfx_visible_set(Eo *obj, Elm_Pan_Smart_Data *psd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_PAN_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
if (psd->content)
|
||||
evas_object_show(psd->content);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_pan_efl_canvas_group_group_hide(Eo *obj, Elm_Pan_Smart_Data *psd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_PAN_CLASS));
|
||||
|
||||
if (psd->content)
|
||||
evas_object_hide(psd->content);
|
||||
efl_gfx_visible_set(efl_super(obj, MY_PAN_CLASS), vis);
|
||||
if (psd->content) efl_gfx_visible_set(psd->content, vis);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -176,18 +176,12 @@ _elm_mapbuf_efl_canvas_group_group_resize(Eo *obj, Elm_Mapbuf_Data *sd, Evas_Coo
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_mapbuf_efl_canvas_group_group_show(Eo *obj, Elm_Mapbuf_Data *sd)
|
||||
_elm_mapbuf_efl_gfx_visible_set(Eo *obj, Elm_Mapbuf_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
_mapbuf_auto_eval(obj, sd);
|
||||
_configure(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_mapbuf_efl_canvas_group_group_hide(Eo *obj, Elm_Mapbuf_Data *sd)
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
|
||||
_mapbuf_auto_eval(obj, sd);
|
||||
_configure(obj);
|
||||
|
|
|
@ -129,8 +129,7 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -550,9 +550,12 @@ _unblock_menu(void *_sd, const Efl_Event *event EINA_UNUSED)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_menu_efl_canvas_group_group_show(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd)
|
||||
_elm_menu_efl_gfx_visible_set(Eo *obj EINA_UNUSED, Elm_Menu_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
evas_object_show(sd->hv);
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
if (vis) efl_gfx_visible_set(sd->hv, EINA_TRUE);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -72,7 +72,7 @@ class Elm.Menu (Elm.Widget, Efl.Ui.Clickable, Elm.Interface.Atspi.Selection)
|
|||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.destructor;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Elm.Widget.widget_parent;
|
||||
|
|
|
@ -142,8 +142,8 @@ class Elm.Naviframe (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Elm.Widget.focus_direction;
|
||||
Elm.Widget.focus_next_manager_is;
|
||||
|
|
|
@ -281,12 +281,12 @@ _timer_init(Evas_Object *obj,
|
|||
sd->timer = NULL;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_notify_efl_canvas_group_group_show(Eo *obj, Elm_Notify_Data *sd)
|
||||
static void
|
||||
_elm_notify_show(Eo *obj, Elm_Notify_Data *sd)
|
||||
{
|
||||
sd->had_hidden = EINA_FALSE;
|
||||
sd->in_timeout = EINA_FALSE;
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_TRUE);
|
||||
|
||||
evas_object_show(sd->notify);
|
||||
if (!sd->allow_events) evas_object_show(sd->block_events);
|
||||
|
@ -294,8 +294,8 @@ _elm_notify_efl_canvas_group_group_show(Eo *obj, Elm_Notify_Data *sd)
|
|||
elm_object_focus_set(obj, EINA_TRUE);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_notify_efl_canvas_group_group_hide(Eo *obj, Elm_Notify_Data *sd)
|
||||
static void
|
||||
_elm_notify_hide(Eo *obj EINA_UNUSED, Elm_Notify_Data *sd)
|
||||
{
|
||||
const char *hide_signal;
|
||||
|
||||
|
@ -303,20 +303,30 @@ _elm_notify_efl_canvas_group_group_hide(Eo *obj, Elm_Notify_Data *sd)
|
|||
return;
|
||||
|
||||
hide_signal = edje_object_data_get(sd->notify, "hide_finished_signal");
|
||||
if ((hide_signal) && (!strcmp(hide_signal, "on")))
|
||||
if (eina_streq(hide_signal, "on"))
|
||||
{
|
||||
if (!sd->in_timeout)
|
||||
edje_object_signal_emit(sd->notify, "elm,state,hide", "elm");
|
||||
}
|
||||
else //for backport supporting: edc without emitting hide finished signal
|
||||
{
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), EINA_FALSE);
|
||||
evas_object_hide(sd->notify);
|
||||
if (sd->allow_events) evas_object_hide(sd->block_events);
|
||||
}
|
||||
ELM_SAFE_FREE(sd->timer, ecore_timer_del);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_notify_efl_gfx_visible_set(Eo *obj, Elm_Notify_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
if (vis) _elm_notify_show(obj, sd);
|
||||
else _elm_notify_hide(obj, sd);
|
||||
}
|
||||
|
||||
static void
|
||||
_parent_del_cb(void *data,
|
||||
Evas *e EINA_UNUSED,
|
||||
|
@ -447,7 +457,7 @@ _hide_finished_cb(void *data,
|
|||
sd->had_hidden = EINA_TRUE;
|
||||
evas_object_hide(sd->notify);
|
||||
if (!sd->allow_events) evas_object_hide(sd->block_events);
|
||||
efl_canvas_group_hide(efl_super(data, MY_CLASS));
|
||||
efl_gfx_visible_set(efl_super(data, MY_CLASS), EINA_FALSE);
|
||||
efl_event_callback_legacy_call(data, ELM_NOTIFY_EVENT_DISMISSED, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -79,8 +79,7 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part)
|
|||
implements {
|
||||
class.constructor;
|
||||
Efl.Object.constructor;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -43,8 +43,7 @@ class Elm.Pan (Efl.Canvas.Group.Clipped)
|
|||
implements {
|
||||
Efl.Object.constructor;
|
||||
class.constructor;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
|
|
|
@ -453,20 +453,21 @@ _thumb_show(Elm_Thumb_Data *sd)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_thumb_efl_canvas_group_group_show(Eo *obj, Elm_Thumb_Data *sd)
|
||||
_elm_thumb_efl_gfx_visible_set(Eo *obj, Elm_Thumb_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
efl_canvas_group_show(efl_super(obj, MY_CLASS));
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
_thumb_show(sd);
|
||||
}
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
|
||||
if (vis)
|
||||
{
|
||||
_thumb_show(sd);
|
||||
return;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_thumb_efl_canvas_group_group_hide(Eo *obj, Elm_Thumb_Data *sd)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
efl_canvas_group_hide(efl_super(obj, MY_CLASS));
|
||||
|
||||
if (sd->thumb.request)
|
||||
{
|
||||
ethumb_client_thumb_async_cancel(_elm_ethumb_client, sd->thumb.request);
|
||||
|
|
|
@ -10,10 +10,9 @@ class Elm.Thumb (Elm.Layout, Efl.File, Efl.Ui.Clickable,
|
|||
Efl.Object.constructor;
|
||||
Efl.File.file.set;
|
||||
Efl.File.file.get;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Ui.Draggable.drag_target.set;
|
||||
Efl.Ui.Draggable.drag_target.get;
|
||||
}
|
||||
|
|
|
@ -519,43 +519,37 @@ _elm_widget_efl_canvas_group_group_resize(Eo *obj EINA_UNUSED, Elm_Widget_Smart_
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_widget_efl_canvas_group_group_show(Eo *obj, Elm_Widget_Smart_Data *_pd)
|
||||
_elm_widget_efl_gfx_visible_set(Eo *obj, Elm_Widget_Smart_Data *pd, Eina_Bool vis)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Evas_Object *o;
|
||||
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
|
||||
it = evas_object_smart_iterator_new(obj);
|
||||
EINA_ITERATOR_FOREACH(it, o)
|
||||
{
|
||||
if (evas_object_data_get(o, "_elm_leaveme")) continue;
|
||||
evas_object_show(o);
|
||||
efl_gfx_visible_set(o, vis);
|
||||
}
|
||||
eina_iterator_free(it);
|
||||
|
||||
if (_elm_config->atspi_mode)
|
||||
if (!_elm_config->atspi_mode || pd->on_destroy)
|
||||
return;
|
||||
|
||||
if (vis)
|
||||
{
|
||||
elm_interface_atspi_accessible_added(obj);
|
||||
if (!_pd->on_destroy && _elm_widget_onscreen_is(obj))
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
|
||||
if (_elm_widget_onscreen_is(obj))
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_widget_efl_canvas_group_group_hide(Eo *obj, Elm_Widget_Smart_Data *_pd)
|
||||
{
|
||||
Eina_Iterator *it;
|
||||
Evas_Object *o;
|
||||
|
||||
it = evas_object_smart_iterator_new(obj);
|
||||
EINA_ITERATOR_FOREACH(it, o)
|
||||
else
|
||||
{
|
||||
if (evas_object_data_get(o, "_elm_leaveme")) continue;
|
||||
evas_object_hide(o);
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_FALSE);
|
||||
}
|
||||
eina_iterator_free(it);
|
||||
|
||||
if (_elm_config->atspi_mode && !_pd->on_destroy)
|
||||
elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_FALSE);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -848,11 +848,10 @@ abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible, Elm.Inter
|
|||
Efl.Object.dbg_info_get;
|
||||
Efl.Object.provider_find;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_calculate;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
|
|
|
@ -52,13 +52,12 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, Efl.Player, Efl.Image, Efl.I
|
|||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Group.group_add;
|
||||
Efl.Canvas.Group.group_del;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_resize;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.File.file.set;
|
||||
Efl.File.file.get;
|
||||
Efl.Player.play.set;
|
||||
|
|
|
@ -1946,23 +1946,24 @@ _efl_canvas_video_efl_canvas_group_group_resize(Evas_Object *obj, Efl_Canvas_Vid
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_video_efl_canvas_group_group_show(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd)
|
||||
_efl_canvas_video_efl_gfx_visible_set(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd, Eina_Bool vis)
|
||||
{
|
||||
int a;
|
||||
if (_evas_object_intercept_call(obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
evas_object_show(sd->obj);
|
||||
if (sd->crop.clipper) evas_object_show(sd->crop.clipper);
|
||||
efl_gfx_visible_set(efl_super(obj, MY_CLASS), vis);
|
||||
efl_gfx_visible_set(sd->obj, vis);
|
||||
efl_gfx_visible_set(sd->crop.clipper, vis);
|
||||
|
||||
evas_object_color_get(sd->bg, NULL, NULL, NULL, &a);
|
||||
if (a > 0) evas_object_show(sd->bg);
|
||||
}
|
||||
if (vis)
|
||||
{
|
||||
int a;
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_video_efl_canvas_group_group_hide(Evas_Object *obj EINA_UNUSED, Efl_Canvas_Video_Data *sd)
|
||||
{
|
||||
evas_object_hide(sd->obj);
|
||||
if (sd->crop.clipper) evas_object_hide(sd->crop.clipper);
|
||||
evas_object_hide(sd->bg);
|
||||
evas_object_color_get(sd->bg, NULL, NULL, NULL, &a);
|
||||
if (a > 0) efl_gfx_visible_set(sd->bg, EINA_TRUE);
|
||||
}
|
||||
else
|
||||
efl_gfx_visible_set(sd->bg, EINA_FALSE);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
|
|
@ -2505,8 +2505,7 @@ typedef enum _Evas_Object_Intercept_Cb_Type Evas_Object_Intercept_Cb_Type;
|
|||
|
||||
enum _Evas_Object_Intercept_Cb_Type
|
||||
{
|
||||
EVAS_OBJECT_INTERCEPT_CB_SHOW,
|
||||
EVAS_OBJECT_INTERCEPT_CB_HIDE,
|
||||
EVAS_OBJECT_INTERCEPT_CB_VISIBLE,
|
||||
EVAS_OBJECT_INTERCEPT_CB_MOVE,
|
||||
EVAS_OBJECT_INTERCEPT_CB_RESIZE,
|
||||
EVAS_OBJECT_INTERCEPT_CB_RAISE,
|
||||
|
|
|
@ -78,10 +78,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
|
|||
return: free(own(iterator<Efl.Gfx>), eina_iterator_free);
|
||||
legacy: evas_object_smart_iterator_new;
|
||||
}
|
||||
group_show {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
}
|
||||
group_move {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
|
@ -90,10 +86,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
|
|||
@in y: Evas.Coord;
|
||||
}
|
||||
}
|
||||
group_hide {
|
||||
[[No description supplied by the EAPI.]]
|
||||
legacy: null;
|
||||
}
|
||||
group_add {
|
||||
[[Instantiates a new smart object described by $s.
|
||||
|
||||
|
|
|
@ -4,10 +4,9 @@ abstract Efl.Canvas.Group.Clipped (Efl.Canvas.Group)
|
|||
data: Evas_Object_Smart_Clipped_Data;
|
||||
implements {
|
||||
Efl.Gfx.color.set;
|
||||
Efl.Gfx.visible.set;
|
||||
Efl.Canvas.Object.clip.set;
|
||||
Efl.Canvas.Object.no_render.set;
|
||||
Efl.Canvas.Group.group_hide;
|
||||
Efl.Canvas.Group.group_show;
|
||||
Efl.Canvas.Group.group_move;
|
||||
Efl.Canvas.Group.group_member_del;
|
||||
Efl.Canvas.Group.group_add;
|
||||
|
|
|
@ -101,15 +101,14 @@ _evas_object_intercept_call(Evas_Object *eo_obj, Evas_Object_Intercept_Cb_Type c
|
|||
|
||||
switch (cb_type)
|
||||
{
|
||||
case EVAS_OBJECT_INTERCEPT_CB_SHOW:
|
||||
if (obj->cur->visible) return 1;
|
||||
case EVAS_OBJECT_INTERCEPT_CB_VISIBLE:
|
||||
va_start(args, internal);
|
||||
i = !!va_arg(args, int);
|
||||
va_end(args);
|
||||
if (i == obj->cur->visible) return 1;
|
||||
if (!obj->interceptors) return 0;
|
||||
return evas_object_intercept_call_show(eo_obj, obj);
|
||||
|
||||
case EVAS_OBJECT_INTERCEPT_CB_HIDE:
|
||||
if (!obj->cur->visible) return 1;
|
||||
if (!obj->interceptors) return 0;
|
||||
return evas_object_intercept_call_hide(eo_obj, obj);
|
||||
if (i) return evas_object_intercept_call_show(eo_obj, obj);
|
||||
else return evas_object_intercept_call_hide(eo_obj, obj);
|
||||
|
||||
case EVAS_OBJECT_INTERCEPT_CB_MOVE:
|
||||
if (!obj->interceptors) return 0;
|
||||
|
|
|
@ -11,11 +11,6 @@ EVAS_MEMPOOL(_mp_sh);
|
|||
|
||||
#define MY_CLASS_NAME "Evas_Object"
|
||||
|
||||
static void
|
||||
_show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj);
|
||||
static void
|
||||
_hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj);
|
||||
|
||||
static Eina_Inlist *
|
||||
get_layer_objects(Evas_Layer *l)
|
||||
{
|
||||
|
@ -1313,23 +1308,12 @@ evas_object_visible_get(const Evas_Object *obj)
|
|||
return efl_gfx_visible_get((Evas_Object *)obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_efl_canvas_object_efl_gfx_visible_set(Eo *eo_obj,
|
||||
Evas_Object_Protected_Data *obj,
|
||||
Eina_Bool visible)
|
||||
{
|
||||
evas_object_async_block(obj);
|
||||
if (visible) _show(eo_obj, obj);
|
||||
else _hide(eo_obj, obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
|
||||
{
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_SHOW, 1)) return;
|
||||
if (obj->is_smart)
|
||||
if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->show)
|
||||
{
|
||||
efl_canvas_group_show(eo_obj);
|
||||
obj->smart.smart->smart_class->show(eo_obj);
|
||||
}
|
||||
EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
|
||||
{
|
||||
|
@ -1367,12 +1351,10 @@ _show(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
|
|||
static void
|
||||
_hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
|
||||
{
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_HIDE, 1)) return;
|
||||
if (obj->is_smart)
|
||||
if (obj->is_smart && obj->smart.smart && obj->smart.smart->smart_class->hide)
|
||||
{
|
||||
efl_canvas_group_hide(eo_obj);
|
||||
obj->smart.smart->smart_class->hide(eo_obj);
|
||||
}
|
||||
|
||||
EINA_COW_STATE_WRITE_BEGIN(obj, state_write, cur)
|
||||
{
|
||||
state_write->visible = 0;
|
||||
|
@ -1478,6 +1460,17 @@ _hide(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj)
|
|||
evas_object_inform_call_hide(eo_obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_object_efl_gfx_visible_set(Eo *eo_obj, Evas_Object_Protected_Data *obj,
|
||||
Eina_Bool vis)
|
||||
{
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 1, vis))
|
||||
return;
|
||||
|
||||
if (vis) _show(eo_obj, obj);
|
||||
else _hide(eo_obj, obj);
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_efl_canvas_object_efl_gfx_visible_get(Eo *eo_obj EINA_UNUSED,
|
||||
Evas_Object_Protected_Data *obj)
|
||||
|
|
|
@ -629,26 +629,6 @@ _efl_canvas_group_group_move(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Evas_Co
|
|||
if (s && s->smart_class->move) s->smart_class->move(eo_obj, x, y);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_group_show(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED)
|
||||
{
|
||||
// If this function is reached, so we do nothing except trying to call
|
||||
// the function of the legacy smart class.
|
||||
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
|
||||
Evas_Smart *s = obj->smart.smart;
|
||||
if (s && s->smart_class->show) s->smart_class->show(eo_obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_group_hide(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED)
|
||||
{
|
||||
// If this function is reached, so we do nothing except trying to call
|
||||
// the function of the legacy smart class.
|
||||
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
|
||||
Evas_Smart *s = obj->smart.smart;
|
||||
if (s && s->smart_class->hide) s->smart_class->hide(eo_obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_efl_canvas_object_no_render_set(Eo *eo_obj, Evas_Smart_Data *o EINA_UNUSED, Eina_Bool enable)
|
||||
{
|
||||
|
|
|
@ -120,30 +120,30 @@ _efl_canvas_group_clipped_efl_canvas_group_group_move(Eo *eo_obj, Evas_Object_Sm
|
|||
}
|
||||
|
||||
static void
|
||||
evas_object_smart_clipped_group_show(Evas_Object *eo_obj)
|
||||
evas_object_smart_clipped_smart_show(Evas_Object *eo_obj)
|
||||
{
|
||||
CSO_DATA_GET_OR_RETURN(eo_obj, cso);
|
||||
if (evas_object_clipees_has(cso->clipper))
|
||||
evas_object_show(cso->clipper); /* just show if clipper being used */
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_clipped_efl_canvas_group_group_show(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED)
|
||||
{
|
||||
evas_object_smart_clipped_group_show(eo_obj);
|
||||
}
|
||||
|
||||
static void
|
||||
evas_object_smart_clipped_group_hide(Evas_Object *eo_obj)
|
||||
evas_object_smart_clipped_smart_hide(Evas_Object *eo_obj)
|
||||
{
|
||||
CSO_DATA_GET_OR_RETURN(eo_obj, cso);
|
||||
evas_object_hide(cso->clipper);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_group_clipped_efl_canvas_group_group_hide(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED)
|
||||
_efl_canvas_group_clipped_efl_gfx_visible_set(Eo *eo_obj, Evas_Object_Smart_Clipped_Data *obj EINA_UNUSED, Eina_Bool vis)
|
||||
{
|
||||
evas_object_smart_clipped_group_hide(eo_obj);
|
||||
if (_evas_object_intercept_call(eo_obj, EVAS_OBJECT_INTERCEPT_CB_VISIBLE, 0, vis))
|
||||
return;
|
||||
|
||||
efl_gfx_visible_set(efl_super(eo_obj, MY_CLASS), vis);
|
||||
|
||||
if (vis) evas_object_smart_clipped_smart_show(eo_obj);
|
||||
else evas_object_smart_clipped_smart_hide(eo_obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
@ -244,8 +244,8 @@ evas_object_smart_clipped_smart_set(Evas_Smart_Class *sc)
|
|||
sc->add = evas_object_smart_clipped_smart_add;
|
||||
sc->del = evas_object_smart_clipped_smart_del;
|
||||
sc->move = evas_object_smart_clipped_smart_move;
|
||||
sc->show = evas_object_smart_clipped_group_show;
|
||||
sc->hide = evas_object_smart_clipped_group_hide;
|
||||
sc->show = evas_object_smart_clipped_smart_show;
|
||||
sc->hide = evas_object_smart_clipped_smart_hide;
|
||||
sc->color_set = evas_object_smart_clipped_smart_color_set;
|
||||
sc->clip_set = evas_object_smart_clipped_smart_clip_set;
|
||||
sc->clip_unset = evas_object_smart_clipped_smart_clip_unset;
|
||||
|
|
Loading…
Reference in New Issue