diff --git a/src/bin/elementary/test_ui_tab_pager.c b/src/bin/elementary/test_ui_tab_pager.c index e23166d1cf..93aaa12948 100644 --- a/src/bin/elementary/test_ui_tab_pager.c +++ b/src/bin/elementary/test_ui_tab_pager.c @@ -97,7 +97,7 @@ tab_page_add(Eo *parent) void test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - Eo *win, *layout, *navi, *list, *tp, *tb, *page; + Eo *win, *layout, *navi, *list, *tp, *page; //Efl_Page_Transition *tran; App_Data *ad = NULL; char buf[PATH_MAX]; @@ -132,9 +132,6 @@ test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *ev efl_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE), 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); - tab_label_count = 0; tab_icon_count = 0; diff --git a/src/lib/elementary/efl_ui_tab_bar.eo b/src/lib/elementary/efl_ui_tab_bar.eo index eff7281e22..1d27afe62e 100644 --- a/src/lib/elementary/efl_ui_tab_bar.eo +++ b/src/lib/elementary/efl_ui_tab_bar.eo @@ -27,6 +27,5 @@ class @beta Efl.Ui.Tab_Bar extends Efl.Ui.Layout_Base implements Efl.Ui.Single_S Efl.Pack_Linear; Efl.Pack; Efl.Pack_Linear; - Efl.Container; } } diff --git a/src/lib/elementary/efl_ui_tab_pager.c b/src/lib/elementary/efl_ui_tab_pager.c index b7299fce92..bfc22d8e1c 100644 --- a/src/lib/elementary/efl_ui_tab_pager.c +++ b/src/lib/elementary/efl_ui_tab_pager.c @@ -45,22 +45,6 @@ _tab_select_cb(void *data, const Efl_Event *event) } } -EOLIAN static void -_efl_ui_tab_pager_tab_bar_set(Eo *obj, Efl_Ui_Tab_Pager_Data *sd, Efl_Canvas_Object *tab_bar) -{ - if (sd->tab_bar != NULL) - { - efl_event_callback_del(sd->tab_bar, EFL_UI_EVENT_ITEM_SELECTED, _tab_select_cb, obj); - efl_content_unset(efl_part(obj, "efl.tab_root")); - efl_del(sd->tab_bar); - } - - sd->tab_bar = tab_bar; - efl_content_set(efl_part(obj, "efl.tab_root"), sd->tab_bar); - - efl_event_callback_add(sd->tab_bar, EFL_UI_EVENT_ITEM_SELECTED, _tab_select_cb, obj); -} - EOLIAN static Efl_Canvas_Object * _efl_ui_tab_pager_tab_bar_get(const Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *sd) { @@ -93,13 +77,24 @@ _efl_ui_tab_pager_efl_object_constructor(Eo *obj, Efl_Ui_Tab_Pager_Data *sd) efl_ui_widget_focus_allow_set(obj, EINA_TRUE); - sd->tab_bar = NULL; + sd->tab_bar = efl_add(EFL_UI_TAB_BAR_CLASS, obj); + efl_event_callback_add(sd->tab_bar, EFL_UI_EVENT_ITEM_SELECTED, _tab_select_cb, obj); sd->cur = 0; sd->cnt = 0; return obj; } +EOLIAN static Efl_Object* +_efl_ui_tab_pager_efl_object_finalize(Eo *obj, Efl_Ui_Tab_Pager_Data *pd) +{ + obj = efl_finalize(efl_super(obj, MY_CLASS)); + + efl_content_set(efl_part(obj, "efl.tab_root"), pd->tab_bar); + + return obj; +} + EOLIAN static int _efl_ui_tab_pager_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *sd) { diff --git a/src/lib/elementary/efl_ui_tab_pager.eo b/src/lib/elementary/efl_ui_tab_pager.eo index 79eaede7b5..ac25becc58 100644 --- a/src/lib/elementary/efl_ui_tab_pager.eo +++ b/src/lib/elementary/efl_ui_tab_pager.eo @@ -3,6 +3,9 @@ class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Spotlight.Container [[Tab Pager class]] methods { @property tab_bar { + get { + + } values { tab_bar: Efl.Canvas.Object; } @@ -11,6 +14,7 @@ class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Spotlight.Container implements { Efl.Object.constructor; Efl.Object.destructor; + Efl.Object.finalize; Efl.Container.content_count; Efl.Pack.pack_clear; // TODO Efl.Pack.unpack_all; // TODO diff --git a/src/tests/elementary/spec/efl_test_single_selectable.c b/src/tests/elementary/spec/efl_test_single_selectable.c index 5ec40b2747..6639cc9c66 100644 --- a/src/tests/elementary/spec/efl_test_single_selectable.c +++ b/src/tests/elementary/spec/efl_test_single_selectable.c @@ -8,11 +8,12 @@ /* spec-meta-start {"test-interface":"Efl.Ui.Single_Selectable", - "test-widgets": ["Efl.Ui.Grid", "Efl.Ui.List", "Efl.Ui.Radio_Box"], + "test-widgets": ["Efl.Ui.Grid", "Efl.Ui.List", "Efl.Ui.Radio_Box", "Efl.Ui.Tab_Bar"], "custom-mapping" : { "Efl.Ui.Grid" : "EFL_UI_GRID_DEFAULT_ITEM_CLASS", "Efl.Ui.List" : "EFL_UI_LIST_DEFAULT_ITEM_CLASS", - "Efl.Ui.Radio_Box" : "EFL_UI_RADIO_CLASS" + "Efl.Ui.Radio_Box" : "EFL_UI_RADIO_CLASS", + "Efl.Ui.Tab_Bar" : "EFL_UI_TAB_BAR_DEFAULT_ITEM_CLASS" } }