efl_ui_multi_selectable: remove SINGLE_ALWAYS
this should get a better solution later on. There is also no real usage for that. ref T7922 Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com> Differential Revision: https://phab.enlightenment.org/D9985
This commit is contained in:
parent
81441638db
commit
ff0aabd345
|
@ -305,10 +305,6 @@ void create_item_container_ui(const Efl_Class *collection_class, const Efl_Class
|
||||||
efl_ui_radio_state_value_set(efl_added, EFL_UI_SELECT_MODE_SINGLE));
|
efl_ui_radio_state_value_set(efl_added, EFL_UI_SELECT_MODE_SINGLE));
|
||||||
efl_text_set(o, "Singleselect");
|
efl_text_set(o, "Singleselect");
|
||||||
efl_pack_end(bx, o);
|
efl_pack_end(bx, o);
|
||||||
o = efl_add(EFL_UI_RADIO_CLASS, bx,
|
|
||||||
efl_ui_radio_state_value_set(efl_added, EFL_UI_SELECT_MODE_SINGLE_ALWAYS));
|
|
||||||
efl_text_set(o, "Singleselect Always");
|
|
||||||
efl_pack_end(bx, o);
|
|
||||||
o = efl_add(EFL_UI_RADIO_CLASS, bx,
|
o = efl_add(EFL_UI_RADIO_CLASS, bx,
|
||||||
efl_ui_radio_state_value_set(efl_added, EFL_UI_SELECT_MODE_MULTI));
|
efl_ui_radio_state_value_set(efl_added, EFL_UI_SELECT_MODE_MULTI));
|
||||||
efl_text_set(o, "Multiselect");
|
efl_text_set(o, "Multiselect");
|
||||||
|
|
|
@ -240,10 +240,6 @@ elm_main(int argc EINA_UNUSED, char **argv)
|
||||||
efl_ui_radio_state_value_set(radio, EFL_UI_SELECT_MODE_SINGLE);
|
efl_ui_radio_state_value_set(radio, EFL_UI_SELECT_MODE_SINGLE);
|
||||||
efl_pack_end(bbox, radio);
|
efl_pack_end(bbox, radio);
|
||||||
radio = efl_add(EFL_UI_RADIO_CLASS, wbox);
|
radio = efl_add(EFL_UI_RADIO_CLASS, wbox);
|
||||||
efl_text_set(radio, "SINGLE_ALWAYS");
|
|
||||||
efl_ui_radio_state_value_set(radio, EFL_UI_SELECT_MODE_SINGLE_ALWAYS);
|
|
||||||
efl_pack_end(bbox, radio);
|
|
||||||
radio = efl_add(EFL_UI_RADIO_CLASS, wbox);
|
|
||||||
efl_text_set(radio, "MULTI");
|
efl_text_set(radio, "MULTI");
|
||||||
efl_ui_radio_state_value_set(radio, EFL_UI_SELECT_MODE_MULTI);
|
efl_ui_radio_state_value_set(radio, EFL_UI_SELECT_MODE_MULTI);
|
||||||
efl_pack_end(bbox, radio);
|
efl_pack_end(bbox, radio);
|
||||||
|
|
|
@ -486,7 +486,7 @@ EOLIAN static void
|
||||||
_efl_ui_collection_efl_ui_multi_selectable_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd, Efl_Ui_Select_Mode mode)
|
_efl_ui_collection_efl_ui_multi_selectable_select_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Collection_Data *pd, Efl_Ui_Select_Mode mode)
|
||||||
{
|
{
|
||||||
pd->mode = mode;
|
pd->mode = mode;
|
||||||
if ((mode == EFL_UI_SELECT_MODE_SINGLE_ALWAYS || mode == EFL_UI_SELECT_MODE_SINGLE) &&
|
if ((mode == EFL_UI_SELECT_MODE_SINGLE) &&
|
||||||
eina_list_count(pd->selected) > 0)
|
eina_list_count(pd->selected) > 0)
|
||||||
{
|
{
|
||||||
Efl_Ui_Item *last = eina_list_last_data_get(pd->selected);
|
Efl_Ui_Item *last = eina_list_last_data_get(pd->selected);
|
||||||
|
@ -569,7 +569,7 @@ _selection_changed(void *data, const Efl_Event *ev)
|
||||||
|
|
||||||
if (selection)
|
if (selection)
|
||||||
{
|
{
|
||||||
if (pd->mode == EFL_UI_SELECT_MODE_SINGLE_ALWAYS || pd->mode == EFL_UI_SELECT_MODE_SINGLE)
|
if (pd->mode == EFL_UI_SELECT_MODE_SINGLE)
|
||||||
{
|
{
|
||||||
_single_selection_behaviour(obj, pd, ev->object);
|
_single_selection_behaviour(obj, pd, ev->object);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ _item_select(Eo *obj, Efl_Ui_Item_Data *pd)
|
||||||
if (pd->container)
|
if (pd->container)
|
||||||
{
|
{
|
||||||
m = _fetch_state(pd->container);
|
m = _fetch_state(pd->container);
|
||||||
if (m == EFL_UI_SELECT_MODE_NONE || (pd->selected && m != EFL_UI_SELECT_MODE_SINGLE_ALWAYS))
|
if (m == EFL_UI_SELECT_MODE_NONE)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -95,7 +95,7 @@ _item_unpressed(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||||
efl_layout_signal_emit(obj, "efl,state,unpressed", "efl");
|
efl_layout_signal_emit(obj, "efl,state,unpressed", "efl");
|
||||||
m = _fetch_state(pd->container);
|
m = _fetch_state(pd->container);
|
||||||
|
|
||||||
if ((m != EFL_UI_SELECT_MODE_SINGLE_ALWAYS) && (pd->selected))
|
if (pd->selected)
|
||||||
efl_ui_selectable_selected_set(obj, EINA_FALSE);
|
efl_ui_selectable_selected_set(obj, EINA_FALSE);
|
||||||
else if (m != EFL_UI_SELECT_MODE_NONE)
|
else if (m != EFL_UI_SELECT_MODE_NONE)
|
||||||
efl_ui_selectable_selected_set(obj, EINA_TRUE);
|
efl_ui_selectable_selected_set(obj, EINA_TRUE);
|
||||||
|
|
|
@ -2,8 +2,6 @@ enum @beta Efl.Ui.Select_Mode {
|
||||||
[[Type of multi selectable object.]]
|
[[Type of multi selectable object.]]
|
||||||
single, [[Only single child is selected. If a child is selected,
|
single, [[Only single child is selected. If a child is selected,
|
||||||
previous selected child will be unselected.]]
|
previous selected child will be unselected.]]
|
||||||
single_always, [[Same as single select except, this will be selected
|
|
||||||
in every select call even if child is already been selected.]]
|
|
||||||
multi, [[Allow multiple selection of children.]]
|
multi, [[Allow multiple selection of children.]]
|
||||||
none [[No child can be selected at all.]]
|
none [[No child can be selected at all.]]
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,38 +135,6 @@ EFL_START_TEST(test_single_select)
|
||||||
}
|
}
|
||||||
EFL_END_TEST
|
EFL_END_TEST
|
||||||
|
|
||||||
EFL_START_TEST(test_single_select_always)
|
|
||||||
{
|
|
||||||
int c = 0;
|
|
||||||
Eina_Array *arr_selected;
|
|
||||||
|
|
||||||
efl_ui_select_mode_set(widget, EFL_UI_SELECT_MODE_SINGLE_ALWAYS);
|
|
||||||
efl_event_callback_add(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
|
|
||||||
efl_event_callback_add(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
|
|
||||||
|
|
||||||
efl_ui_selectable_selected_set(efl_pack_content_get(widget, 0), EINA_TRUE);
|
|
||||||
if (c == 0) efl_loop_begin(efl_main_loop_get());
|
|
||||||
ck_assert_int_eq(c, 1);
|
|
||||||
c = 0;
|
|
||||||
efl_ui_selectable_selected_set(efl_pack_content_get(widget, 2), EINA_TRUE);
|
|
||||||
if (c == 0) efl_loop_begin(efl_main_loop_get());
|
|
||||||
ck_assert_int_eq(c, 1);
|
|
||||||
c = 0;
|
|
||||||
efl_ui_selectable_selected_set(efl_pack_content_get(widget, 2), EINA_TRUE);
|
|
||||||
if (c == 0) efl_loop_begin(efl_main_loop_get());
|
|
||||||
ck_assert_int_eq(c, 1);
|
|
||||||
c = 0;
|
|
||||||
ck_assert_int_eq(efl_ui_selectable_selected_get(efl_pack_content_get(widget, 0)), EINA_FALSE);
|
|
||||||
ck_assert_int_eq(efl_ui_selectable_selected_get(efl_pack_content_get(widget, 2)), EINA_TRUE);
|
|
||||||
ck_assert_ptr_eq(efl_ui_single_selectable_last_selected_get(widget), efl_pack_content_get(widget, 2));
|
|
||||||
_iterator_to_array(&arr_selected, efl_ui_selected_items_get(widget));
|
|
||||||
ck_assert_int_eq(eina_array_count(arr_selected), 1);
|
|
||||||
ck_assert_ptr_eq(eina_array_data_get(arr_selected, 0), efl_pack_content_get(widget, 2));
|
|
||||||
efl_event_callback_del(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, (void*) event_callback_single_call_int_data, &c);
|
|
||||||
efl_event_callback_del(widget, EFL_UI_SINGLE_SELECTABLE_EVENT_SELECTION_CHANGED, event_callback_that_quits_the_main_loop_when_called, NULL);
|
|
||||||
}
|
|
||||||
EFL_END_TEST
|
|
||||||
|
|
||||||
EFL_START_TEST(test_none_select)
|
EFL_START_TEST(test_none_select)
|
||||||
{
|
{
|
||||||
Efl_Ui_Item *selected = NULL;
|
Efl_Ui_Item *selected = NULL;
|
||||||
|
@ -290,7 +258,6 @@ efl_ui_multi_selectable_behavior_test(TCase *tc)
|
||||||
tcase_add_test(tc, test_multi_select_removal);
|
tcase_add_test(tc, test_multi_select_removal);
|
||||||
tcase_add_test(tc, test_single_select);
|
tcase_add_test(tc, test_single_select);
|
||||||
tcase_add_test(tc, test_none_select);
|
tcase_add_test(tc, test_none_select);
|
||||||
tcase_add_test(tc, test_single_select_always);
|
|
||||||
tcase_add_test(tc, select_all_api);
|
tcase_add_test(tc, select_all_api);
|
||||||
tcase_add_test(tc, unselect_all_api);
|
tcase_add_test(tc, unselect_all_api);
|
||||||
tcase_add_test(tc, unselect_range);
|
tcase_add_test(tc, unselect_range);
|
||||||
|
|
Loading…
Reference in New Issue