forked from enlightenment/efl
efl_ui_item: remove internal pointer to select_mode
there was this internal pointer to select_mode for getting the selection mode of the container. However, we now have API for checking this, so there is exactly 0 reason for doing this like this. Additionally, with the old way of doing, bildings like C# or lua are just lost, they cannot use this class at all in there implementations, as they cannot access the privat data. ref T905 Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com> Differential Revision: https://phab.enlightenment.org/D9263
This commit is contained in:
parent
d30fc5f5d3
commit
d512ff68ae
|
@ -746,10 +746,6 @@ _grid_item_process(Eo *obj, Efl_Ui_Grid_Data *pd, EINA_UNUSED Efl_Ui_Grid_Item *
|
|||
if (!efl_ui_widget_sub_object_add(obj, it))
|
||||
return EINA_FALSE;
|
||||
|
||||
//FIXME: This is tricky workaround for set select mode and parent value.
|
||||
EFL_UI_GRID_ITEM_DATA_GET_OR_RETURN(it, gd, EINA_FALSE);
|
||||
EFL_UI_ITEM_DATA_GET_OR_RETURN(it, id, EINA_FALSE);
|
||||
id->select_mode = &(pd->select_mode);
|
||||
efl_ui_item_container_set(it, obj);
|
||||
efl_canvas_group_member_add(pd->pan, it);
|
||||
efl_ui_mirrored_set(it, efl_ui_mirrored_get(obj));
|
||||
|
@ -768,9 +764,6 @@ static void
|
|||
_grid_item_unpack_internal(Eo *obj, Efl_Ui_Grid_Data *pd, Efl_Ui_Grid_Item *it)
|
||||
{
|
||||
EFL_UI_GRID_ITEM_CHECK_OR_RETURN(it);
|
||||
EFL_UI_GRID_ITEM_DATA_GET_OR_RETURN(it, gd);
|
||||
EFL_UI_ITEM_DATA_GET_OR_RETURN(it, id);
|
||||
id->select_mode = NULL;
|
||||
efl_ui_item_container_set(it, NULL);
|
||||
|
||||
pd->items = eina_list_remove(pd->items, it);
|
||||
|
|
|
@ -143,10 +143,12 @@ _efl_ui_item_part_content_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSE
|
|||
static void
|
||||
_item_select(Eo *obj, Efl_Ui_Item_Data *pd)
|
||||
{
|
||||
if (pd->selected &&
|
||||
(*(pd->select_mode) != EFL_UI_SELECT_MODE_SINGLE_ALWAYS))
|
||||
Efl_Ui_Select_Mode m;
|
||||
if (!pd->parent)
|
||||
return;
|
||||
m = efl_ui_select_mode_get(pd->parent);
|
||||
if (m == EFL_UI_SELECT_MODE_NONE || (pd->selected && m != EFL_UI_SELECT_MODE_SINGLE_ALWAYS))
|
||||
return;
|
||||
if (*(pd->select_mode) == EFL_UI_SELECT_MODE_NONE) return;
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
|
||||
|
@ -206,6 +208,10 @@ _item_mouse_up(void *data,
|
|||
{
|
||||
Evas_Event_Mouse_Up *ev = event_info;
|
||||
Eo *item = data;
|
||||
Efl_Ui_Select_Mode m;
|
||||
|
||||
if (!efl_ui_item_container_get(item))
|
||||
return;
|
||||
EFL_UI_ITEM_DATA_GET_OR_RETURN(item, pd);
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(item, wd);
|
||||
if (wd->disabled) return;
|
||||
|
@ -226,9 +232,10 @@ _item_mouse_up(void *data,
|
|||
edje_object_signal_emit(wd->resize_obj, "efl,state,unpressed", "efl");
|
||||
efl_event_callback_call(item, EFL_UI_EVENT_UNPRESSED, NULL);
|
||||
|
||||
if ((*(pd->select_mode) != EFL_UI_SELECT_MODE_SINGLE_ALWAYS) && (pd->selected))
|
||||
m = efl_ui_select_mode_get(efl_ui_item_container_get(item));
|
||||
if ((m != EFL_UI_SELECT_MODE_SINGLE_ALWAYS) && (pd->selected))
|
||||
_item_unselect(item, pd);
|
||||
else if (*(pd->select_mode) != EFL_UI_SELECT_MODE_NONE)
|
||||
else if (m != EFL_UI_SELECT_MODE_NONE)
|
||||
_item_select(item, pd);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ typedef struct _Efl_Ui_Item_Data
|
|||
Eo *obj; /* Self-Object */
|
||||
Eo *parent; /* Parent Widget */
|
||||
|
||||
Efl_Ui_Select_Mode *select_mode; /* Select Mdoe of parent widget */
|
||||
Ecore_Timer *longpress_timer; /* Timer for longpress handle */
|
||||
|
||||
// Boolean Data
|
||||
|
|
|
@ -671,10 +671,6 @@ _list_item_process(Eo *obj, Efl_Ui_List_Data *pd, EINA_UNUSED Efl_Ui_List_Item *
|
|||
{
|
||||
EFL_UI_LIST_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
|
||||
|
||||
//FIXME: This is tricky workaround for set select mode and parent value.
|
||||
EFL_UI_LIST_ITEM_DATA_GET_OR_RETURN(it, ld, EINA_FALSE);
|
||||
EFL_UI_ITEM_DATA_GET_OR_RETURN(it, id, EINA_FALSE);
|
||||
id->select_mode = &(pd->select_mode);
|
||||
efl_ui_item_container_set(it, obj);
|
||||
efl_ui_mirrored_set(it, efl_ui_mirrored_get(obj));
|
||||
|
||||
|
@ -691,9 +687,6 @@ static void
|
|||
_list_item_clear(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED, EINA_UNUSED Efl_Ui_List_Item *it)
|
||||
{
|
||||
EFL_UI_LIST_ITEM_CHECK_OR_RETURN(it);
|
||||
EFL_UI_LIST_ITEM_DATA_GET_OR_RETURN(it, ld);
|
||||
EFL_UI_ITEM_DATA_GET_OR_RETURN(it, id);
|
||||
id->select_mode = NULL;
|
||||
efl_ui_item_container_set(it, NULL);
|
||||
|
||||
efl_event_callback_del(it, EFL_UI_EVENT_PRESSED, _list_item_pressed, obj);
|
||||
|
|
Loading…
Reference in New Issue