efl_ui : refactoring efl.part in item based classes.

Summary:
Most of item-based class will have similar efl.part such as text, icon, end.
creating this efl part per each class will be very hard to maintaining the class
and unnecessary eo generation.
so combine them in efl.parts of efl_ui_item.
sub item classes can use this efl.part by declairing ther own eo definition.

Reviewers: cedric, Jaehyun_Cho, segfaultxavi, eagleeye

Reviewed By: cedric, eagleeye

Subscribers: herb, woohyun, q66, lauromoura, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8582
This commit is contained in:
SangHyeon Jade Lee 2019-05-30 13:22:03 +09:00
parent 0e73a88133
commit 01cb1c32bd
21 changed files with 209 additions and 162 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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 \

View File

@ -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

View File

@ -334,16 +334,16 @@ typedef Eo Efl_Ui_Focus_Manager;
# include <efl_ui_slider.eo.h>
# include <efl_ui_slider_interval.eo.h>
# include <efl_ui_layout_factory.eo.h>
# 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 <efl_ui_item.eo.h>
# include <efl_ui_list_item.eo.h>
# include <efl_ui_list_default_item_part_icon.eo.h>
# include <efl_ui_list_default_item_part_end.eo.h>
# include <efl_ui_list_default_item.eo.h>
# include <efl_ui_list_empty_item.eo.h>
# include <efl_ui_list.eo.h>
# include <efl_ui_grid_item.eo.h>
# include <efl_ui_grid_default_item_part_icon.eo.h>
# include <efl_ui_grid_default_item_part_end.eo.h>
# include <efl_ui_grid_default_item.eo.h>
# include <efl_ui_grid.eo.h>
# include <efl_ui_list_view_types.eot.h>

View File

@ -8,8 +8,6 @@
#include <Elementary.h>
#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);
}

View File

@ -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

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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)
{

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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; }
}
}

View File

@ -8,8 +8,6 @@
#include <Elementary.h>
#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 \

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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',