diff --git a/data/elementary/themes/edc/efl/grid.edc b/data/elementary/themes/edc/efl/grid.edc index 4fa1ee77ed..fec2e8e110 100644 --- a/data/elementary/themes/edc/efl/grid.edc +++ b/data/elementary/themes/edc/efl/grid.edc @@ -180,7 +180,7 @@ group { "efl/grid_item"; rel2.to: "icon_area"; } } - swallow { "efl.end"; + swallow { "efl.extra"; clip_to: "icon_area"; desc { "default"; fixed: 1 1; diff --git a/data/elementary/themes/edc/efl/list.edc b/data/elementary/themes/edc/efl/list.edc index ca3c5b47ff..e10c64b49a 100644 --- a/data/elementary/themes/edc/efl/list.edc +++ b/data/elementary/themes/edc/efl/list.edc @@ -99,7 +99,7 @@ group { "efl/list_item"; rel1.to_x: "efl.icon"; rel2.offset: -3 -3; rel2.relative: 0.0 1.0; - rel2.to_x: "efl.end"; + rel2.to_x: "efl.extra"; color: FN_COL_DEFAULT; color_class: "list_item"; text { font: FN; size: 10; @@ -179,7 +179,7 @@ group { "efl/list_item"; rel2.offset: 2 -3; } } - swallow { "efl.end"; + swallow { "efl.extra"; desc { "default"; fixed: 1 0; align: 1.0 0.5; diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 614ee74c0a..e3fb705e8e 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -80,16 +80,16 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_list_view.eo \ lib/elementary/efl_ui_list_view_model.eo \ lib/elementary/efl_ui_list_view_pan.eo \ + lib/elementary/efl_ui_item_part_text.eo \ + lib/elementary/efl_ui_item_part_icon.eo \ + lib/elementary/efl_ui_item_part_extra.eo \ + lib/elementary/efl_ui_item_part_content.eo \ lib/elementary/efl_ui_item.eo \ lib/elementary/efl_ui_list_item.eo \ - lib/elementary/efl_ui_list_default_item_part_icon.eo \ - lib/elementary/efl_ui_list_default_item_part_end.eo \ lib/elementary/efl_ui_list_default_item.eo \ lib/elementary/efl_ui_list_empty_item.eo \ lib/elementary/efl_ui_list.eo \ lib/elementary/efl_ui_grid_item.eo \ - lib/elementary/efl_ui_grid_default_item_part_icon.eo \ - lib/elementary/efl_ui_grid_default_item_part_end.eo \ lib/elementary/efl_ui_grid_default_item.eo \ lib/elementary/efl_ui_grid.eo \ lib/elementary/efl_ui_panes_part.eo \ diff --git a/src/examples/elementary/efl_ui_list_example_1.c b/src/examples/elementary/efl_ui_list_example_1.c index 2f4e9c9ee7..f3c29e96e6 100644 --- a/src/examples/elementary/efl_ui_list_example_1.c +++ b/src/examples/elementary/efl_ui_list_example_1.c @@ -172,7 +172,7 @@ elm_main(int argc EINA_UNUSED, char **argv) check = efl_add(EFL_UI_CHECK_CLASS, item); if ((i % 3) == 0) - efl_content_set(efl_part(item, "end"), check); + efl_content_set(efl_part(item, "extra"), check); else if ((i % 3) == 1) efl_content_set(efl_part(item, "icon"), check); else diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h index 4fa8c3e468..07075d247f 100644 --- a/src/lib/elementary/Elementary.h +++ b/src/lib/elementary/Elementary.h @@ -334,16 +334,16 @@ typedef Eo Efl_Ui_Focus_Manager; # include # include # include +# include +# include +# include +# include # include # include -# include -# include # include # include # include # include -# include -# include # include # include # include diff --git a/src/lib/elementary/efl_ui_grid_default_item.c b/src/lib/elementary/efl_ui_grid_default_item.c index d0884296b4..65d2c24cf1 100644 --- a/src/lib/elementary/efl_ui_grid_default_item.c +++ b/src/lib/elementary/efl_ui_grid_default_item.c @@ -8,8 +8,6 @@ #include #include "elm_priv.h" -#include "efl_ui_grid_default_item_part_icon.eo.h" -#include "efl_ui_grid_default_item_part_end.eo.h" #include "elm_part_helper.h" #define MY_CLASS EFL_UI_GRID_DEFAULT_ITEM_CLASS @@ -42,63 +40,18 @@ ELM_PART_TEXT_DEFAULT_GET(efl_ui_grid_default_item, "efl.text") ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) ELM_PART_CONTENT_DEFAULT_GET(efl_ui_grid_default_item, "efl.icon") -ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void -) - -Eina_Bool -_efl_ui_grid_default_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); -} - -Efl_Gfx_Entity * -_efl_ui_grid_default_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} - -Efl_Gfx_Entity * -_efl_ui_grid_default_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} -#include "efl_ui_grid_default_item_part_icon.eo.c" - -Eina_Bool -_efl_ui_grid_default_item_part_end_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); -} - -Efl_Gfx_Entity * -_efl_ui_grid_default_item_part_end_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} - -Efl_Gfx_Entity * -_efl_ui_grid_default_item_part_end_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} -#include "efl_ui_grid_default_item_part_end.eo.c" +ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) EOLIAN static Efl_Object * _efl_ui_grid_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) { EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); if (eina_streq(part, "text")) - return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, "efl.text"); + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text"); else if (eina_streq(part, "icon")) - return ELM_PART_IMPLEMENT(EFL_UI_GRID_DEFAULT_ITEM_PART_ICON_CLASS, obj, "efl.icon"); - else if (eina_streq(part, "end")) - return ELM_PART_IMPLEMENT(EFL_UI_GRID_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end"); + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon"); + else if (eina_streq(part, "extra")) + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra"); return efl_part_get(efl_super(obj, MY_CLASS), part); } diff --git a/src/lib/elementary/efl_ui_grid_default_item.eo b/src/lib/elementary/efl_ui_grid_default_item.eo index 4cbe74e4b9..9b3a0eb890 100644 --- a/src/lib/elementary/efl_ui_grid_default_item.eo +++ b/src/lib/elementary/efl_ui_grid_default_item.eo @@ -11,8 +11,13 @@ class @beta Efl.Ui.Grid_Default_Item extends Efl.Ui.Grid_Item implements @Efl.Content or @Efl.Part.]] data: null; parts { - icon: Efl.Ui.Grid_Default_Item_Part_Icon; [[]] - end: Efl.Ui.Grid_Default_Item_Part_End; [[]] + text: Efl.Ui.Item_Part_Text; [[The text part for grid default item. + text part is the caption of grid item.]] + icon: Efl.Ui.Item_Part_Icon; [[The icon content part for grid default item. + icon part is the main content of grid item.]] + end: Efl.Ui.Item_Part_Extra; [[The extra content part for grid default item. + extra part is the spare content of grid item. + you can swallow small badge widget such as check, radio.]] } implements { //Efl.Object diff --git a/src/lib/elementary/efl_ui_grid_default_item_part_end.eo b/src/lib/elementary/efl_ui_grid_default_item_part_end.eo deleted file mode 100644 index dc3b6dfbbb..0000000000 --- a/src/lib/elementary/efl_ui_grid_default_item_part_end.eo +++ /dev/null @@ -1,9 +0,0 @@ -class @beta Efl.Ui.Grid_Default_Item_Part_End extends Efl.Ui.Layout_Part implements Efl.Content -{ - [[Grid Default Item internal content of end part class]] - data: null; - implements { - Efl.Content.content { get; set; } - Efl.Content.content_unset; - } -} diff --git a/src/lib/elementary/efl_ui_grid_default_item_part_icon.eo b/src/lib/elementary/efl_ui_grid_default_item_part_icon.eo deleted file mode 100644 index 47e290bace..0000000000 --- a/src/lib/elementary/efl_ui_grid_default_item_part_icon.eo +++ /dev/null @@ -1,9 +0,0 @@ -class @beta Efl.Ui.Grid_Default_Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content -{ - [[Grid Default Item internal content of icon part class]] - data: null; - implements { - Efl.Content.content { get; set; } - Efl.Content.content_unset; - } -} diff --git a/src/lib/elementary/efl_ui_item.c b/src/lib/elementary/efl_ui_item.c index 65f488e2e7..3f87832db5 100644 --- a/src/lib/elementary/efl_ui_item.c +++ b/src/lib/elementary/efl_ui_item.c @@ -9,12 +9,137 @@ #include "elm_priv.h" #include "efl_ui_item_private.h" +//part +#include "efl_ui_item_part_text.eo.h" +#include "efl_ui_item_part_icon.eo.h" +#include "efl_ui_item_part_extra.eo.h" +#include "efl_ui_item_part_content.eo.h" +#include "elm_part_helper.h" #define MY_CLASS EFL_UI_ITEM_CLASS #define MY_CLASS_PFX efl_ui_item #define MY_CLASS_NAME "Efl.Ui.Item" +/* Efl.Part */ +EOLIAN static void +_efl_ui_item_part_text_efl_text_text_set(Eo *obj, void *pd EINA_UNUSED, const char *text) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + efl_text_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), text); + + efl_layout_signal_emit(wd->obj, "efl,state,text,set", "efl"); + elm_layout_sizing_eval(wd->obj); +} + +EOLIAN static const char* +_efl_ui_item_part_text_efl_text_text_get(const Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_text_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} + +EOLIAN static void +_efl_ui_item_part_text_efl_text_markup_markup_set(Eo *obj, void *pd EINA_UNUSED, const char *markup) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + efl_text_markup_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), markup); + + efl_layout_signal_emit(obj, "efl,state,text,set", "efl"); + elm_layout_sizing_eval(obj); +} + +EOLIAN static const char* +_efl_ui_item_part_text_efl_text_markup_markup_get(const Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_text_markup_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} + +EOLIAN static const char * +_efl_ui_item_part_text_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain); +} + +EOLIAN static void +_efl_ui_item_part_text_efl_ui_l10n_l10n_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text, const char *domain) +{ + Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + elm_widget_part_translatable_text_set(pd->obj, pd->part, text, domain); +} +#include "efl_ui_item_part_text.eo.c" + +/* Efl.Ui.List_Default_Item_Part_Icon */ + +Eina_Bool +_efl_ui_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} +#include "efl_ui_item_part_icon.eo.c" + +Eina_Bool +_efl_ui_item_part_extra_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_extra_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_extra_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} +#include "efl_ui_item_part_extra.eo.c" + +Eina_Bool +_efl_ui_item_part_content_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_content_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} + +Efl_Gfx_Entity * +_efl_ui_item_part_content_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) +{ + Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); + return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); +} +#include "efl_ui_item_part_content.eo.c" +/* Efl.Part */ + static void _item_select(Eo *obj, Efl_Ui_Item_Data *pd) { diff --git a/src/lib/elementary/efl_ui_item_part_content.eo b/src/lib/elementary/efl_ui_item_part_content.eo new file mode 100644 index 0000000000..010f850ee7 --- /dev/null +++ b/src/lib/elementary/efl_ui_item_part_content.eo @@ -0,0 +1,9 @@ +class @beta Efl.Ui.Item_Part_Content extends Efl.Ui.Layout_Part implements Efl.Content +{ + [[Item internal content part class]] + data: null; + implements { + Efl.Content.content { get; set; } + Efl.Content.content_unset; + } +} diff --git a/src/lib/elementary/efl_ui_item_part_extra.eo b/src/lib/elementary/efl_ui_item_part_extra.eo new file mode 100644 index 0000000000..c6433fc08b --- /dev/null +++ b/src/lib/elementary/efl_ui_item_part_extra.eo @@ -0,0 +1,9 @@ +class @beta Efl.Ui.Item_Part_Extra extends Efl.Ui.Layout_Part implements Efl.Content +{ + [[Item internal content of extra part class]] + data: null; + implements { + Efl.Content.content { get; set; } + Efl.Content.content_unset; + } +} diff --git a/src/lib/elementary/efl_ui_item_part_icon.eo b/src/lib/elementary/efl_ui_item_part_icon.eo new file mode 100644 index 0000000000..5c9a9e38b0 --- /dev/null +++ b/src/lib/elementary/efl_ui_item_part_icon.eo @@ -0,0 +1,9 @@ +class @beta Efl.Ui.Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content +{ + [[Item internal content of icon part class]] + data: null; + implements { + Efl.Content.content { get; set; } + Efl.Content.content_unset; + } +} diff --git a/src/lib/elementary/efl_ui_item_part_text.eo b/src/lib/elementary/efl_ui_item_part_text.eo new file mode 100644 index 0000000000..97fdc0e25b --- /dev/null +++ b/src/lib/elementary/efl_ui_item_part_text.eo @@ -0,0 +1,11 @@ +class @beta Efl.Ui.Item_Part_Text extends Efl.Ui.Layout_Part implements + Efl.Text, Efl.Text_Markup, Efl.Ui.L10n +{ + [[Item internal text part class]] + data: null; + implements { + Efl.Text.text { set; get; } + Efl.Text_Markup.markup { get; set; } + Efl.Ui.L10n.l10n_text { get; set; } + } +} diff --git a/src/lib/elementary/efl_ui_list_default_item.c b/src/lib/elementary/efl_ui_list_default_item.c index 3fcf9e7521..d95f988ee7 100644 --- a/src/lib/elementary/efl_ui_list_default_item.c +++ b/src/lib/elementary/efl_ui_list_default_item.c @@ -8,8 +8,6 @@ #include #include "elm_priv.h" -#include "efl_ui_list_default_item_part_icon.eo.h" -#include "efl_ui_list_default_item_part_end.eo.h" #include "elm_part_helper.h" #define MY_CLASS EFL_UI_LIST_DEFAULT_ITEM_CLASS @@ -36,73 +34,25 @@ _efl_ui_list_default_item_efl_object_destructor(Eo *obj, void *pd EINA_UNUSED) efl_destructor(efl_super(obj, MY_CLASS)); } -/* Efl.Part */ - ELM_PART_TEXT_DEFAULT_GET(efl_ui_list_default_item, "efl.text") ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) ELM_PART_CONTENT_DEFAULT_GET(efl_ui_list_default_item, "efl.icon") -ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void -) - -Eina_Bool -_efl_ui_list_default_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); -} - -Efl_Gfx_Entity * -_efl_ui_list_default_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} - -Efl_Gfx_Entity * -_efl_ui_list_default_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} -#include "efl_ui_list_default_item_part_icon.eo.c" - -Eina_Bool -_efl_ui_list_default_item_part_end_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content); -} - -Efl_Gfx_Entity * -_efl_ui_list_default_item_part_end_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} - -Efl_Gfx_Entity * -_efl_ui_list_default_item_part_end_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED) -{ - Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS); - return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part)); -} -#include "efl_ui_list_default_item_part_end.eo.c" +ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) EOLIAN static Efl_Object * _efl_ui_list_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) { EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); if (eina_streq(part, "text")) - return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, "efl.text"); + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text"); else if (eina_streq(part, "icon")) - return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_ICON_CLASS, obj, "efl.icon"); - else if (eina_streq(part, "end")) - return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end"); + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon"); + else if (eina_streq(part, "extra")) + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra"); return efl_part_get(efl_super(obj, MY_CLASS), part); } -/* Efl.Part end */ /* Internal EO APIs and hidden overrides */ #define EFL_UI_LIST_DEFAULT_ITEM_EXTRA_OPS \ diff --git a/src/lib/elementary/efl_ui_list_default_item.eo b/src/lib/elementary/efl_ui_list_default_item.eo index 5ea4d2e44a..ee4e770f5d 100644 --- a/src/lib/elementary/efl_ui_list_default_item.eo +++ b/src/lib/elementary/efl_ui_list_default_item.eo @@ -9,6 +9,13 @@ class @beta Efl.Ui.List_Default_Item extends Efl.Ui.List_Item implements text and contents can be appliable by efl_text, efl_content or efl_part APIs.]] data: null; + parts { + text: Efl.Ui.Item_Part_Text; [[The text part for list default item.]] + icon: Efl.Ui.Item_Part_Icon; [[The icon content part for list default item. + icon part is the left-side content of list item.]] + extra: Efl.Ui.Item_Part_Extra; [[The extra content part for list default item. + extra part is the right-side content of list item.]] + } implements { //Efl.Object Efl.Object.finalize; diff --git a/src/lib/elementary/efl_ui_list_default_item_part_end.eo b/src/lib/elementary/efl_ui_list_default_item_part_end.eo deleted file mode 100644 index 9ff2d1160e..0000000000 --- a/src/lib/elementary/efl_ui_list_default_item_part_end.eo +++ /dev/null @@ -1,9 +0,0 @@ -class @beta Efl.Ui.List_Default_Item_Part_End extends Efl.Ui.Layout_Part implements Efl.Content -{ - [[List Default Item internal content of end part class]] - data: null; - implements { - Efl.Content.content { get; set; } - Efl.Content.content_unset; - } -} diff --git a/src/lib/elementary/efl_ui_list_default_item_part_icon.eo b/src/lib/elementary/efl_ui_list_default_item_part_icon.eo deleted file mode 100644 index 232b0d95b1..0000000000 --- a/src/lib/elementary/efl_ui_list_default_item_part_icon.eo +++ /dev/null @@ -1,9 +0,0 @@ -class @beta Efl.Ui.List_Default_Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content -{ - [[List Default Item internal content of icon part class]] - data: null; - implements { - Efl.Content.content { get; set; } - Efl.Content.content_unset; - } -} diff --git a/src/lib/elementary/efl_ui_list_empty_item.c b/src/lib/elementary/efl_ui_list_empty_item.c index bc4aab1b95..8df9b78685 100644 --- a/src/lib/elementary/efl_ui_list_empty_item.c +++ b/src/lib/elementary/efl_ui_list_empty_item.c @@ -44,7 +44,7 @@ _efl_ui_list_empty_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, c { EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); if (eina_streq(part, "content")) - return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.content"); + return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_CONTENT_CLASS, obj, "efl.content"); return efl_part_get(efl_super(obj, MY_CLASS), part); } diff --git a/src/lib/elementary/efl_ui_list_empty_item.eo b/src/lib/elementary/efl_ui_list_empty_item.eo index 070b60531f..a656c75537 100644 --- a/src/lib/elementary/efl_ui_list_empty_item.eo +++ b/src/lib/elementary/efl_ui_list_empty_item.eo @@ -5,6 +5,11 @@ class @beta Efl.Ui.List_Empty_Item extends Efl.Ui.List_Item implements Efl.Conte thus user can decorate item by filling the swallow with any kind of container.]] data: null; + parts { + content: Efl.Ui.Item_Part_Content; [[the content part for list empty item. + the content part is empty slot for user customizing. + fill the place with container widget such as layout, box, table.]] + } implements { //Efl.Object Efl.Object.finalize; diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index 87e1b21c43..6aaa474eec 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -115,16 +115,16 @@ pub_eo_files = [ 'efl_ui_list_view.eo', 'efl_ui_list_view_model.eo', 'efl_ui_list_view_pan.eo', + 'efl_ui_item_part_text.eo', + 'efl_ui_item_part_icon.eo', + 'efl_ui_item_part_extra.eo', + 'efl_ui_item_part_content.eo', 'efl_ui_item.eo', 'efl_ui_list_item.eo', - 'efl_ui_list_default_item_part_icon.eo', - 'efl_ui_list_default_item_part_end.eo', 'efl_ui_list_default_item.eo', 'efl_ui_list_empty_item.eo', 'efl_ui_list.eo', 'efl_ui_grid_item.eo', - 'efl_ui_grid_default_item_part_icon.eo', - 'efl_ui_grid_default_item_part_end.eo', 'efl_ui_grid_default_item.eo', 'efl_ui_grid.eo', 'efl_ui_panes_part.eo',