elm_panel: fix mirrored_set work correctly

Summary:
When elm_panel isn't scrollable, It can't pass `if (!sid->edje_obj) return;` in
_elm_interface_scrollable_efl_ui_base_mirrored_set. so elm_panel's mirrored_set
didn't work. we neet to consider non-scrollable panel.

Test Plan:
1. elementary_test
2. Open 'Panel' and 'Panel Scrollable'
3. Turn on UI-Mirroring on Elementary Tests window.
4. Check that mirror mode works correctly.

Reviewers: Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6944
This commit is contained in:
Yeongjong Lee 2018-08-30 14:02:34 +09:00 committed by Hermet Park
parent e06a9b6acf
commit 086783f31d
2 changed files with 10 additions and 0 deletions

View File

@ -1440,6 +1440,15 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable)
}
}
EOLIAN static void
_elm_panel_efl_ui_base_mirrored_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool mirrored)
{
if (sd->scrollable)
efl_ui_mirrored_set(efl_cast(obj, ELM_INTERFACE_SCROLLABLE_MIXIN), mirrored);
else
efl_ui_mirrored_set(efl_cast(obj, EFL_UI_WIDGET_CLASS), mirrored);
}
static void
_elm_panel_class_constructor(Efl_Class *klass)
{

View File

@ -85,6 +85,7 @@ class Elm.Panel (Efl.Ui.Layout.Object, Efl.Ui.Focus.Layer, Elm.Interface_Scrolla
Efl.Ui.Widget.widget_event;
Efl.Ui.Widget.interest_region { get; }
Efl.Access.Widget.Action.elm_actions { get; }
Efl.Ui.Base.mirrored { set; }
Efl.Part.part_get;
}
events {