edje: selectively inhibit content,changed events when changing swallowed parts
ref T8321 Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10508
This commit is contained in:
parent
9878a0cad4
commit
2477dfaf59
|
@ -1803,6 +1803,7 @@ struct _Edje
|
||||||
Eina_Bool canvas_animator : 1;
|
Eina_Bool canvas_animator : 1;
|
||||||
Eina_Bool has_state_clip : 1;
|
Eina_Bool has_state_clip : 1;
|
||||||
Eina_Bool has_recalc_event_cb : 1;
|
Eina_Bool has_recalc_event_cb : 1;
|
||||||
|
Eina_Bool has_content_change_event_cb : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Edje_Calc_Params_Map
|
struct _Edje_Calc_Params_Map
|
||||||
|
|
|
@ -608,6 +608,10 @@ _efl_canvas_layout_efl_object_event_callback_priority_add(Eo *obj, Edje *pd, con
|
||||||
{
|
{
|
||||||
pd->has_recalc_event_cb = EINA_TRUE;
|
pd->has_recalc_event_cb = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
else if (desc == EFL_CONTENT_EVENT_CONTENT_CHANGED)
|
||||||
|
{
|
||||||
|
pd->has_content_change_event_cb = EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, priority, func, user_data);
|
return efl_event_callback_priority_add(efl_super(obj, MY_CLASS), desc, priority, func, user_data);
|
||||||
}
|
}
|
||||||
|
@ -621,6 +625,10 @@ _efl_canvas_layout_efl_object_event_callback_array_priority_add(Eo *obj, Edje *p
|
||||||
{
|
{
|
||||||
pd->has_recalc_event_cb = EINA_TRUE;
|
pd->has_recalc_event_cb = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
else if (array[i].desc == EFL_CONTENT_EVENT_CONTENT_CHANGED)
|
||||||
|
{
|
||||||
|
pd->has_content_change_event_cb = EINA_TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), array, priority, user_data);
|
return efl_event_callback_array_priority_add(efl_super(obj, MY_CLASS), array, priority, user_data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3088,7 +3088,8 @@ _edje_efl_content_content_set(Edje *ed, const char *part, Efl_Gfx_Entity *obj_sw
|
||||||
eud->u.swallow.child = obj_swallow;
|
eud->u.swallow.child = obj_swallow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
efl_event_callback_call(ed->obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, obj_swallow);
|
if (ed->has_content_change_event_cb)
|
||||||
|
efl_event_callback_call(ed->obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, obj_swallow);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue