summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--data/elementary/themes/edc/efl/grid.edc2
-rw-r--r--data/elementary/themes/edc/efl/list.edc4
-rw-r--r--src/Makefile_Elementary.am8
-rw-r--r--src/examples/elementary/efl_ui_list_example_1.c2
-rw-r--r--src/lib/elementary/Elementary.h8
-rw-r--r--src/lib/elementary/efl_ui_grid_default_item.c57
-rw-r--r--src/lib/elementary/efl_ui_grid_default_item.eo9
-rw-r--r--src/lib/elementary/efl_ui_grid_default_item_part_end.eo9
-rw-r--r--src/lib/elementary/efl_ui_grid_default_item_part_icon.eo9
-rw-r--r--src/lib/elementary/efl_ui_item.c125
-rw-r--r--src/lib/elementary/efl_ui_item_part_content.eo9
-rw-r--r--src/lib/elementary/efl_ui_item_part_extra.eo9
-rw-r--r--src/lib/elementary/efl_ui_item_part_icon.eo9
-rw-r--r--src/lib/elementary/efl_ui_item_part_text.eo11
-rw-r--r--src/lib/elementary/efl_ui_list_default_item.c60
-rw-r--r--src/lib/elementary/efl_ui_list_default_item.eo7
-rw-r--r--src/lib/elementary/efl_ui_list_default_item_part_end.eo9
-rw-r--r--src/lib/elementary/efl_ui_list_default_item_part_icon.eo9
-rw-r--r--src/lib/elementary/efl_ui_list_empty_item.c2
-rw-r--r--src/lib/elementary/efl_ui_list_empty_item.eo5
-rw-r--r--src/lib/elementary/meson.build8
21 files changed, 209 insertions, 162 deletions
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";
180 rel2.to: "icon_area"; 180 rel2.to: "icon_area";
181 } 181 }
182 } 182 }
183 swallow { "efl.end"; 183 swallow { "efl.extra";
184 clip_to: "icon_area"; 184 clip_to: "icon_area";
185 desc { "default"; 185 desc { "default";
186 fixed: 1 1; 186 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";
99 rel1.to_x: "efl.icon"; 99 rel1.to_x: "efl.icon";
100 rel2.offset: -3 -3; 100 rel2.offset: -3 -3;
101 rel2.relative: 0.0 1.0; 101 rel2.relative: 0.0 1.0;
102 rel2.to_x: "efl.end"; 102 rel2.to_x: "efl.extra";
103 color: FN_COL_DEFAULT; 103 color: FN_COL_DEFAULT;
104 color_class: "list_item"; 104 color_class: "list_item";
105 text { font: FN; size: 10; 105 text { font: FN; size: 10;
@@ -179,7 +179,7 @@ group { "efl/list_item";
179 rel2.offset: 2 -3; 179 rel2.offset: 2 -3;
180 } 180 }
181 } 181 }
182 swallow { "efl.end"; 182 swallow { "efl.extra";
183 desc { "default"; 183 desc { "default";
184 fixed: 1 0; 184 fixed: 1 0;
185 align: 1.0 0.5; 185 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 = \
80 lib/elementary/efl_ui_list_view.eo \ 80 lib/elementary/efl_ui_list_view.eo \
81 lib/elementary/efl_ui_list_view_model.eo \ 81 lib/elementary/efl_ui_list_view_model.eo \
82 lib/elementary/efl_ui_list_view_pan.eo \ 82 lib/elementary/efl_ui_list_view_pan.eo \
83 lib/elementary/efl_ui_item_part_text.eo \
84 lib/elementary/efl_ui_item_part_icon.eo \
85 lib/elementary/efl_ui_item_part_extra.eo \
86 lib/elementary/efl_ui_item_part_content.eo \
83 lib/elementary/efl_ui_item.eo \ 87 lib/elementary/efl_ui_item.eo \
84 lib/elementary/efl_ui_list_item.eo \ 88 lib/elementary/efl_ui_list_item.eo \
85 lib/elementary/efl_ui_list_default_item_part_icon.eo \
86 lib/elementary/efl_ui_list_default_item_part_end.eo \
87 lib/elementary/efl_ui_list_default_item.eo \ 89 lib/elementary/efl_ui_list_default_item.eo \
88 lib/elementary/efl_ui_list_empty_item.eo \ 90 lib/elementary/efl_ui_list_empty_item.eo \
89 lib/elementary/efl_ui_list.eo \ 91 lib/elementary/efl_ui_list.eo \
90 lib/elementary/efl_ui_grid_item.eo \ 92 lib/elementary/efl_ui_grid_item.eo \
91 lib/elementary/efl_ui_grid_default_item_part_icon.eo \
92 lib/elementary/efl_ui_grid_default_item_part_end.eo \
93 lib/elementary/efl_ui_grid_default_item.eo \ 93 lib/elementary/efl_ui_grid_default_item.eo \
94 lib/elementary/efl_ui_grid.eo \ 94 lib/elementary/efl_ui_grid.eo \
95 lib/elementary/efl_ui_panes_part.eo \ 95 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)
172 172
173 check = efl_add(EFL_UI_CHECK_CLASS, item); 173 check = efl_add(EFL_UI_CHECK_CLASS, item);
174 if ((i % 3) == 0) 174 if ((i % 3) == 0)
175 efl_content_set(efl_part(item, "end"), check); 175 efl_content_set(efl_part(item, "extra"), check);
176 else if ((i % 3) == 1) 176 else if ((i % 3) == 1)
177 efl_content_set(efl_part(item, "icon"), check); 177 efl_content_set(efl_part(item, "icon"), check);
178 else 178 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;
334# include <efl_ui_slider.eo.h> 334# include <efl_ui_slider.eo.h>
335# include <efl_ui_slider_interval.eo.h> 335# include <efl_ui_slider_interval.eo.h>
336# include <efl_ui_layout_factory.eo.h> 336# include <efl_ui_layout_factory.eo.h>
337# include <efl_ui_item_part_text.eo.h>
338# include <efl_ui_item_part_icon.eo.h>
339# include <efl_ui_item_part_extra.eo.h>
340# include <efl_ui_item_part_content.eo.h>
337# include <efl_ui_item.eo.h> 341# include <efl_ui_item.eo.h>
338# include <efl_ui_list_item.eo.h> 342# include <efl_ui_list_item.eo.h>
339# include <efl_ui_list_default_item_part_icon.eo.h>
340# include <efl_ui_list_default_item_part_end.eo.h>
341# include <efl_ui_list_default_item.eo.h> 343# include <efl_ui_list_default_item.eo.h>
342# include <efl_ui_list_empty_item.eo.h> 344# include <efl_ui_list_empty_item.eo.h>
343# include <efl_ui_list.eo.h> 345# include <efl_ui_list.eo.h>
344# include <efl_ui_grid_item.eo.h> 346# include <efl_ui_grid_item.eo.h>
345# include <efl_ui_grid_default_item_part_icon.eo.h>
346# include <efl_ui_grid_default_item_part_end.eo.h>
347# include <efl_ui_grid_default_item.eo.h> 347# include <efl_ui_grid_default_item.eo.h>
348# include <efl_ui_grid.eo.h> 348# include <efl_ui_grid.eo.h>
349# include <efl_ui_list_view_types.eot.h> 349# include <efl_ui_list_view_types.eot.h>
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 @@
8#include <Elementary.h> 8#include <Elementary.h>
9 9
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "efl_ui_grid_default_item_part_icon.eo.h"
12#include "efl_ui_grid_default_item_part_end.eo.h"
13#include "elm_part_helper.h" 11#include "elm_part_helper.h"
14 12
15#define MY_CLASS EFL_UI_GRID_DEFAULT_ITEM_CLASS 13#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")
42ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) 40ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void)
43ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void) 41ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void)
44ELM_PART_CONTENT_DEFAULT_GET(efl_ui_grid_default_item, "efl.icon") 42ELM_PART_CONTENT_DEFAULT_GET(efl_ui_grid_default_item, "efl.icon")
45ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void 43ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_grid_default_item, void)
46)
47
48Eina_Bool
49_efl_ui_grid_default_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
50{
51 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
52 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
53}
54
55Efl_Gfx_Entity *
56_efl_ui_grid_default_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
57{
58 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
59 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
60}
61
62Efl_Gfx_Entity *
63_efl_ui_grid_default_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
64{
65 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
66 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
67}
68#include "efl_ui_grid_default_item_part_icon.eo.c"
69
70Eina_Bool
71_efl_ui_grid_default_item_part_end_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
72{
73 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
74 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
75}
76
77Efl_Gfx_Entity *
78_efl_ui_grid_default_item_part_end_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
79{
80 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
81 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
82}
83
84Efl_Gfx_Entity *
85_efl_ui_grid_default_item_part_end_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
86{
87 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
88 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
89}
90#include "efl_ui_grid_default_item_part_end.eo.c"
91 44
92EOLIAN static Efl_Object * 45EOLIAN static Efl_Object *
93_efl_ui_grid_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) 46_efl_ui_grid_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part)
94{ 47{
95 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 48 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
96 if (eina_streq(part, "text")) 49 if (eina_streq(part, "text"))
97 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, "efl.text"); 50 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text");
98 else if (eina_streq(part, "icon")) 51 else if (eina_streq(part, "icon"))
99 return ELM_PART_IMPLEMENT(EFL_UI_GRID_DEFAULT_ITEM_PART_ICON_CLASS, obj, "efl.icon"); 52 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon");
100 else if (eina_streq(part, "end")) 53 else if (eina_streq(part, "extra"))
101 return ELM_PART_IMPLEMENT(EFL_UI_GRID_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end"); 54 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra");
102 55
103 return efl_part_get(efl_super(obj, MY_CLASS), part); 56 return efl_part_get(efl_super(obj, MY_CLASS), part);
104} 57}
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
11 @Efl.Content or @Efl.Part.]] 11 @Efl.Content or @Efl.Part.]]
12 data: null; 12 data: null;
13 parts { 13 parts {
14 icon: Efl.Ui.Grid_Default_Item_Part_Icon; [[]] 14 text: Efl.Ui.Item_Part_Text; [[The text part for grid default item.
15 end: Efl.Ui.Grid_Default_Item_Part_End; [[]] 15 text part is the caption of grid item.]]
16 icon: Efl.Ui.Item_Part_Icon; [[The icon content part for grid default item.
17 icon part is the main content of grid item.]]
18 end: Efl.Ui.Item_Part_Extra; [[The extra content part for grid default item.
19 extra part is the spare content of grid item.
20 you can swallow small badge widget such as check, radio.]]
16 } 21 }
17 implements { 22 implements {
18 //Efl.Object 23 //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 @@
1class @beta Efl.Ui.Grid_Default_Item_Part_End extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[Grid Default Item internal content of end part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
1class @beta Efl.Ui.Grid_Default_Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[Grid Default Item internal content of icon part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
9 9
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "efl_ui_item_private.h" 11#include "efl_ui_item_private.h"
12//part
13#include "efl_ui_item_part_text.eo.h"
14#include "efl_ui_item_part_icon.eo.h"
15#include "efl_ui_item_part_extra.eo.h"
16#include "efl_ui_item_part_content.eo.h"
17#include "elm_part_helper.h"
12 18
13#define MY_CLASS EFL_UI_ITEM_CLASS 19#define MY_CLASS EFL_UI_ITEM_CLASS
14#define MY_CLASS_PFX efl_ui_item 20#define MY_CLASS_PFX efl_ui_item
15 21
16#define MY_CLASS_NAME "Efl.Ui.Item" 22#define MY_CLASS_NAME "Efl.Ui.Item"
17 23
24/* Efl.Part */
25EOLIAN static void
26_efl_ui_item_part_text_efl_text_text_set(Eo *obj, void *pd EINA_UNUSED, const char *text)
27{
28 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
29 efl_text_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), text);
30
31 efl_layout_signal_emit(wd->obj, "efl,state,text,set", "efl");
32 elm_layout_sizing_eval(wd->obj);
33}
34
35EOLIAN static const char*
36_efl_ui_item_part_text_efl_text_text_get(const Eo *obj, void *pd EINA_UNUSED)
37{
38 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
39 return efl_text_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
40}
41
42EOLIAN static void
43_efl_ui_item_part_text_efl_text_markup_markup_set(Eo *obj, void *pd EINA_UNUSED, const char *markup)
44{
45 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
46 efl_text_markup_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), markup);
47
48 efl_layout_signal_emit(obj, "efl,state,text,set", "efl");
49 elm_layout_sizing_eval(obj);
50}
51
52EOLIAN static const char*
53_efl_ui_item_part_text_efl_text_markup_markup_get(const Eo *obj, void *pd EINA_UNUSED)
54{
55 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
56 return efl_text_markup_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
57}
58
59EOLIAN static const char *
60_efl_ui_item_part_text_efl_ui_l10n_l10n_text_get(const Eo *obj, void *_pd EINA_UNUSED, const char **domain)
61{
62 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
63 return elm_widget_part_translatable_text_get(pd->obj, pd->part, domain);
64}
65
66EOLIAN static void
67_efl_ui_item_part_text_efl_ui_l10n_l10n_text_set(Eo *obj, void *_pd EINA_UNUSED, const char *text, const char *domain)
68{
69 Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
70 elm_widget_part_translatable_text_set(pd->obj, pd->part, text, domain);
71}
72#include "efl_ui_item_part_text.eo.c"
73
74/* Efl.Ui.List_Default_Item_Part_Icon */
75
76Eina_Bool
77_efl_ui_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
78{
79 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
80 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
81}
82
83Efl_Gfx_Entity *
84_efl_ui_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
85{
86 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
87 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
88}
89
90Efl_Gfx_Entity *
91_efl_ui_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
92{
93 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
94 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
95}
96#include "efl_ui_item_part_icon.eo.c"
97
98Eina_Bool
99_efl_ui_item_part_extra_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
100{
101 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
102 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
103}
104
105Efl_Gfx_Entity *
106_efl_ui_item_part_extra_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
107{
108 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
109 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
110}
111
112Efl_Gfx_Entity *
113_efl_ui_item_part_extra_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
114{
115 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
116 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
117}
118#include "efl_ui_item_part_extra.eo.c"
119
120Eina_Bool
121_efl_ui_item_part_content_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
122{
123 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
124 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
125}
126
127Efl_Gfx_Entity *
128_efl_ui_item_part_content_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
129{
130 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
131 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
132}
133
134Efl_Gfx_Entity *
135_efl_ui_item_part_content_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
136{
137 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
138 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
139}
140#include "efl_ui_item_part_content.eo.c"
141/* Efl.Part */
142
18static void 143static void
19_item_select(Eo *obj, Efl_Ui_Item_Data *pd) 144_item_select(Eo *obj, Efl_Ui_Item_Data *pd)
20{ 145{
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 @@
1class @beta Efl.Ui.Item_Part_Content extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[Item internal content part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
1class @beta Efl.Ui.Item_Part_Extra extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[Item internal content of extra part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
1class @beta Efl.Ui.Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[Item internal content of icon part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
1class @beta Efl.Ui.Item_Part_Text extends Efl.Ui.Layout_Part implements
2 Efl.Text, Efl.Text_Markup, Efl.Ui.L10n
3{
4 [[Item internal text part class]]
5 data: null;
6 implements {
7 Efl.Text.text { set; get; }
8 Efl.Text_Markup.markup { get; set; }
9 Efl.Ui.L10n.l10n_text { get; set; }
10 }
11}
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 @@
8#include <Elementary.h> 8#include <Elementary.h>
9 9
10#include "elm_priv.h" 10#include "elm_priv.h"
11#include "efl_ui_list_default_item_part_icon.eo.h"
12#include "efl_ui_list_default_item_part_end.eo.h"
13#include "elm_part_helper.h" 11#include "elm_part_helper.h"
14 12
15#define MY_CLASS EFL_UI_LIST_DEFAULT_ITEM_CLASS 13#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)
36 efl_destructor(efl_super(obj, MY_CLASS)); 34 efl_destructor(efl_super(obj, MY_CLASS));
37} 35}
38 36
39/* Efl.Part */
40
41ELM_PART_TEXT_DEFAULT_GET(efl_ui_list_default_item, "efl.text") 37ELM_PART_TEXT_DEFAULT_GET(efl_ui_list_default_item, "efl.text")
42ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) 38ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void)
43ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void) 39ELM_PART_MARKUP_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void)
44ELM_PART_CONTENT_DEFAULT_GET(efl_ui_list_default_item, "efl.icon") 40ELM_PART_CONTENT_DEFAULT_GET(efl_ui_list_default_item, "efl.icon")
45ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void 41ELM_PART_CONTENT_DEFAULT_IMPLEMENT(efl_ui_list_default_item, void)
46)
47
48Eina_Bool
49_efl_ui_list_default_item_part_icon_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
50{
51 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
52 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
53}
54
55Efl_Gfx_Entity *
56_efl_ui_list_default_item_part_icon_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
57{
58 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
59 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
60}
61
62Efl_Gfx_Entity *
63_efl_ui_list_default_item_part_icon_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
64{
65 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
66 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
67}
68#include "efl_ui_list_default_item_part_icon.eo.c"
69
70Eina_Bool
71_efl_ui_list_default_item_part_end_efl_content_content_set(Eo *obj, void *pd EINA_UNUSED, Efl_Gfx_Entity *content)
72{
73 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
74 return efl_content_set(efl_part(efl_super(wd->obj, MY_CLASS), wd->part), content);
75}
76
77Efl_Gfx_Entity *
78_efl_ui_list_default_item_part_end_efl_content_content_get(const Eo *obj, void *pd EINA_UNUSED)
79{
80 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
81 return efl_content_get(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
82}
83
84Efl_Gfx_Entity *
85_efl_ui_list_default_item_part_end_efl_content_content_unset(Eo *obj, void *pd EINA_UNUSED)
86{
87 Elm_Part_Data *wd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
88 return efl_content_unset(efl_part(efl_super(wd->obj, MY_CLASS), wd->part));
89}
90#include "efl_ui_list_default_item_part_end.eo.c"
91 42
92EOLIAN static Efl_Object * 43EOLIAN static Efl_Object *
93_efl_ui_list_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part) 44_efl_ui_list_default_item_efl_part_part_get(const Eo *obj, void *wd EINA_UNUSED, const char *part)
94{ 45{
95 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 46 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
96 if (eina_streq(part, "text")) 47 if (eina_streq(part, "text"))
97 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_TEXT_CLASS, obj, "efl.text"); 48 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_TEXT_CLASS, obj, "efl.text");
98 else if (eina_streq(part, "icon")) 49 else if (eina_streq(part, "icon"))
99 return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_ICON_CLASS, obj, "efl.icon"); 50 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_ICON_CLASS, obj, "efl.icon");
100 else if (eina_streq(part, "end")) 51 else if (eina_streq(part, "extra"))
101 return ELM_PART_IMPLEMENT(EFL_UI_LIST_DEFAULT_ITEM_PART_END_CLASS, obj, "efl.end"); 52 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_EXTRA_CLASS, obj, "efl.extra");
102 53
103 return efl_part_get(efl_super(obj, MY_CLASS), part); 54 return efl_part_get(efl_super(obj, MY_CLASS), part);
104} 55}
105/* Efl.Part end */
106 56
107/* Internal EO APIs and hidden overrides */ 57/* Internal EO APIs and hidden overrides */
108#define EFL_UI_LIST_DEFAULT_ITEM_EXTRA_OPS \ 58#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
9 text and contents can be appliable by efl_text, 9 text and contents can be appliable by efl_text,
10 efl_content or efl_part APIs.]] 10 efl_content or efl_part APIs.]]
11 data: null; 11 data: null;
12 parts {
13 text: Efl.Ui.Item_Part_Text; [[The text part for list default item.]]
14 icon: Efl.Ui.Item_Part_Icon; [[The icon content part for list default item.
15 icon part is the left-side content of list item.]]
16 extra: Efl.Ui.Item_Part_Extra; [[The extra content part for list default item.
17 extra part is the right-side content of list item.]]
18 }
12 implements { 19 implements {
13 //Efl.Object 20 //Efl.Object
14 Efl.Object.finalize; 21 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 @@
1class @beta Efl.Ui.List_Default_Item_Part_End extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[List Default Item internal content of end part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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 @@
1class @beta Efl.Ui.List_Default_Item_Part_Icon extends Efl.Ui.Layout_Part implements Efl.Content
2{
3 [[List Default Item internal content of icon part class]]
4 data: null;
5 implements {
6 Efl.Content.content { get; set; }
7 Efl.Content.content_unset;
8 }
9}
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
44{ 44{
45 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL); 45 EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
46 if (eina_streq(part, "content")) 46 if (eina_streq(part, "content"))
47 return ELM_PART_IMPLEMENT(EFL_UI_LAYOUT_PART_CONTENT_CLASS, obj, "efl.content"); 47 return ELM_PART_IMPLEMENT(EFL_UI_ITEM_PART_CONTENT_CLASS, obj, "efl.content");
48 48
49 return efl_part_get(efl_super(obj, MY_CLASS), part); 49 return efl_part_get(efl_super(obj, MY_CLASS), part);
50} 50}
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
5 thus user can decorate item by filling the swallow with 5 thus user can decorate item by filling the swallow with
6 any kind of container.]] 6 any kind of container.]]
7 data: null; 7 data: null;
8 parts {
9 content: Efl.Ui.Item_Part_Content; [[the content part for list empty item.
10 the content part is empty slot for user customizing.
11 fill the place with container widget such as layout, box, table.]]
12 }
8 implements { 13 implements {
9 //Efl.Object 14 //Efl.Object
10 Efl.Object.finalize; 15 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 = [
115 'efl_ui_list_view.eo', 115 'efl_ui_list_view.eo',
116 'efl_ui_list_view_model.eo', 116 'efl_ui_list_view_model.eo',
117 'efl_ui_list_view_pan.eo', 117 'efl_ui_list_view_pan.eo',
118 'efl_ui_item_part_text.eo',
119 'efl_ui_item_part_icon.eo',
120 'efl_ui_item_part_extra.eo',
121 'efl_ui_item_part_content.eo',
118 'efl_ui_item.eo', 122 'efl_ui_item.eo',
119 'efl_ui_list_item.eo', 123 'efl_ui_list_item.eo',
120 'efl_ui_list_default_item_part_icon.eo',
121 'efl_ui_list_default_item_part_end.eo',
122 'efl_ui_list_default_item.eo', 124 'efl_ui_list_default_item.eo',
123 'efl_ui_list_empty_item.eo', 125 'efl_ui_list_empty_item.eo',
124 'efl_ui_list.eo', 126 'efl_ui_list.eo',
125 'efl_ui_grid_item.eo', 127 'efl_ui_grid_item.eo',
126 'efl_ui_grid_default_item_part_icon.eo',
127 'efl_ui_grid_default_item_part_end.eo',
128 'efl_ui_grid_default_item.eo', 128 'efl_ui_grid_default_item.eo',
129 'efl_ui_grid.eo', 129 'efl_ui_grid.eo',
130 'efl_ui_panes_part.eo', 130 'efl_ui_panes_part.eo',