forked from enlightenment/efl
efl_ui_tab_pager: remove the setter for tab_bar
the setter of the tab_bar here is quite useless. If you set it after something else was set, the item situation is not clear anymore, there is more in the spotlight than in the bar. You cannot use the widget without tab bar. So the logical consequence for me was that the pager create the tab bar by itself, and you can just access it via a getter. Reviewed-by: WooHyun Jung <woohyun0705@gmail.com> Differential Revision: https://phab.enlightenment.org/D9731
This commit is contained in:
parent
ffafe749ed
commit
3cc427234e
|
@ -97,7 +97,7 @@ tab_page_add(Eo *parent)
|
||||||
void
|
void
|
||||||
test_ui_tab_pager(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
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;
|
//Efl_Page_Transition *tran;
|
||||||
App_Data *ad = NULL;
|
App_Data *ad = NULL;
|
||||||
char buf[PATH_MAX];
|
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_gfx_hint_fill_set(efl_added, EINA_TRUE, EINA_TRUE),
|
||||||
efl_content_set(efl_part(layout, "tab_pager"), efl_added));
|
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_label_count = 0;
|
||||||
tab_icon_count = 0;
|
tab_icon_count = 0;
|
||||||
|
|
||||||
|
|
|
@ -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_Linear;
|
||||||
Efl.Pack;
|
Efl.Pack;
|
||||||
Efl.Pack_Linear;
|
Efl.Pack_Linear;
|
||||||
Efl.Container;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 *
|
EOLIAN static Efl_Canvas_Object *
|
||||||
_efl_ui_tab_pager_tab_bar_get(const Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *sd)
|
_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);
|
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->cur = 0;
|
||||||
sd->cnt = 0;
|
sd->cnt = 0;
|
||||||
|
|
||||||
return obj;
|
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
|
EOLIAN static int
|
||||||
_efl_ui_tab_pager_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *sd)
|
_efl_ui_tab_pager_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Tab_Pager_Data *sd)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,6 +3,9 @@ class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Spotlight.Container
|
||||||
[[Tab Pager class]]
|
[[Tab Pager class]]
|
||||||
methods {
|
methods {
|
||||||
@property tab_bar {
|
@property tab_bar {
|
||||||
|
get {
|
||||||
|
|
||||||
|
}
|
||||||
values {
|
values {
|
||||||
tab_bar: Efl.Canvas.Object;
|
tab_bar: Efl.Canvas.Object;
|
||||||
}
|
}
|
||||||
|
@ -11,6 +14,7 @@ class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Spotlight.Container
|
||||||
implements {
|
implements {
|
||||||
Efl.Object.constructor;
|
Efl.Object.constructor;
|
||||||
Efl.Object.destructor;
|
Efl.Object.destructor;
|
||||||
|
Efl.Object.finalize;
|
||||||
Efl.Container.content_count;
|
Efl.Container.content_count;
|
||||||
Efl.Pack.pack_clear; // TODO
|
Efl.Pack.pack_clear; // TODO
|
||||||
Efl.Pack.unpack_all; // TODO
|
Efl.Pack.unpack_all; // TODO
|
||||||
|
|
|
@ -8,11 +8,12 @@
|
||||||
|
|
||||||
/* spec-meta-start
|
/* spec-meta-start
|
||||||
{"test-interface":"Efl.Ui.Single_Selectable",
|
{"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" : {
|
"custom-mapping" : {
|
||||||
"Efl.Ui.Grid" : "EFL_UI_GRID_DEFAULT_ITEM_CLASS",
|
"Efl.Ui.Grid" : "EFL_UI_GRID_DEFAULT_ITEM_CLASS",
|
||||||
"Efl.Ui.List" : "EFL_UI_LIST_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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue