efl_ui_check: migrate from own property to Efl.Ui.Selectable

this is the basic work for getting radio group as a single_selection
interface, which can be a part of mutli_selection. Which will come both
later on.

ref T8057

Differential Revision: https://phab.enlightenment.org/D9504
This commit is contained in:
Marcel Hollerbach 2019-08-05 19:42:02 +02:00
parent c63b2d136e
commit 9baa96c352
19 changed files with 119 additions and 131 deletions

View File

@ -389,7 +389,7 @@ _cb_check_changed_scale_type(void *data, const Efl_Event *ev)
Evas_Object *o_bg = data;
int r, g, b, a;
if (efl_ui_check_selected_get(ev->object))
if (efl_ui_selectable_selected_get(ev->object))
efl_gfx_color_set(o_bg, 255, 128, 128, 255);
else
efl_gfx_color_set(o_bg, 255, 255, 255, 255);
@ -440,35 +440,35 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
efl_ui_radio_state_value_set(rd, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
efl_text_set(rd, "Fill");
efl_gfx_hint_weight_set(rd, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_pack(hbox, rd);
rd = efl_add(EFL_UI_RADIO_CLASS, hbox);
efl_ui_radio_state_value_set(rd, EFL_GFX_IMAGE_SCALE_TYPE_FIT_INSIDE);
efl_text_set(rd, "Fit Inside");
efl_gfx_hint_weight_set(rd, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_pack(hbox, rd);
rd = efl_add(EFL_UI_RADIO_CLASS, hbox);
efl_ui_radio_state_value_set(rd, EFL_GFX_IMAGE_SCALE_TYPE_FIT_OUTSIDE);
efl_text_set(rd, "Fit Outside");
efl_gfx_hint_weight_set(rd, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_pack(hbox, rd);
rd = efl_add(EFL_UI_RADIO_CLASS, hbox);
efl_ui_radio_state_value_set(rd, EFL_GFX_IMAGE_SCALE_TYPE_NONE);
efl_text_set(rd, "None");
efl_gfx_hint_weight_set(rd, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_pack(hbox, rd);
rd = efl_add(EFL_UI_RADIO_CLASS, hbox);
efl_ui_radio_state_value_set(rd, EFL_GFX_IMAGE_SCALE_TYPE_TILE);
efl_text_set(rd, "Tile");
efl_gfx_hint_weight_set(rd, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED, _cb_radio_changed_scale_type, o_bg);
efl_pack(hbox, rd);
efl_ui_radio_group_selected_value_set(hbox, EFL_GFX_IMAGE_SCALE_TYPE_FILL);
@ -476,7 +476,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e
c = efl_add(EFL_UI_CHECK_CLASS, box);
efl_text_set(c, "Bg Color");
efl_gfx_hint_weight_set(c, EFL_GFX_HINT_EXPAND, 0.0);
efl_event_callback_add(c, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _cb_check_changed_scale_type, o_bg);
efl_event_callback_add(c, EFL_UI_EVENT_SELECTED_CHANGED, _cb_check_changed_scale_type, o_bg);
efl_pack(box, c);
efl_gfx_entity_size_set(win, EINA_SIZE2D(300, 200));

View File

@ -477,8 +477,8 @@ _reload_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *im = efl_key_data_get(win, "im");
Eo *chk1 = efl_key_data_get(win, "chk1");
Eo *chk2 = efl_key_data_get(win, "chk2");
Eina_Bool async = efl_ui_check_selected_get(chk1);
Eina_Bool preload = efl_ui_check_selected_get(chk2);
Eina_Bool async = efl_ui_selectable_selected_get(chk1);
Eina_Bool preload = efl_ui_selectable_selected_get(chk2);
Eina_Bool logo = EINA_FALSE;
const char *file = NULL;
@ -496,8 +496,8 @@ _switch_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *im = efl_key_data_get(win, "im");
Eo *chk1 = efl_key_data_get(win, "chk1");
Eo *chk2 = efl_key_data_get(win, "chk2");
Eina_Bool async = efl_ui_check_selected_get(chk1);
Eina_Bool preload = efl_ui_check_selected_get(chk2);
Eina_Bool async = efl_ui_selectable_selected_get(chk1);
Eina_Bool preload = efl_ui_selectable_selected_get(chk2);
char buf[PATH_MAX] = {0};
Eina_Bool logo = EINA_FALSE;
const char *file = NULL;

View File

@ -7,7 +7,7 @@
static void
_selection_changed_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
if (efl_ui_check_selected_get(ev->object))
if (efl_ui_selectable_selected_get(ev->object))
efl_ui_layout_orientation_set(data, EFL_UI_LAYOUT_ORIENTATION_VERTICAL);
else
efl_ui_layout_orientation_set(data, EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL);
@ -73,8 +73,8 @@ _selection_changed_match_content_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Match_Content_Ctx *c = data;
Eina_Bool v,h;
v = efl_ui_check_selected_get(c->v);
h = efl_ui_check_selected_get(c->h);
v = efl_ui_selectable_selected_get(c->v);
h = efl_ui_selectable_selected_get(c->h);
efl_ui_scrollable_match_content_set(c->c, v, h);
}
@ -213,15 +213,15 @@ void create_item_container_ui(Efl_Ui_Position_Manager_Entity *manager, const Efl
efl_gfx_hint_weight_set(efl_added, 0.0, 0.0),
efl_gfx_hint_align_set(efl_added, 0, 0.5));
efl_text_set(o, "Vertical");
efl_event_callback_add(o, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _selection_changed_cb, item_container);
efl_ui_check_selected_set(o, EINA_TRUE);
efl_event_callback_add(o, EFL_UI_EVENT_SELECTED_CHANGED, _selection_changed_cb, item_container);
efl_ui_selectable_selected_set(o, EINA_TRUE);
efl_pack_table(tbl, o, 0, 5, 1, 1);
o = efl_add(EFL_UI_CHECK_CLASS, tbl,
efl_gfx_hint_weight_set(efl_added, 0.0, 0.0),
efl_gfx_hint_align_set(efl_added, 0, 0.5));
efl_text_set(o, "Match Vertical");
efl_event_callback_add(o, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _selection_changed_match_content_cb, ctx);
efl_event_callback_add(o, EFL_UI_EVENT_SELECTED_CHANGED, _selection_changed_match_content_cb, ctx);
efl_pack_table(tbl, o, 0, 6, 1, 1);
ctx->v = o;
@ -229,7 +229,7 @@ void create_item_container_ui(Efl_Ui_Position_Manager_Entity *manager, const Efl
efl_gfx_hint_weight_set(efl_added, 0.0, 0.0),
efl_gfx_hint_align_set(efl_added, 0, 0.5));
efl_text_set(o, "Match Horizontal");
efl_event_callback_add(o, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _selection_changed_match_content_cb, ctx);
efl_event_callback_add(o, EFL_UI_EVENT_SELECTED_CHANGED, _selection_changed_match_content_cb, ctx);
efl_pack_table(tbl, o, 0, 7, 1, 1);
efl_gfx_entity_size_set(win, EINA_SIZE2D(260, 200));
ctx->h = o;

View File

@ -375,7 +375,7 @@ static void page_size_cb(void *data,
size_params->pager = params->pager;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, width_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, width_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);
@ -416,7 +416,7 @@ static void page_size_cb(void *data,
size_params->pager = params->pager;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, height_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, height_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);

View File

@ -339,7 +339,7 @@ static void prev_block_check_cb(void *data, const Efl_Event *ev)
Eo *pager = data;
Eina_Bool prev, next;
prev = efl_ui_check_selected_get(ev->object);
prev = efl_ui_selectable_selected_get(ev->object);
efl_ui_pager_scroll_block_get(pager, NULL, &next);
efl_ui_pager_scroll_block_set(pager, prev, next);
@ -350,7 +350,7 @@ static void next_block_check_cb(void *data, const Efl_Event *ev)
Eo *pager = data;
Eina_Bool prev, next;
next = efl_ui_check_selected_get(ev->object);
next = efl_ui_selectable_selected_get(ev->object);
efl_ui_pager_scroll_block_get(pager, &prev, NULL);
efl_ui_pager_scroll_block_set(pager, prev, next);
@ -429,7 +429,7 @@ static void page_size_cb(void *data,
size_params->pager = params->pager;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, width_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, width_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);
@ -470,7 +470,7 @@ static void page_size_cb(void *data,
size_params->pager = params->pager;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, height_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, height_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);
@ -796,16 +796,16 @@ static void scroll_block_cb(void *data,
c = efl_add(EFL_UI_CHECK_CLASS, box);
efl_ui_widget_style_set(c, "toggle");
efl_text_set(c, "Prev Block");
efl_ui_check_selected_set(c, prev);
efl_event_callback_add(c, EFL_UI_CHECK_EVENT_SELECTED_CHANGED,
efl_ui_selectable_selected_set(c, prev);
efl_event_callback_add(c, EFL_UI_EVENT_SELECTED_CHANGED,
prev_block_check_cb, pager);
efl_pack_end(box, c);
c = efl_add(EFL_UI_CHECK_CLASS, box);
efl_ui_widget_style_set(c, "toggle");
efl_text_set(c, "Next Block");
efl_ui_check_selected_set(c, next);
efl_event_callback_add(c, EFL_UI_CHECK_EVENT_SELECTED_CHANGED,
efl_ui_selectable_selected_set(c, next);
efl_event_callback_add(c, EFL_UI_EVENT_SELECTED_CHANGED,
next_block_check_cb, pager);
efl_pack_end(box, c);
}
@ -834,7 +834,7 @@ static void loop_cb(void *data EINA_UNUSED,
efl_ui_radio_state_value_set(rd, EFL_UI_PAGER_LOOP_DISABLED);
efl_text_set(rd, "Disabled");
efl_gfx_hint_weight_set(rd, 1, 0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED,
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED,
loop_radio_cb, pager);
efl_pack(box, rd);
@ -842,7 +842,7 @@ static void loop_cb(void *data EINA_UNUSED,
efl_ui_radio_state_value_set(rd, EFL_UI_PAGER_LOOP_ENABLED);
efl_text_set(rd, "Enabled");
efl_gfx_hint_weight_set(rd, 1, 0);
efl_event_callback_add(rd, EFL_UI_CHECK_EVENT_SELECTED_CHANGED,
efl_event_callback_add(rd, EFL_UI_EVENT_SELECTED_CHANGED,
loop_radio_cb, pager);
efl_pack(box, rd);

View File

@ -67,7 +67,7 @@ test_ui_panel(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
static void
_check_changed(void *data EINA_UNUSED, const Efl_Event *ev)
{
elm_config_scroll_thumbscroll_enabled_set(efl_ui_check_selected_get(ev->object));
elm_config_scroll_thumbscroll_enabled_set(efl_ui_selectable_selected_get(ev->object));
}
static void
@ -76,7 +76,7 @@ _panel_toggled(void *data, const Efl_Event *ev)
Evas_Object *list;
int i;
if (!efl_ui_check_selected_get(data)) return;
if (!efl_ui_selectable_selected_get(data)) return;
list = efl_content_get(ev->object);
evas_object_del(list);
@ -112,9 +112,9 @@ test_ui_panel2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
efl_content_set(win, efl_added));
check = efl_add(EFL_UI_CHECK_CLASS, box);
efl_ui_check_selected_set(check, elm_config_scroll_thumbscroll_enabled_get());
efl_ui_selectable_selected_set(check, elm_config_scroll_thumbscroll_enabled_get());
efl_text_set(check, "Enable thumb scroll (temporarily");
efl_event_callback_add(check, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _check_changed, NULL);
efl_event_callback_add(check, EFL_UI_EVENT_SELECTED_CHANGED, _check_changed, NULL);
efl_gfx_hint_weight_set(check, EVAS_HINT_EXPAND, 0);
efl_pack(box, check);

View File

@ -137,7 +137,7 @@ _toggle_progress_label(void *data, const Efl_Event *ev)
{
Efl_Ui_Check *check = ev->object;
Efl_Ui_Progressbar *pb3 = data;
Eina_Bool state = efl_ui_check_selected_get(check);
Eina_Bool state = efl_ui_selectable_selected_get(check);
efl_ui_progressbar_show_progress_label_set(pb3, state);
}
@ -195,7 +195,7 @@ test_ui_progressbar(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, void *event_inf
);
pd->check = efl_add(EFL_UI_CHECK_CLASS, bx,
efl_pack(bx, efl_added),
efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_SELECTED_CHANGED,
efl_event_callback_add(efl_added, EFL_UI_EVENT_SELECTED_CHANGED,
_toggle_progress_label, pd->pb3),
efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(250, 20))
);

View File

@ -20,7 +20,7 @@ const char *countries[] =
static void
_check_button_selection_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
{
if (efl_ui_check_selected_get(ev->object))
if (efl_ui_selectable_selected_get(ev->object))
printf("Object %p is now selected\n", ev->object);
else
printf("Object %p is now unselected\n", ev->object);
@ -36,7 +36,7 @@ create_radios(Efl_Ui_Win *win)
Efl_Ui_Radio *rbtn = efl_add(EFL_UI_RADIO_CLASS, win);
efl_ui_radio_state_value_set(rbtn, i);
efl_text_set(rbtn, countries[i]);
efl_event_callback_add(rbtn, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _check_button_selection_changed_cb, NULL);
efl_event_callback_add(rbtn, EFL_UI_EVENT_SELECTED_CHANGED, _check_button_selection_changed_cb, NULL);
eina_array_push(arr, rbtn);
}
@ -65,7 +65,7 @@ _select_btn_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
{
Efl_Ui_Check *c = data;
efl_ui_check_selected_set(c, EINA_TRUE);
efl_ui_selectable_selected_set(c, EINA_TRUE);
}
static void

View File

@ -459,7 +459,7 @@ spotlight_size(void *data,
size_params->spotlight = params->spotlight;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, width_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, width_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);
@ -500,7 +500,7 @@ spotlight_size(void *data,
size_params->spotlight = params->spotlight;
size_params->params = params;
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, height_check_cb,
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, height_check_cb,
size_params);
efl_event_callback_add(ck, EFL_EVENT_DEL, check_del_cb, size_params);
@ -516,7 +516,7 @@ _animation_cb(void *data, const Efl_Event *ev)
{
Params *params = data;
efl_ui_spotlight_manager_animation_enabled_set(efl_ui_spotlight_manager_get(params->spotlight), efl_ui_check_selected_get(ev->object));
efl_ui_spotlight_manager_animation_enabled_set(efl_ui_spotlight_manager_get(params->spotlight), efl_ui_selectable_selected_get(ev->object));
}
static void
@ -538,8 +538,8 @@ view_animation_cb(void *data,
efl_added, NULL));
ck = efl_add(EFL_UI_CHECK_CLASS, box);
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _animation_cb, params);
efl_ui_check_selected_set(ck, efl_ui_spotlight_manager_animation_enabled_get(efl_ui_spotlight_manager_get(params->spotlight)));
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, _animation_cb, params);
efl_ui_selectable_selected_set(ck, efl_ui_spotlight_manager_animation_enabled_get(efl_ui_spotlight_manager_get(params->spotlight)));
efl_text_set(ck, "Animation");
efl_pack_end(box, ck);
efl_gfx_entity_visible_set(ck, 1);
@ -550,7 +550,7 @@ _scroll_block_check_cb(void *data, const Efl_Event *ev)
{
Params *params = data;
efl_ui_spotlight_manager_scroll_block_set(efl_ui_spotlight_manager_get(params->spotlight), efl_ui_check_selected_get(ev->object));
efl_ui_spotlight_manager_scroll_block_set(efl_ui_spotlight_manager_get(params->spotlight), efl_ui_selectable_selected_get(ev->object));
}
static void
@ -572,8 +572,8 @@ scroll_block_cb(void *data,
efl_added, NULL));
ck = efl_add(EFL_UI_CHECK_CLASS, box);
efl_event_callback_add(ck, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _scroll_block_check_cb, params);
efl_ui_check_selected_set(ck, efl_ui_spotlight_manager_scroll_block_get(efl_ui_spotlight_manager_get(params->spotlight)));
efl_event_callback_add(ck, EFL_UI_EVENT_SELECTED_CHANGED, _scroll_block_check_cb, params);
efl_ui_selectable_selected_set(ck, efl_ui_spotlight_manager_scroll_block_get(efl_ui_spotlight_manager_get(params->spotlight)));
efl_text_set(ck, "Scroll Block");
efl_pack_end(box, ck);
efl_gfx_entity_visible_set(ck, 1);

View File

@ -491,7 +491,7 @@ _change_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
cur = efl_ui_spotlight_active_index_get(tcd->tab_pager);
tab_page = efl_pack_content_get(tcd->tab_pager, cur);
if (efl_ui_check_selected_get(tcd->label_check))
if (efl_ui_selectable_selected_get(tcd->label_check))
{
label = tab_label_get();
efl_text_set(efl_part(tab_page, "tab"), label);
@ -499,7 +499,7 @@ _change_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
efl_content_set(tab_page, content);
}
if (efl_ui_check_selected_get(tcd->icon_check))
if (efl_ui_selectable_selected_get(tcd->icon_check))
{
icon = tab_icon_get();
efl_ui_tab_page_part_tab_icon_set(efl_part(tab_page, "tab"), icon);
@ -534,12 +534,12 @@ _tab_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
label_check = efl_add(EFL_UI_CHECK_CLASS, box);
efl_text_set(label_check, "Tab Label + Page");
efl_ui_check_selected_set(label_check, EINA_FALSE);
efl_ui_selectable_selected_set(label_check, EINA_FALSE);
efl_pack_end(box, label_check);
icon_check = efl_add(EFL_UI_CHECK_CLASS, box);
efl_text_set(icon_check, "Tab Icon");
efl_ui_check_selected_set(icon_check, EINA_FALSE);
efl_ui_selectable_selected_set(icon_check, EINA_FALSE);
efl_pack_end(box, icon_check);
tcd->tab_pager = tab_pager;

View File

@ -121,20 +121,20 @@ test_ui_textpath(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
chk = efl_add(EFL_UI_CHECK_CLASS, win);
efl_text_set(chk, "Ellipsis");
elm_check_state_set(chk, efl_ui_textpath_ellipsis_get(txtpath));
efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _ellipsis_changed_cb, txtpath);
efl_event_callback_add(chk, EFL_UI_EVENT_SELECTED_CHANGED, _ellipsis_changed_cb, txtpath);
elm_box_pack_end(hbox, chk);
efl_gfx_entity_visible_set(chk, EINA_TRUE);
chk = efl_add(EFL_UI_CHECK_CLASS, win);
efl_text_set(chk, "Clockwise");
efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _direction_changed_cb, txtpath);
efl_event_callback_add(chk, EFL_UI_EVENT_SELECTED_CHANGED, _direction_changed_cb, txtpath);
elm_box_pack_end(hbox, chk);
efl_gfx_entity_visible_set(chk, EINA_TRUE);
dir_chk = chk;
chk = efl_add(EFL_UI_CHECK_CLASS, win);
efl_text_set(chk, "Short text");
efl_event_callback_add(chk, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _short_text_changed_cb, txtpath);
efl_event_callback_add(chk, EFL_UI_EVENT_SELECTED_CHANGED, _short_text_changed_cb, txtpath);
elm_box_pack_end(hbox, chk);
efl_gfx_entity_visible_set(chk, EINA_TRUE);

View File

@ -54,13 +54,13 @@ static void
_activate(Evas_Object *obj)
{
// state will be changed by the later call to the selected_set call
if (!efl_ui_check_selected_get(obj))
if (!efl_ui_selectable_selected_get(obj))
{
// FIXME: to do animation during state change , we need different signal
// so that we can distinguish between state change by user or state change
// by calling state_change() api. Keep both the signal for backward compatibility
// and remove "elm,state,check,on" signal emission when we can break ABI.
// efl_ui_check_selected_set below will emit "elm,state,check,*" or "efl,state,check,*"
// efl_ui_selectable_selected_set below will emit "elm,state,check,*" or "efl,state,check,*"
if (elm_widget_is_legacy(obj))
{
elm_layout_signal_emit(obj, "elm,activate,check,on", "elm");
@ -79,7 +79,7 @@ _activate(Evas_Object *obj)
// so that we can distinguish between state change by user or state change
// by calling state_change() api. Keep both the signal for backward compatibility
// and remove "elm,state,check,off" signal emission when we can break ABI.
// efl_ui_check_selected_set below will emit "elm,state,check,*" or "efl,state,check,*"
// efl_ui_selectable_selected_set below will emit "elm,state,check,*" or "efl,state,check,*"
if (elm_widget_is_legacy(obj))
{
elm_layout_signal_emit(obj, "elm,activate,check,off", "elm");
@ -95,14 +95,14 @@ _activate(Evas_Object *obj)
//This commit will update the theme with the correct signals
// "elm,state,check,on" or "elm,state,check,off" for legacy
// "efl,state,check,on" or "efl,state,check,off" for eo-api
efl_ui_check_selected_set(obj, !efl_ui_check_selected_get(obj));
efl_ui_selectable_selected_set(obj, !efl_ui_selectable_selected_get(obj));
if (elm_widget_is_legacy(obj))
evas_object_smart_callback_call(obj, "changed", NULL);
if (_elm_config->atspi_mode)
efl_access_state_changed_signal_emit(obj,
EFL_ACCESS_STATE_TYPE_CHECKED,
efl_ui_check_selected_get(obj));
efl_ui_selectable_selected_get(obj));
}
EOLIAN static Efl_Access_State_Set
@ -148,14 +148,14 @@ _efl_ui_check_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Check_Data *sd EINA_UNUS
if (elm_widget_is_legacy(obj))
{
if (!efl_ui_check_selected_get(obj))
if (!efl_ui_selectable_selected_get(obj))
elm_layout_signal_emit(obj, "elm,state,check,off", "elm");
else
elm_layout_signal_emit(obj, "elm,state,check,on", "elm");
}
else
{
if (!efl_ui_check_selected_get(obj))
if (!efl_ui_selectable_selected_get(obj))
elm_layout_signal_emit(obj, "efl,state,check,off", "efl");
else
elm_layout_signal_emit(obj, "efl,state,check,on", "efl");
@ -184,7 +184,7 @@ _access_state_cb(void *data, Evas_Object *obj)
if (elm_widget_disabled_get(obj))
return strdup(E_("State: Disabled"));
if (efl_ui_check_selected_get(obj))
if (efl_ui_selectable_selected_get(obj))
{
on_text = elm_layout_text_get(data, "on");
@ -214,12 +214,12 @@ _access_state_cb(void *data, Evas_Object *obj)
static void
_flush_selected(Eo *obj, Eina_Bool sel)
{
efl_ui_check_selected_set(obj, sel);
efl_ui_selectable_selected_set(obj, sel);
if (_elm_config->atspi_mode)
efl_access_state_changed_signal_emit(obj,
EFL_ACCESS_STATE_TYPE_CHECKED,
efl_ui_check_selected_get(obj));
efl_ui_selectable_selected_get(obj));
}
static void
@ -260,13 +260,13 @@ _clicked_cb(void *data, const Efl_Event *ev EINA_UNUSED)
}
EOLIAN static Eina_Bool
_efl_ui_check_selected_get(const Eo *obj EINA_UNUSED, Efl_Ui_Check_Data *pd EINA_UNUSED)
_efl_ui_check_efl_ui_selectable_selected_get(const Eo *obj EINA_UNUSED, Efl_Ui_Check_Data *pd EINA_UNUSED)
{
return pd->selected;
}
EOLIAN static void
_efl_ui_check_selected_set(Eo *obj, Efl_Ui_Check_Data *pd, Eina_Bool value)
_efl_ui_check_efl_ui_selectable_selected_set(Eo *obj, Efl_Ui_Check_Data *pd, Eina_Bool value)
{
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@ -298,7 +298,7 @@ _efl_ui_check_selected_set(Eo *obj, Efl_Ui_Check_Data *pd, Eina_Bool value)
pd->selected = value;
if (!elm_widget_is_legacy(obj))
efl_event_callback_call(obj, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, &pd->selected);
efl_event_callback_call(obj, EFL_UI_EVENT_SELECTED_CHANGED, &pd->selected);
}
EOLIAN static Eo *
@ -349,13 +349,13 @@ elm_check_state_set(Evas_Object *obj, Eina_Bool state)
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
EFL_UI_CHECK_DATA_GET_OR_RETURN(obj, sd);
efl_ui_check_selected_set(obj, state);
efl_ui_selectable_selected_set(obj, state);
}
EAPI Eina_Bool
elm_check_state_get(const Evas_Object *obj)
{
return !!efl_ui_check_selected_get(obj);
return !!efl_ui_selectable_selected_get(obj);
}
EAPI void
@ -372,7 +372,7 @@ elm_check_state_pointer_set(Eo *obj, Eina_Bool *statep)
sd->statep = statep;
if (*sd->statep != sd->selected)
{
efl_ui_check_selected_set(obj, *sd->statep);
efl_ui_selectable_selected_set(obj, *sd->statep);
}
}

View File

@ -1,4 +1,4 @@
class @beta Efl.Ui.Check extends Efl.Ui.Layout_Base implements Efl.Access.Widget.Action, Efl.Text, Efl.Content, Efl.Input.Clickable
class @beta Efl.Ui.Check extends Efl.Ui.Layout_Base implements Efl.Access.Widget.Action, Efl.Text, Efl.Content, Efl.Input.Clickable, Efl.Ui.Selectable
{
[[Check widget
@ -8,16 +8,6 @@ class @beta Efl.Ui.Check extends Efl.Ui.Layout_Base implements Efl.Access.Widget
the value of a boolean between false and true.
]]
methods {
@property selected {
[[The on/off state of the check object.]]
set {
}
get {
}
values {
value: bool; [[$true if the check object is selected, $false otherwise]]
}
}
}
implements {
Efl.Object.constructor;
@ -30,8 +20,6 @@ class @beta Efl.Ui.Check extends Efl.Ui.Layout_Base implements Efl.Access.Widget
Efl.Content.content_unset;
Efl.Text.text { get; set; }
Efl.Ui.L10n.l10n_text { get; set; }
}
events {
selected,changed : bool; [[Emitted each time selected has changed]]
Efl.Ui.Selectable.selected {get; set; }
}
}

View File

@ -2,11 +2,11 @@
EAPI void
elm_check_selected_set(Efl_Ui_Check *obj, Eina_Bool value)
{
efl_ui_check_selected_set(obj, value);
efl_ui_selectable_selected_set(obj, value);
}
EAPI Eina_Bool
elm_check_selected_get(const Efl_Ui_Check *obj)
{
return efl_ui_check_selected_get(obj);
return efl_ui_selectable_selected_get(obj);
}

View File

@ -53,7 +53,7 @@ _radio_widget_signal_emit(Evas_Object *obj, const char *middle_term)
else
source = "efl";
if (efl_ui_check_selected_get(obj))
if (efl_ui_selectable_selected_get(obj))
state = "on";
else
state = "off";
@ -63,16 +63,16 @@ _radio_widget_signal_emit(Evas_Object *obj, const char *middle_term)
}
static void
_efl_ui_radio_efl_ui_check_selected_set(Eo *obj, Efl_Ui_Radio_Data *pd EINA_UNUSED, Eina_Bool value)
_efl_ui_radio_efl_ui_selectable_selected_set(Eo *obj, Efl_Ui_Radio_Data *pd EINA_UNUSED, Eina_Bool value)
{
if (value == efl_ui_check_selected_get(obj)) return;
efl_ui_check_selected_set(efl_super(obj, MY_CLASS), value);
if (value == efl_ui_selectable_selected_get(obj)) return;
efl_ui_selectable_selected_set(efl_super(obj, MY_CLASS), value);
_radio_widget_signal_emit(obj, "state,radio");
if (_elm_config->atspi_mode)
{
if (efl_ui_check_selected_get(obj))
if (efl_ui_selectable_selected_get(obj))
{
efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_TYPE_CHECKED, EINA_TRUE);
}
@ -97,24 +97,24 @@ _state_set_all(Efl_Ui_Radio_Data *sd, Eina_Bool activate)
{
ELM_RADIO_DATA_GET(child, sdc);
if (efl_ui_check_selected_get(child)) selected = child;
if (efl_ui_selectable_selected_get(child)) selected = child;
if (sdc->value == sd->group->value)
{
if (activate) _activate_state_emit(child);
efl_ui_check_selected_set(child, EINA_TRUE);
if (!efl_ui_check_selected_get(child)) disabled = EINA_TRUE;
efl_ui_selectable_selected_set(child, EINA_TRUE);
if (!efl_ui_selectable_selected_get(child)) disabled = EINA_TRUE;
}
else
{
if (activate) _activate_state_emit(child);
efl_ui_check_selected_set(child, EINA_FALSE);
efl_ui_selectable_selected_set(child, EINA_FALSE);
}
}
if ((disabled) && (selected))
{
if (activate) _activate_state_emit(selected);
efl_ui_check_selected_set(selected, EINA_TRUE);
efl_ui_selectable_selected_set(selected, EINA_TRUE);
}
}
@ -144,7 +144,7 @@ _activate(Evas_Object *obj)
else
{
//in new API, we just toggle the state of the widget, rest will be automatically handled
efl_ui_check_selected_set(obj, !efl_ui_check_selected_get(obj));
efl_ui_selectable_selected_set(obj, !efl_ui_selectable_selected_get(obj));
}
}
@ -165,12 +165,12 @@ _efl_ui_radio_efl_ui_widget_theme_apply(Eo *obj, Efl_Ui_Radio_Data *sd EINA_UNUS
if (elm_widget_is_legacy(obj))
{
if (efl_ui_check_selected_get(obj)) elm_layout_signal_emit(obj, "elm,state,radio,on", "elm");
if (efl_ui_selectable_selected_get(obj)) elm_layout_signal_emit(obj, "elm,state,radio,on", "elm");
else elm_layout_signal_emit(obj, "elm,state,radio,off", "elm");
}
else
{
if (efl_ui_check_selected_get(obj)) elm_layout_signal_emit(obj, "efl,state,radio,on", "efl");
if (efl_ui_selectable_selected_get(obj)) elm_layout_signal_emit(obj, "efl,state,radio,on", "efl");
else elm_layout_signal_emit(obj, "efl,state,radio,off", "efl");
}
@ -203,7 +203,7 @@ static char *
_access_state_cb(void *data EINA_UNUSED, Evas_Object *obj)
{
if (elm_widget_disabled_get(obj)) return strdup(E_("State: Disabled"));
if (efl_ui_check_selected_get(obj)) return strdup(E_("State: On"));
if (efl_ui_selectable_selected_get(obj)) return strdup(E_("State: On"));
return strdup(E_("State: Off"));
}
@ -259,8 +259,8 @@ _efl_ui_radio_state_value_set(Eo *obj, Efl_Ui_Radio_Data *sd, int value)
sd->value = value;
if (elm_widget_is_legacy(obj))
{
if (sd->value == sd->group->value) efl_ui_check_selected_set(obj, EINA_TRUE);
else efl_ui_check_selected_set(obj, EINA_FALSE);
if (sd->value == sd->group->value) efl_ui_selectable_selected_set(obj, EINA_TRUE);
else efl_ui_selectable_selected_set(obj, EINA_FALSE);
}
}
@ -504,8 +504,8 @@ elm_radio_group_add(Efl_Ui_Radio *obj, Efl_Ui_Radio *group)
sd->group = sdg->group;
sd->group->radios = eina_list_append(sd->group->radios, obj);
}
if (sd->value == sd->group->value) efl_ui_check_selected_set(obj, EINA_TRUE);
else efl_ui_check_selected_set(obj, EINA_FALSE);
if (sd->value == sd->group->value) efl_ui_selectable_selected_set(obj, EINA_TRUE);
else efl_ui_selectable_selected_set(obj, EINA_FALSE);
}
#include "efl_ui_radio_legacy_eo.c"

