efl_ui_tab_pager: migrate to active_view

This now migrates to active_view. When we get back to this widget for
stabelization. This is only the first step for loosening efl.ui.pager so
it can be removed. For now the API of efl_ui_tab_pager stayes the same.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8906
This commit is contained in:
Marcel Hollerbach 2019-05-16 19:13:30 +02:00
parent 79fe0121ee
commit bdc63d57d5
3 changed files with 34 additions and 27 deletions

View File

@ -151,18 +151,11 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
tp = efl_add(EFL_UI_TAB_PAGER_CLASS, layout,
efl_gfx_hint_weight_set(efl_added, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND),
efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE),
efl_ui_pager_page_size_set(efl_added, EINA_SIZE2D(-1, -1)),
efl_ui_pager_padding_set(efl_added, 20),
efl_content_set(efl_part(layout, "tab_pager"), efl_added));
tb = efl_add(EFL_UI_TAB_BAR_CLASS, tp);
efl_ui_tab_pager_tab_bar_set(tp, tb);
/*
tran = efl_add(EFL_PAGE_TRANSITION_SCROLL_CLASS, tp)
efl_ui_pager_transition_set(tp, tran);
*/
tab_label_count = 0;
tab_icon_count = 0;
@ -172,7 +165,7 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev
efl_pack_end(tp, page);
}
efl_ui_pager_current_page_set(tp, 0);
efl_ui_active_view_active_index_set(tp, 0);
ad = (App_Data*)calloc(1, sizeof(App_Data));
ad->navi = navi;
@ -206,7 +199,7 @@ static void
_tab_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
Tab_Set_Data *tsd = data;
efl_ui_pager_current_page_set(tsd->tab_pager, elm_spinner_value_get(tsd->spinner));
efl_ui_active_view_active_index_set(tsd->tab_pager, elm_spinner_value_get(tsd->spinner));
}
static void
@ -237,7 +230,7 @@ _current_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, box,
efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1),
efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)),
efl_ui_range_value_set(efl_added, efl_ui_active_view_active_index_get(tab_pager)),
efl_pack_end(box, efl_added));
tsd->tab_pager = tab_pager;
@ -279,7 +272,7 @@ _pack_before_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *tab_page, *cur_tab_page;
int index;
index = efl_ui_pager_current_page_get(tab_pager);
index = efl_ui_active_view_active_index_get(tab_pager);
cur_tab_page = efl_pack_content_get(tab_pager, index);
tab_page = tab_page_add(tab_pager);
@ -294,7 +287,7 @@ _pack_after_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Eo *tab_page, *cur_tab_page;
int index;
index = efl_ui_pager_current_page_get(tab_pager);
index = efl_ui_active_view_active_index_get(tab_pager);
cur_tab_page = efl_pack_content_get(tab_pager, index);
tab_page = tab_page_add(tab_pager);
@ -371,7 +364,7 @@ _pack_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box,
efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1),
efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)),
efl_ui_range_value_set(efl_added, efl_ui_active_view_active_index_get(tab_pager)),
efl_pack_end(in_box, efl_added));
tsd->tab_pager = tab_pager;
@ -396,7 +389,7 @@ static void
_unpack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
Eo *tab_pager = data;
int index = efl_ui_pager_current_page_get(tab_pager);
int index = efl_ui_active_view_active_index_get(tab_pager);
Eo *tab_page = efl_pack_content_get(tab_pager, index);
efl_pack_unpack(tab_pager, tab_page);
efl_del(tab_page);
@ -471,7 +464,7 @@ _unpack_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
sp = efl_add(EFL_UI_SPIN_BUTTON_CLASS, in_box,
efl_ui_range_min_max_set(efl_added, 0, efl_content_count(tab_pager) - 1),
efl_ui_range_value_set(efl_added, efl_ui_pager_current_page_get(tab_pager)),
efl_ui_range_value_set(efl_added, efl_ui_active_view_active_index_get(tab_pager)),
efl_pack_end(in_box, efl_added));
tsd->tab_pager = tab_pager;
@ -495,7 +488,7 @@ _change_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
char *label = NULL;
char *icon = NULL;
int cur;
cur = efl_ui_pager_current_page_get(tcd->tab_pager);
cur = efl_ui_active_view_active_index_get(tcd->tab_pager);
tab_page = efl_pack_content_get(tcd->tab_pager, cur);
if (efl_ui_nstate_value_get(tcd->label_check))
@ -561,16 +554,25 @@ _tab_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
}
static void
_tran_set_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
_tran_set_btn_scroll_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
Efl_Page_Transition *tran = efl_add(EFL_PAGE_TRANSITION_SCROLL_CLASS, data);
efl_ui_pager_transition_set(data, tran);
Efl_Ui_Active_View_View_Manager_Scroll *scroll = efl_new(EFL_UI_ACTIVE_VIEW_VIEW_MANAGER_SCROLL_CLASS);
efl_ui_active_view_manager_set(data, scroll);
efl_unref(scroll);
}
static void
_tran_set_btn_stack_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
Efl_Ui_Active_View_View_Manager_Scroll *stack = efl_new(EFL_UI_ACTIVE_VIEW_VIEW_MANAGER_STACK_CLASS);
efl_ui_active_view_manager_set(data, stack);
efl_unref(stack);
}
static void
_tran_unset_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED)
{
efl_ui_pager_transition_set(data, NULL);
efl_ui_active_view_manager_set(data, NULL);
}
static void
@ -593,8 +595,12 @@ _transition_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
elm_naviframe_item_push(navi, "Transition", btn, NULL, efl_added, NULL));
btn = efl_add(EFL_UI_BUTTON_CLASS, box,
efl_text_set(efl_added, "Set"),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tran_set_btn_cb, tab_pager),
efl_text_set(efl_added, "Scroll"),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tran_set_btn_scroll_cb, tab_pager),
efl_pack_end(box, efl_added));
btn = efl_add(EFL_UI_BUTTON_CLASS, box,
efl_text_set(efl_added, "Stack"),
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _tran_set_btn_stack_cb, tab_pager),
efl_pack_end(box, efl_added));
btn = efl_add(EFL_UI_BUTTON_CLASS, box,

View File

@ -20,14 +20,14 @@ _select(Eo *obj, int index)
else sd->cur = 0;
efl_ui_tab_bar_current_tab_set(sd->tab_bar, sd->cur);
efl_ui_pager_current_page_set(efl_super(obj, MY_CLASS), sd->cur);
}
static void
_tab_select_cb(void *data, const Efl_Event *event)
{
int index = efl_ui_tab_bar_current_tab_get(event->object);
_select(data, index);
if (efl_ui_active_view_active_index_get(data) != index)
efl_ui_active_view_active_index_set(data, index);
}
static void
@ -78,8 +78,9 @@ _efl_ui_tab_pager_tab_bar_get(const Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *
}
EOLIAN static void
_efl_ui_tab_pager_efl_ui_pager_current_page_set(Eo *obj, Efl_Ui_Tab_Pager_Data *sd EINA_UNUSED, int index)
_efl_ui_tab_pager_efl_ui_active_view_container_active_index_set(Eo *obj, Efl_Ui_Tab_Pager_Data *sd EINA_UNUSED, int index)
{
efl_ui_active_view_active_index_set(efl_super(obj, MY_CLASS), index);
_select(obj, index);
}

View File

@ -1,4 +1,4 @@
class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Pager
class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Active_View.Container
{
[[Tab Pager class]]
methods {
@ -23,6 +23,6 @@ class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Pager
Efl.Pack_Linear.pack_content_get;
Efl.Pack_Linear.pack_index_get;
Efl.Pack_Linear.pack_unpack_at; // TODO
Efl.Ui.Pager.current_page { set; }
Efl.Ui.Active_View.Container.active_index { set; }
}
}