win: Drop calls to lower when using the EO API

Note: The distinction is made on how the window was created, not on
which API is used (evas_object_lower or efl_gfx_stack_lower or
elm_win_lower).

Ref T5322
This commit is contained in:
Jean-Philippe Andre 2017-08-31 16:58:02 +09:00
parent f88f0798ba
commit 4d6bb96e8d
2 changed files with 14 additions and 0 deletions

View File

@ -824,6 +824,7 @@ _elm_win_obj_intercept_raise(void *data, Evas_Object *obj EINA_UNUSED)
static void
_elm_win_obj_intercept_lower(void *data, Evas_Object *obj EINA_UNUSED)
{
// Note: This is probably not necessary anymore (Win ignores lower)
ELM_WIN_DATA_GET(data, sd);
TRAP(sd, lower);
}
@ -5556,6 +5557,18 @@ elm_win_raise(Eo *obj)
efl_gfx_stack_raise(obj);
}
EOLIAN static void
_efl_ui_win_efl_gfx_stack_lower(Eo *obj, Efl_Ui_Win_Data *pd EINA_UNUSED)
{
// Do nothing: in X we could request to stack lower but that has been abused
// and transformed into a kind of "iconify". As a consequence, lower is
// not allowed in EO land.
if (!elm_widget_is_legacy(obj)) return;
// Legacy support...
elm_win_lower(obj);
}
EOLIAN static void
_efl_ui_win_center(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Bool h, Eina_Bool v)
{

View File

@ -842,6 +842,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window,
Efl.Gfx.size { set; }
Efl.Gfx.Stack.raise; [[Places the window at the top of the stack, so
that it's not covered by any other window.]]
Efl.Gfx.Stack.lower; [[This action is ignored by the Window.]]
Elm.Widget.focus_direction;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;