View File

@ -41,6 +41,6 @@ class @beta Efl.Ui.Radio extends Efl.Ui.Check implements Efl.Access.Widget.Actio
Efl.Ui.Widget.widget_input_event_handler;
Efl.Access.Object.state_set { get; }
Efl.Access.Widget.Action.elm_actions { get; }
Efl.Ui.Check.selected {set;}
Efl.Ui.Selectable.selected {set;}
}
}

View File

@ -28,11 +28,11 @@ _efl_ui_radio_group_impl_efl_ui_radio_group_selected_object_set(Eo *obj EINA_UNU
//it is essential to *first* set pd->selected to the new state before calling this
//otherwise this here will be called again, and the event will get emitted twice
if (old_selected && efl_alive_get(old_selected))
efl_ui_check_selected_set(old_selected, EINA_FALSE);
efl_ui_selectable_selected_set(old_selected, EINA_FALSE);
if (pd->selected)
{
efl_ui_check_selected_set(pd->selected, EINA_TRUE);
efl_ui_selectable_selected_set(pd->selected, EINA_TRUE);
new_value = efl_ui_radio_state_value_get(pd->selected);
}
efl_event_callback_call(obj, EFL_UI_RADIO_GROUP_EVENT_VALUE_CHANGED, &new_value);
@ -70,7 +70,7 @@ _efl_ui_radio_group_impl_efl_ui_radio_group_selected_value_get(const Eo *obj EIN
static void
_selected_cb(void *data, const Efl_Event *ev)
{
if (efl_ui_check_selected_get(ev->object))
if (efl_ui_selectable_selected_get(ev->object))
{
efl_ui_radio_group_selected_object_set(data, ev->object);
}
@ -91,7 +91,7 @@ _invalidate_cb(void *data, const Efl_Event *ev)
}
EFL_CALLBACKS_ARRAY_DEFINE(radio_btn_cb,
{EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _selected_cb},
{EFL_UI_EVENT_SELECTED_CHANGED, _selected_cb},
{EFL_EVENT_INVALIDATE, _invalidate_cb},
)

View File

@ -36,16 +36,16 @@ EFL_END_TEST
EFL_START_TEST(check_selection_state)
{
efl_ui_check_selected_set(check, EINA_TRUE);
ck_assert_int_eq(efl_ui_check_selected_get(check), EINA_TRUE);
efl_ui_check_selected_set(check, EINA_TRUE);
ck_assert_int_eq(efl_ui_check_selected_get(check), EINA_TRUE);
efl_ui_selectable_selected_set(check, EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(check), EINA_TRUE);
efl_ui_selectable_selected_set(check, EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(check), EINA_TRUE);
//TODO verify that signals can be emitted
efl_ui_check_selected_set(check, EINA_FALSE);
ck_assert_int_eq(efl_ui_check_selected_get(check), EINA_FALSE);
efl_ui_check_selected_set(check, EINA_FALSE);
ck_assert_int_eq(efl_ui_check_selected_get(check), EINA_FALSE);
efl_ui_selectable_selected_set(check, EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(check), EINA_FALSE);
efl_ui_selectable_selected_set(check, EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(check), EINA_FALSE);
//TODO verify that signals can be emitted
}
EFL_END_TEST
@ -62,10 +62,10 @@ EFL_START_TEST(check_selection_events)
{
Eina_Bool bool_event_info = EINA_FALSE;
efl_event_callback_add(check, EFL_UI_CHECK_EVENT_SELECTED_CHANGED, _check, &bool_event_info);
efl_ui_check_selected_set(check, EINA_TRUE);
efl_event_callback_add(check, EFL_UI_EVENT_SELECTED_CHANGED, _check, &bool_event_info);
efl_ui_selectable_selected_set(check, EINA_TRUE);
ck_assert_int_eq(bool_event_info, EINA_TRUE);
efl_ui_check_selected_set(check, EINA_FALSE);
efl_ui_selectable_selected_set(check, EINA_FALSE);
ck_assert_int_eq(bool_event_info, EINA_FALSE);
}
EFL_END_TEST

View File

@ -71,16 +71,16 @@ EFL_START_TEST(active_selected_value_setting)
efl_ui_radio_group_selected_value_set(radio_group, 1);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r1);
ck_assert_int_eq(efl_ui_check_selected_get(r1), EINA_TRUE);
ck_assert_int_eq(efl_ui_check_selected_get(r2), EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r1), EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r2), EINA_FALSE);
EXPECT_EVT(1,1);
RESET_EVT
efl_ui_radio_group_selected_object_set(radio_group, r2);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 2);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r2);
ck_assert_int_eq(efl_ui_check_selected_get(r1), EINA_FALSE);
ck_assert_int_eq(efl_ui_check_selected_get(r2), EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r1), EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r2), EINA_TRUE);
EXPECT_EVT(1,2);
}
EFL_END_TEST
@ -102,16 +102,16 @@ EFL_START_TEST(active_selection_setting)
efl_ui_radio_group_selected_object_set(radio_group, r1);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r1);
ck_assert_int_eq(efl_ui_check_selected_get(r1), EINA_TRUE);
ck_assert_int_eq(efl_ui_check_selected_get(r2), EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r1), EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r2), EINA_FALSE);
EXPECT_EVT(1,1);
RESET_EVT
efl_ui_radio_group_selected_object_set(radio_group, r2);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 2);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r2);
ck_assert_int_eq(efl_ui_check_selected_get(r1), EINA_FALSE);
ck_assert_int_eq(efl_ui_check_selected_get(r2), EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r1), EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(r2), EINA_TRUE);
EXPECT_EVT(1,2);
}
EFL_END_TEST
@ -127,7 +127,7 @@ EFL_START_TEST(active_selection_object_setting)
RESET_EVT
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), -1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), NULL);
efl_ui_check_selected_set(r, EINA_TRUE);
efl_ui_selectable_selected_set(r, EINA_TRUE);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r);
EXPECT_EVT(1,1);
@ -183,12 +183,12 @@ EFL_START_TEST(external_setting)
efl_ui_radio_group_register(radio_group, r);
efl_ui_radio_group_register(radio_group, radio());
RESET_EVT
efl_ui_check_selected_set(r, EINA_TRUE);
efl_ui_selectable_selected_set(r, EINA_TRUE);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), 1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), r);
EXPECT_EVT(1,1);
RESET_EVT
efl_ui_check_selected_set(r, EINA_FALSE);
efl_ui_selectable_selected_set(r, EINA_FALSE);
ck_assert_int_eq(efl_ui_radio_group_selected_value_get(radio_group), -1);
ck_assert_ptr_eq(efl_ui_radio_group_selected_object_get(radio_group), NULL);
EXPECT_EVT(1,-1);