elm_panel/efl_ui_panel: disable scrolling when obj is disabled

panels were still scrollable while disabled.
this patch fixes it.
This commit is contained in:
Jaeun Choi 2019-04-08 18:35:57 +09:00
parent dc1e1a652c
commit 998e9a8f68
2 changed files with 60 additions and 0 deletions

View File

@ -1165,6 +1165,21 @@ _efl_ui_panel_efl_ui_widget_disabled_set(Eo *obj, Efl_Ui_Panel_Data *sd, Eina_Bo
{
if (disabled && sd->callback_added)
{
switch (sd->orient)
{
case ELM_PANEL_ORIENT_BOTTOM:
case ELM_PANEL_ORIENT_TOP:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_VERTICAL);
break;
case ELM_PANEL_ORIENT_RIGHT:
case ELM_PANEL_ORIENT_LEFT:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL);
break;
}
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_DOWN,
_on_mouse_down);
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE,
@ -1178,6 +1193,21 @@ _efl_ui_panel_efl_ui_widget_disabled_set(Eo *obj, Efl_Ui_Panel_Data *sd, Eina_Bo
}
else if (!disabled && !sd->callback_added)
{
switch (sd->orient)
{
case ELM_PANEL_ORIENT_BOTTOM:
case ELM_PANEL_ORIENT_TOP:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL);
break;
case ELM_PANEL_ORIENT_RIGHT:
case ELM_PANEL_ORIENT_LEFT:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_VERTICAL);
break;
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN,
_on_mouse_down, sd);
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,

View File

@ -1251,6 +1251,21 @@ _elm_panel_efl_ui_widget_disabled_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool dis
{
if (efl_ui_widget_disabled_get(obj) && sd->callback_added)
{
switch (sd->orient)
{
case ELM_PANEL_ORIENT_BOTTOM:
case ELM_PANEL_ORIENT_TOP:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_VERTICAL);
break;
case ELM_PANEL_ORIENT_RIGHT:
case ELM_PANEL_ORIENT_LEFT:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL);
break;
}
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_DOWN,
_on_mouse_down);
evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE,
@ -1264,6 +1279,21 @@ _elm_panel_efl_ui_widget_disabled_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool dis
}
else if (!efl_ui_widget_disabled_get(obj) && !sd->callback_added)
{
switch (sd->orient)
{
case ELM_PANEL_ORIENT_BOTTOM:
case ELM_PANEL_ORIENT_TOP:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_HORIZONTAL);
break;
case ELM_PANEL_ORIENT_RIGHT:
case ELM_PANEL_ORIENT_LEFT:
elm_interface_scrollable_movement_block_set
(obj, EFL_UI_SCROLL_BLOCK_VERTICAL);
break;
}
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN,
_on_mouse_down, sd);
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,