summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-08-13 16:36:29 +0300
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-09-17 15:08:41 +0300
commit4eadfe812c546983c50e74125c7402803882d19f (patch)
tree20f981fdd8f26bfd5228be3891040b601d5a5bdb
parentb32de6df350b98c54d2bb3ba493052b362a6a833 (diff)
Porting To Eo: Elm Widget Item
Since we want to support legacy inheritance mechanism, code is not finished and will have to be cleaned when all the items are ported.
-rw-r--r--src/lib/Makefile.am11
-rw-r--r--src/lib/elc_naviframe.c4
-rw-r--r--src/lib/elm_access.c14
-rw-r--r--src/lib/elm_colorselector.c6
-rw-r--r--src/lib/elm_diskselector.c2
-rw-r--r--src/lib/elm_gengrid.c4
-rw-r--r--src/lib/elm_genlist.c8
-rw-r--r--src/lib/elm_index.c4
-rw-r--r--src/lib/elm_list.c4
-rw-r--r--src/lib/elm_main.c116
-rw-r--r--src/lib/elm_object_item_migration_temp.h4
-rw-r--r--src/lib/elm_segment_control.c4
-rw-r--r--src/lib/elm_toolbar.c6
-rw-r--r--src/lib/elm_widget.c655
-rw-r--r--src/lib/elm_widget.h386
-rw-r--r--src/lib/elm_widget_colorselector.h4
-rw-r--r--src/lib/elm_widget_ctxpopup.h2
-rw-r--r--src/lib/elm_widget_diskselector.h6
-rw-r--r--src/lib/elm_widget_flipselector.h4
-rw-r--r--src/lib/elm_widget_gengrid.h6
-rw-r--r--src/lib/elm_widget_genlist.h6
-rw-r--r--src/lib/elm_widget_hoversel.h4
-rw-r--r--src/lib/elm_widget_index.h4
-rw-r--r--src/lib/elm_widget_item.eo751
-rw-r--r--src/lib/elm_widget_list.h4
-rw-r--r--src/lib/elm_widget_menu.h4
-rw-r--r--src/lib/elm_widget_multibuttonentry.h4
-rw-r--r--src/lib/elm_widget_naviframe.h4
-rw-r--r--src/lib/elm_widget_popup.h6
-rw-r--r--src/lib/elm_widget_segment_control.h4
-rw-r--r--src/lib/elm_widget_slideshow.h4
-rw-r--r--src/lib/elm_widget_toolbar.h6
32 files changed, 1631 insertions, 420 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 6706a4d5d..251b09a61 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -843,7 +843,9 @@ BUILT_SOURCES = \
843 elm_web.eo.legacy.h \ 843 elm_web.eo.legacy.h \
844 elm_win.eo.c \ 844 elm_win.eo.c \
845 elm_win.eo.h \ 845 elm_win.eo.h \
846 elm_win.eo.legacy.h 846 elm_win.eo.legacy.h \
847 elm_widget_item.eo.c \
848 elm_widget_item.eo.h
847 849
848elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@ 850elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@
849elementaryeolianfiles_DATA = \ 851elementaryeolianfiles_DATA = \
@@ -937,7 +939,8 @@ elementaryeolianfiles_DATA = \
937 elm_toolbar.eo \ 939 elm_toolbar.eo \
938 elm_video.eo \ 940 elm_video.eo \
939 elm_web.eo \ 941 elm_web.eo \
940 elm_win.eo 942 elm_win.eo \
943 elm_widget_item.eo
941 944
942EXTRA_DIST += ${elementaryeolianfiles_DATA} 945EXTRA_DIST += ${elementaryeolianfiles_DATA}
943 946
@@ -1033,6 +1036,7 @@ nodist_includesunstable_HEADERS = \
1033 elm_video.eo.h \ 1036 elm_video.eo.h \
1034 elm_web.eo.h \ 1037 elm_web.eo.h \
1035 elm_win.eo.h \ 1038 elm_win.eo.h \
1039 elm_widget_item.eo.h \
1036 elm_layout.eo.legacy.h \ 1040 elm_layout.eo.legacy.h \
1037 elm_frame.eo.legacy.h \ 1041 elm_frame.eo.legacy.h \
1038 elm_hover.eo.legacy.h \ 1042 elm_hover.eo.legacy.h \
@@ -1095,7 +1099,8 @@ nodist_includesunstable_HEADERS = \
1095 elm_toolbar.eo.legacy.h \ 1099 elm_toolbar.eo.legacy.h \
1096 elm_video.eo.legacy.h \ 1100 elm_video.eo.legacy.h \
1097 elm_web.eo.legacy.h \ 1101 elm_web.eo.legacy.h \
1098 elm_win.eo.legacy.h 1102 elm_win.eo.legacy.h \
1103 elm_widget_item.eo.legacy.h
1099 1104
1100if HAVE_CXX11 1105if HAVE_CXX11
1101 1106
diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c
index 32b1ce7a4..ae00e6577 100644
--- a/src/lib/elc_naviframe.c
+++ b/src/lib/elc_naviframe.c
@@ -436,13 +436,13 @@ _access_obj_process(Elm_Naviframe_Item *it, Eina_Bool is_access)
436 _elm_access_callback_set(_elm_access_info_get(ao), 436 _elm_access_callback_set(_elm_access_info_get(ao),
437 ELM_ACCESS_INFO, _access_info_cb, it); 437 ELM_ACCESS_INFO, _access_info_cb, it);
438 /* to access title access object, any idea? */ 438 /* to access title access object, any idea? */
439 ((Elm_Widget_Item *)it)->access_obj = ao; 439 ((Elm_Widget_Item_Data *)it)->access_obj = ao;
440 } 440 }
441 } 441 }
442 else 442 else
443 { 443 {
444 /* to access title access object, any idea? */ 444 /* to access title access object, any idea? */
445 ao = ((Elm_Widget_Item *)it)->access_obj; 445 ao = ((Elm_Widget_Item_Data *)it)->access_obj;
446 if (!ao) return; 446 if (!ao) return;
447 447
448 if (it->title_label || it->subtitle_label) 448 if (it->title_label || it->subtitle_label)
diff --git a/src/lib/elm_access.c b/src/lib/elm_access.c
index f5875917e..32721a55c 100644
--- a/src/lib/elm_access.c
+++ b/src/lib/elm_access.c
@@ -129,7 +129,7 @@ _elm_access_elm_widget_activate(Eo *obj, void *_pd EINA_UNUSED, Elm_Activate act
129 129
130 if (ac->activate) 130 if (ac->activate)
131 ac->activate(ac->activate_data, ac->part_object, 131 ac->activate(ac->activate_data, ac->part_object,
132 (Elm_Object_Item *)ac->widget_item); 132 (Elm_Object_Item *)ac->widget_item->eo_obj);
133 133
134 return EINA_TRUE; 134 return EINA_TRUE;
135} 135}
@@ -413,13 +413,13 @@ _access_order_del_cb(void *data,
413 Evas_Object *obj, 413 Evas_Object *obj,
414 void *event_info EINA_UNUSED) 414 void *event_info EINA_UNUSED)
415{ 415{
416 Elm_Widget_Item *item = data; 416 Elm_Widget_Item_Data *item = data;
417 417
418 item->access_order = eina_list_remove(item->access_order, obj); 418 item->access_order = eina_list_remove(item->access_order, obj);
419} 419}
420 420
421void 421void
422_elm_access_widget_item_access_order_set(Elm_Widget_Item *item, 422_elm_access_widget_item_access_order_set(Elm_Widget_Item_Data *item,
423 Eina_List *objs) 423 Eina_List *objs)
424{ 424{
425 Eina_List *l; 425 Eina_List *l;
@@ -439,14 +439,14 @@ _elm_access_widget_item_access_order_set(Elm_Widget_Item *item,
439} 439}
440 440
441const Eina_List * 441const Eina_List *
442_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item) 442_elm_access_widget_item_access_order_get(const Elm_Widget_Item_Data *item)
443{ 443{
444 if (!item) return NULL; 444 if (!item) return NULL;
445 return item->access_order; 445 return item->access_order;
446} 446}
447 447
448void 448void
449_elm_access_widget_item_access_order_unset(Elm_Widget_Item *item) 449_elm_access_widget_item_access_order_unset(Elm_Widget_Item_Data *item)
450{ 450{
451 Eina_List *l, *l_next; 451 Eina_List *l, *l_next;
452 Evas_Object *o; 452 Evas_Object *o;
@@ -1156,7 +1156,7 @@ _elm_access_object_unregister(Evas_Object *obj, Evas_Object *hoverobj)
1156} 1156}
1157 1157
1158EAPI void 1158EAPI void
1159_elm_access_widget_item_register(Elm_Widget_Item *item) 1159_elm_access_widget_item_register(Elm_Widget_Item_Data *item)
1160{ 1160{
1161 Evas_Object *ao, *ho; 1161 Evas_Object *ao, *ho;
1162 Evas_Coord x, y, w, h; 1162 Evas_Coord x, y, w, h;
@@ -1194,7 +1194,7 @@ _elm_access_widget_item_register(Elm_Widget_Item *item)
1194} 1194}
1195 1195
1196EAPI void 1196EAPI void
1197_elm_access_widget_item_unregister(Elm_Widget_Item *item) 1197_elm_access_widget_item_unregister(Elm_Widget_Item_Data *item)
1198{ 1198{
1199 Evas_Object *ao; 1199 Evas_Object *ao;
1200 1200
diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c
index e57294d0a..19da2a2cf 100644
--- a/src/lib/elm_colorselector.c
+++ b/src/lib/elm_colorselector.c
@@ -1365,7 +1365,7 @@ _access_widget_item_register(Elm_Color_Item *it)
1365{ 1365{
1366 Elm_Access_Info *ai; 1366 Elm_Access_Info *ai;
1367 1367
1368 _elm_access_widget_item_register((Elm_Widget_Item *)it); 1368 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
1369 1369
1370 ai = _elm_access_info_get(it->base.access_obj); 1370 ai = _elm_access_info_get(it->base.access_obj);
1371 1371
@@ -1805,7 +1805,7 @@ _elm_colorselector_elm_widget_focus_next(Eo *obj, Elm_Colorselector_Data *sd, El
1805{ 1805{
1806 Eina_List *items = NULL; 1806 Eina_List *items = NULL;
1807 Eina_List *l; 1807 Eina_List *l;
1808 Elm_Widget_Item *item; 1808 Elm_Widget_Item_Data *item;
1809 int i = 0; 1809 int i = 0;
1810 1810
1811 if (!sd) return EINA_FALSE; 1811 if (!sd) return EINA_FALSE;
@@ -1847,7 +1847,7 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
1847 else 1847 else
1848 { 1848 {
1849 EINA_LIST_FOREACH(sd->items, l, it) 1849 EINA_LIST_FOREACH(sd->items, l, it)
1850 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 1850 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
1851 1851
1852 //TODO: _elm_access_edje_object_part_object_unregister() ? 1852 //TODO: _elm_access_edje_object_part_object_unregister() ?
1853 } 1853 }
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c
index 1021d8438..8cd930448 100644
--- a/src/lib/elm_diskselector.c
+++ b/src/lib/elm_diskselector.c
@@ -674,7 +674,7 @@ _item_new(Evas_Object *obj,
674 //XXX: ACCESS 674 //XXX: ACCESS
675 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) 675 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
676 { 676 {
677 _elm_access_widget_item_register((Elm_Widget_Item *)it); 677 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
678 678
679 _elm_access_text_set(_elm_access_info_get(it->base.access_obj), 679 _elm_access_text_set(_elm_access_info_get(it->base.access_obj),
680 ELM_ACCESS_TYPE, E_("diskselector item")); 680 ELM_ACCESS_TYPE, E_("diskselector item"));
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 385c1b8b8..a118d7ff3 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -798,7 +798,7 @@ _access_widget_item_register(Elm_Gen_Item *it)
798{ 798{
799 Elm_Access_Info *ai; 799 Elm_Access_Info *ai;
800 800
801 _elm_access_widget_item_register((Elm_Widget_Item *)it); 801 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
802 802
803 ai = _elm_access_info_get(it->base.access_obj); 803 ai = _elm_access_info_get(it->base.access_obj);
804 804
@@ -3626,7 +3626,7 @@ _access_obj_process(Elm_Gengrid_Data * sd, Eina_Bool is_access)
3626 if (!it->realized) continue; 3626 if (!it->realized) continue;
3627 if (is_access) _access_widget_item_register(it); 3627 if (is_access) _access_widget_item_register(it);
3628 else 3628 else
3629 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 3629 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
3630 3630
3631 } 3631 }
3632} 3632}
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 297bcf3a3..ce82804e8 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -1548,7 +1548,7 @@ _access_widget_item_register(Elm_Gen_Item *it)
1548{ 1548{
1549 Elm_Access_Info *ai; 1549 Elm_Access_Info *ai;
1550 1550
1551 _elm_access_widget_item_register((Elm_Widget_Item *)it); 1551 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
1552 1552
1553 ai = _elm_access_info_get(it->base.access_obj); 1553 ai = _elm_access_info_get(it->base.access_obj);
1554 1554
@@ -1697,7 +1697,7 @@ _item_realize(Elm_Gen_Item *it,
1697 1697
1698 /* access: unregister item which have no text and content */ 1698 /* access: unregister item which have no text and content */
1699 if (_elm_config->access_mode && !it->texts && !it->contents) 1699 if (_elm_config->access_mode && !it->texts && !it->contents)
1700 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 1700 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
1701 1701
1702 if (!it->item->mincalcd) 1702 if (!it->item->mincalcd)
1703 { 1703 {
@@ -4777,7 +4777,7 @@ _item_unrealize_cb(Elm_Gen_Item *it)
4777 4777
4778 /* access */ 4778 /* access */
4779 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON) 4779 if (_elm_config->access_mode == ELM_ACCESS_MODE_ON)
4780 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 4780 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
4781 4781
4782 // unswallow VIEW(it) first then manipulate VIEW(it) 4782 // unswallow VIEW(it) first then manipulate VIEW(it)
4783 _decorate_item_unrealize(it); 4783 _decorate_item_unrealize(it);
@@ -5405,7 +5405,7 @@ _access_obj_process(Elm_Genlist_Data *sd, Eina_Bool is_access)
5405 if (!it->realized) continue; 5405 if (!it->realized) continue;
5406 if (is_access) _access_widget_item_register(it); 5406 if (is_access) _access_widget_item_register(it);
5407 else 5407 else
5408 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 5408 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
5409 } 5409 }
5410 } 5410 }
5411 else if (done) break; 5411 else if (done) break;
diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c
index cf66fe0a1..381fcf717 100644
--- a/src/lib/elm_index.c
+++ b/src/lib/elm_index.c
@@ -113,7 +113,7 @@ _access_widget_item_register(Elm_Index_Item *it)
113{ 113{
114 Elm_Access_Info *ai; 114 Elm_Access_Info *ai;
115 115
116 _elm_access_widget_item_register((Elm_Widget_Item *)it); 116 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
117 117
118 ai = _elm_access_info_get(it->base.access_obj); 118 ai = _elm_access_info_get(it->base.access_obj);
119 119
@@ -1033,7 +1033,7 @@ _access_obj_process(Evas_Object *obj, Eina_Bool is_access)
1033 { 1033 {
1034 if (it->level != 0) continue; 1034 if (it->level != 0) continue;
1035 if (is_access) _access_widget_item_register(it); 1035 if (is_access) _access_widget_item_register(it);
1036 else _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 1036 else _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
1037 } 1037 }
1038 1038
1039 if (is_access) 1039 if (is_access)
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 63fdbbb7c..5b40333b0 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -2137,10 +2137,10 @@ _access_widget_item_register(Elm_List_Item *it, Eina_Bool is_access)
2137{ 2137{
2138 Elm_Access_Info *ai; 2138 Elm_Access_Info *ai;
2139 2139
2140 if (!is_access) _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 2140 if (!is_access) _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
2141 else 2141 else
2142 { 2142 {
2143 _elm_access_widget_item_register((Elm_Widget_Item *)it); 2143 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
2144 2144
2145 ai = _elm_access_info_get(it->base.access_obj); 2145 ai = _elm_access_info_get(it->base.access_obj);
2146 2146
diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
index 19779946b..b5aa66e97 100644
--- a/src/lib/elm_main.c
+++ b/src/lib/elm_main.c
@@ -1638,9 +1638,27 @@ elm_coords_finger_size_adjust(int times_w,
1638 *h = elm_config_finger_size_get() * times_h; 1638 *h = elm_config_finger_size_get() * times_h;
1639} 1639}
1640 1640
1641
1642// Object item Eo migration defines, will be removed later
1643#define IF_EO_DO(obj, func) \
1644 if (eo_isa((Eo *)obj, ELM_WIDGET_ITEM_CLASS)) \
1645 { \
1646 eo_do ((Eo *)obj, func); \
1647 return; \
1648 }
1649
1650#define IF_EO_RETURN(obj, type, func) \
1651 if (eo_isa((Eo *)obj, ELM_WIDGET_ITEM_CLASS)) \
1652 { \
1653 type ret; \
1654 eo_do ((Eo *)obj, ret = func); \
1655 return ret; \
1656 }
1657
1641EAPI Evas_Object * 1658EAPI Evas_Object *
1642elm_object_item_widget_get(const Elm_Object_Item *it) 1659elm_object_item_widget_get(const Elm_Object_Item *it)
1643{ 1660{
1661 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_widget_get());
1644 return elm_widget_item_widget_get(it); 1662 return elm_widget_item_widget_get(it);
1645} 1663}
1646 1664
@@ -1649,20 +1667,23 @@ elm_object_item_part_content_set(Elm_Object_Item *it,
1649 const char *part, 1667 const char *part,
1650 Evas_Object *content) 1668 Evas_Object *content)
1651{ 1669{
1652 _elm_widget_item_part_content_set((Elm_Widget_Item *)it, part, content); 1670 IF_EO_DO(it, elm_wdg_item_part_content_set(part, content));
1671 elm_widget_item_internal_part_content_set((Elm_Widget_Item_Data *)it, part, content);
1653} 1672}
1654 1673
1655EAPI Evas_Object * 1674EAPI Evas_Object *
1656elm_object_item_part_content_get(const Elm_Object_Item *it, 1675elm_object_item_part_content_get(const Elm_Object_Item *it,
1657 const char *part) 1676 const char *part)
1658{ 1677{
1659 return _elm_widget_item_part_content_get((Elm_Widget_Item *)it, part); 1678 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_part_content_get(part));
1679 return elm_widget_item_internal_part_content_get((Elm_Widget_Item_Data *)it, part);
1660} 1680}
1661 1681
1662EAPI Evas_Object * 1682EAPI Evas_Object *
1663elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part) 1683elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part)
1664{ 1684{
1665 return _elm_widget_item_part_content_unset((Elm_Widget_Item *)it, part); 1685 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_part_content_unset(part));
1686 return elm_widget_item_internal_part_content_unset((Elm_Widget_Item_Data *)it, part);
1666} 1687}
1667 1688
1668EAPI void 1689EAPI void
@@ -1670,31 +1691,36 @@ elm_object_item_part_text_set(Elm_Object_Item *it,
1670 const char *part, 1691 const char *part,
1671 const char *label) 1692 const char *label)
1672{ 1693{
1673 _elm_widget_item_part_text_set((Elm_Widget_Item *)it, part, label); 1694 IF_EO_DO(it, elm_wdg_item_part_text_set(part, label));
1695 elm_widget_item_internal_part_text_set((Elm_Widget_Item_Data *)it, part, label);
1674} 1696}
1675 1697
1676EAPI const char * 1698EAPI const char *
1677elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part) 1699elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part)
1678{ 1700{
1679 return _elm_widget_item_part_text_get((Elm_Widget_Item *)it, part); 1701 IF_EO_RETURN(it, const char *, elm_wdg_item_part_text_get(part));
1702 return elm_widget_item_internal_part_text_get((Elm_Widget_Item_Data *)it, part);
1680} 1703}
1681 1704
1682EAPI void 1705EAPI void
1683elm_object_item_domain_translatable_part_text_set(Elm_Object_Item *it, const char *part, const char *domain, const char *text) 1706elm_object_item_domain_translatable_part_text_set(Elm_Object_Item *it, const char *part, const char *domain, const char *text)
1684{ 1707{
1685 _elm_widget_item_domain_translatable_part_text_set((Elm_Widget_Item *)it, part, domain, text); 1708 IF_EO_DO(it, elm_wdg_item_domain_translatable_part_text_set(part, domain, text));
1709 elm_widget_item_internal_domain_translatable_part_text_set((Elm_Widget_Item_Data *)it, part, domain, text);
1686} 1710}
1687 1711
1688EAPI const char * 1712EAPI const char *
1689elm_object_item_translatable_part_text_get(const Elm_Object_Item *it, const char *part) 1713elm_object_item_translatable_part_text_get(const Elm_Object_Item *it, const char *part)
1690{ 1714{
1691 return _elm_widget_item_translatable_part_text_get((Elm_Widget_Item *)it, part); 1715 IF_EO_RETURN(it, const char *, elm_wdg_item_translatable_part_text_get(part));
1716 return elm_widget_item_internal_translatable_part_text_get((Elm_Widget_Item_Data *)it, part);
1692} 1717}
1693 1718
1694EAPI void 1719EAPI void
1695elm_object_item_domain_part_text_translatable_set(Elm_Object_Item *it, const char *part, const char *domain, Eina_Bool translatable) 1720elm_object_item_domain_part_text_translatable_set(Elm_Object_Item *it, const char *part, const char *domain, Eina_Bool translatable)
1696{ 1721{
1697 _elm_widget_item_domain_part_text_translatable_set((Elm_Widget_Item *)it, part, domain, translatable); 1722 IF_EO_DO(it, elm_wdg_item_domain_part_text_translatable_set(part, domain, translatable));
1723 elm_widget_item_internal_domain_part_text_translatable_set((Elm_Widget_Item_Data *)it, part, domain, translatable);
1698} 1724}
1699 1725
1700EAPI void 1726EAPI void
@@ -1731,15 +1757,18 @@ elm_object_focused_item_get(const Evas_Object *obj)
1731EAPI void 1757EAPI void
1732elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt) 1758elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
1733{ 1759{
1734 _elm_widget_item_access_info_set((Elm_Widget_Item *)it, txt); 1760 IF_EO_DO(it, elm_wdg_item_access_info_set(txt));
1761 _elm_widget_item_internal_access_info_set((Elm_Widget_Item_Data *)it, txt);
1735} 1762}
1736 1763
1737EAPI Evas_Object * 1764EAPI Evas_Object *
1738elm_object_item_access_register(Elm_Object_Item *item) 1765elm_object_item_access_register(Elm_Object_Item *item)
1739{ 1766{
1740 Elm_Widget_Item *it; 1767 IF_EO_RETURN(item, Evas_Object *, elm_wdg_item_access_register());
1768
1769 Elm_Widget_Item_Data *it;
1741 1770
1742 it = (Elm_Widget_Item *)item; 1771 it = (Elm_Widget_Item_Data *)item;
1743 1772
1744 _elm_access_widget_item_register(it); 1773 _elm_access_widget_item_register(it);
1745 1774
@@ -1750,208 +1779,243 @@ elm_object_item_access_register(Elm_Object_Item *item)
1750EAPI void 1779EAPI void
1751elm_object_item_access_unregister(Elm_Object_Item *item) 1780elm_object_item_access_unregister(Elm_Object_Item *item)
1752{ 1781{
1753 _elm_access_widget_item_unregister((Elm_Widget_Item *)item); 1782 IF_EO_DO(item, elm_wdg_item_access_unregister());
1783 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)item);
1754} 1784}
1755 1785
1756EAPI Evas_Object * 1786EAPI Evas_Object *
1757elm_object_item_access_object_get(const Elm_Object_Item *item) 1787elm_object_item_access_object_get(const Elm_Object_Item *item)
1758{ 1788{
1789 IF_EO_RETURN(item, Evas_Object *, elm_wdg_item_access_object_get());
1759 if (!item) return NULL; 1790 if (!item) return NULL;
1760 1791
1761 return ((Elm_Widget_Item *)item)->access_obj; 1792 return ((Elm_Widget_Item_Data *)item)->access_obj;
1762} 1793}
1763 1794
1764EAPI void 1795EAPI void
1765elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs) 1796elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs)
1766{ 1797{
1767 _elm_access_widget_item_access_order_set((Elm_Widget_Item *)item, objs); 1798 IF_EO_DO(item, elm_wdg_item_access_order_set(objs));
1799 _elm_access_widget_item_access_order_set((Elm_Widget_Item_Data *)item, objs);
1768} 1800}
1769 1801
1770EAPI const Eina_List * 1802EAPI const Eina_List *
1771elm_object_item_access_order_get(const Elm_Object_Item *item) 1803elm_object_item_access_order_get(const Elm_Object_Item *item)
1772{ 1804{
1773 return _elm_access_widget_item_access_order_get((Elm_Widget_Item *)item); 1805 IF_EO_RETURN(item, const Eina_List *, elm_wdg_item_access_order_get());
1806 return _elm_access_widget_item_access_order_get((Elm_Widget_Item_Data *)item);
1774} 1807}
1775 1808
1776EAPI void 1809EAPI void
1777elm_object_item_access_order_unset(Elm_Object_Item *item) 1810elm_object_item_access_order_unset(Elm_Object_Item *item)
1778{ 1811{
1779 _elm_access_widget_item_access_order_unset((Elm_Widget_Item *)item); 1812 IF_EO_DO(item, elm_wdg_item_access_order_unset());
1813 _elm_access_widget_item_access_order_unset((Elm_Widget_Item_Data *)item);
1780} 1814}
1781 1815
1782EAPI void * 1816EAPI void *
1783elm_object_item_data_get(const Elm_Object_Item *it) 1817elm_object_item_data_get(const Elm_Object_Item *it)
1784{ 1818{
1819 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_data_get());
1785 return elm_widget_item_data_get(it); 1820 return elm_widget_item_data_get(it);
1786} 1821}
1787 1822
1788EAPI void 1823EAPI void
1789elm_object_item_data_set(Elm_Object_Item *it, void *data) 1824elm_object_item_data_set(Elm_Object_Item *it, void *data)
1790{ 1825{
1826 IF_EO_DO(it, elm_wdg_item_data_set(data));
1791 elm_widget_item_data_set(it, data); 1827 elm_widget_item_data_set(it, data);
1792} 1828}
1793 1829
1794EAPI void 1830EAPI void
1795elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) 1831elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
1796{ 1832{
1797 _elm_widget_item_signal_emit((Elm_Widget_Item *)it, emission, source); 1833 IF_EO_DO(it, elm_wdg_item_signal_emit(emission, source));
1834 elm_widget_item_internal_signal_emit((Elm_Widget_Item_Data *)it, emission, source);
1798} 1835}
1799 1836
1800EAPI void 1837EAPI void
1801elm_object_item_signal_callback_add(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data) 1838elm_object_item_signal_callback_add(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data)
1802{ 1839{
1803 _elm_widget_item_signal_callback_add((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func, data); 1840 IF_EO_DO(it, elm_wdg_item_signal_callback_add(emission, source, func, data));
1841 elm_widget_item_internal_signal_callback_add((Elm_Widget_Item_Data *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func, data);
1804} 1842}
1805 1843
1806EAPI void * 1844EAPI void *
1807elm_object_item_signal_callback_del(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func) 1845elm_object_item_signal_callback_del(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func)
1808{ 1846{
1809 return _elm_widget_item_signal_callback_del((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func); 1847 IF_EO_RETURN(it, void *, elm_wdg_item_signal_callback_del(emission, source, func));
1848 return elm_widget_item_internal_signal_callback_del((Elm_Widget_Item_Data *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func);
1810} 1849}
1811 1850
1812EAPI void 1851EAPI void
1813elm_object_item_style_set(Elm_Object_Item *it, const char *style) 1852elm_object_item_style_set(Elm_Object_Item *it, const char *style)
1814{ 1853{
1854 IF_EO_DO(it, elm_wdg_item_style_set(style));
1815 elm_widget_item_style_set(it, style); 1855 elm_widget_item_style_set(it, style);
1816} 1856}
1817 1857
1818EAPI const char * 1858EAPI const char *
1819elm_object_item_style_get(Elm_Object_Item *it) 1859elm_object_item_style_get(Elm_Object_Item *it)
1820{ 1860{
1861 IF_EO_RETURN(it, const char *, elm_wdg_item_style_get());
1821 return elm_widget_item_style_get(it); 1862 return elm_widget_item_style_get(it);
1822} 1863}
1823 1864
1824EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) 1865EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled)
1825{ 1866{
1826 _elm_widget_item_disabled_set((Elm_Widget_Item *)it, disabled); 1867 IF_EO_DO(it, elm_wdg_item_disabled_set(disabled));
1868 elm_widget_item_internal_disabled_set((Elm_Widget_Item_Data *)it, disabled);
1827} 1869}
1828 1870
1829EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it) 1871EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it)
1830{ 1872{
1831 return _elm_widget_item_disabled_get((Elm_Widget_Item *)it); 1873 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_disabled_get());
1874 return elm_widget_item_internal_disabled_get((Elm_Widget_Item_Data *)it);
1832} 1875}
1833 1876
1834EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb) 1877EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb)
1835{ 1878{
1836 _elm_widget_item_del_cb_set((Elm_Widget_Item *)it, del_cb); 1879 IF_EO_DO(it, elm_wdg_item_del_cb_set(del_cb));
1880 elm_widget_item_internal_del_cb_set((Elm_Widget_Item_Data *)it, del_cb);
1837} 1881}
1838 1882
1839EAPI void elm_object_item_del(Elm_Object_Item *it) 1883EAPI void elm_object_item_del(Elm_Object_Item *it)
1840{ 1884{
1841 if (!it) return; 1885 if (!it) return;
1842 _elm_widget_item_del((Elm_Widget_Item *)it); 1886 IF_EO_DO(it, elm_wdg_item_del());
1887 _elm_widget_item_internal_del((Elm_Widget_Item_Data *)it);
1843} 1888}
1844 1889
1845EAPI void 1890EAPI void
1846elm_object_item_tooltip_text_set(Elm_Object_Item *it, const char *text) 1891elm_object_item_tooltip_text_set(Elm_Object_Item *it, const char *text)
1847{ 1892{
1893 IF_EO_DO(it, elm_wdg_item_tooltip_text_set(text));
1848 elm_widget_item_tooltip_text_set(it, text); 1894 elm_widget_item_tooltip_text_set(it, text);
1849} 1895}
1850 1896
1851EAPI void 1897EAPI void
1852elm_object_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) 1898elm_object_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
1853{ 1899{
1900 IF_EO_DO(it, elm_wdg_item_tooltip_content_cb_set(func, data, del_cb));
1854 elm_widget_item_tooltip_content_cb_set(it, func, data, del_cb); 1901 elm_widget_item_tooltip_content_cb_set(it, func, data, del_cb);
1855} 1902}
1856 1903
1857EAPI void 1904EAPI void
1858elm_object_item_tooltip_unset(Elm_Object_Item *it) 1905elm_object_item_tooltip_unset(Elm_Object_Item *it)
1859{ 1906{
1907 IF_EO_DO(it, elm_wdg_item_tooltip_unset());
1860 elm_widget_item_tooltip_unset(it); 1908 elm_widget_item_tooltip_unset(it);
1861} 1909}
1862 1910
1863EAPI Eina_Bool 1911EAPI Eina_Bool
1864elm_object_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable) 1912elm_object_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable)
1865{ 1913{
1914 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_tooltip_window_mode_set(disable));
1866 return elm_widget_item_tooltip_window_mode_set(it, disable); 1915 return elm_widget_item_tooltip_window_mode_set(it, disable);
1867} 1916}
1868 1917
1869EAPI Eina_Bool 1918EAPI Eina_Bool
1870elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *it) 1919elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *it)
1871{ 1920{
1921 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_tooltip_window_mode_get());
1872 return elm_widget_item_tooltip_window_mode_get(it); 1922 return elm_widget_item_tooltip_window_mode_get(it);
1873} 1923}
1874 1924
1875EAPI void 1925EAPI void
1876elm_object_item_tooltip_style_set(Elm_Object_Item *it, const char *style) 1926elm_object_item_tooltip_style_set(Elm_Object_Item *it, const char *style)
1877{ 1927{
1928 IF_EO_DO(it, elm_wdg_item_tooltip_style_set(style));
1878 elm_widget_item_tooltip_style_set(it, style); 1929 elm_widget_item_tooltip_style_set(it, style);
1879} 1930}
1880 1931
1881EAPI const char * 1932EAPI const char *
1882elm_object_item_tooltip_style_get(const Elm_Object_Item *it) 1933elm_object_item_tooltip_style_get(const Elm_Object_Item *it)
1883{ 1934{
1935 IF_EO_RETURN(it, const char *, elm_wdg_item_tooltip_style_get());
1884 return elm_widget_item_tooltip_style_get(it); 1936 return elm_widget_item_tooltip_style_get(it);
1885} 1937}
1886 1938
1887EAPI void 1939EAPI void
1888elm_object_item_cursor_set(Elm_Object_Item *it, const char *cursor) 1940elm_object_item_cursor_set(Elm_Object_Item *it, const char *cursor)
1889{ 1941{
1942 IF_EO_DO(it, elm_wdg_item_cursor_set(cursor));
1890 elm_widget_item_cursor_set(it, cursor); 1943 elm_widget_item_cursor_set(it, cursor);
1891} 1944}
1892 1945
1893EAPI const char * 1946EAPI const char *
1894elm_object_item_cursor_get(const Elm_Object_Item *it) 1947elm_object_item_cursor_get(const Elm_Object_Item *it)
1895{ 1948{
1949 IF_EO_RETURN(it, const char *, elm_wdg_item_cursor_get());
1896 return elm_widget_item_cursor_get(it); 1950 return elm_widget_item_cursor_get(it);
1897} 1951}
1898 1952
1899EAPI void 1953EAPI void
1900elm_object_item_cursor_unset(Elm_Object_Item *it) 1954elm_object_item_cursor_unset(Elm_Object_Item *it)
1901{ 1955{
1956 IF_EO_DO(it, elm_wdg_item_cursor_unset());
1902 elm_widget_item_cursor_unset(it); 1957 elm_widget_item_cursor_unset(it);
1903} 1958}
1904 1959
1905EAPI void 1960EAPI void
1906elm_object_item_cursor_style_set(Elm_Object_Item *it, const char *style) 1961elm_object_item_cursor_style_set(Elm_Object_Item *it, const char *style)
1907{ 1962{
1963 IF_EO_DO(it, elm_wdg_item_cursor_style_set(style));
1908 elm_widget_item_cursor_style_set(it, style); 1964 elm_widget_item_cursor_style_set(it, style);
1909} 1965}
1910 1966
1911EAPI const char * 1967EAPI const char *
1912elm_object_item_cursor_style_get(const Elm_Object_Item *it) 1968elm_object_item_cursor_style_get(const Elm_Object_Item *it)
1913{ 1969{
1970 IF_EO_RETURN(it, const char *, elm_wdg_item_cursor_style_get());
1914 return elm_widget_item_cursor_style_get(it); 1971 return elm_widget_item_cursor_style_get(it);
1915} 1972}
1916 1973
1917EAPI void 1974EAPI void
1918elm_object_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only) 1975elm_object_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only)
1919{ 1976{
1977 IF_EO_DO(it, elm_wdg_item_cursor_engine_only_set(engine_only));
1920 elm_widget_item_cursor_engine_only_set(it, engine_only); 1978 elm_widget_item_cursor_engine_only_set(it, engine_only);
1921} 1979}
1922 1980
1923EAPI Eina_Bool 1981EAPI Eina_Bool
1924elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it) 1982elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it)
1925{ 1983{
1984 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_cursor_engine_only_get());
1926 return elm_widget_item_cursor_engine_only_get(it); 1985 return elm_widget_item_cursor_engine_only_get(it);
1927} 1986}
1928 1987
1929EAPI Evas_Object * 1988EAPI Evas_Object *
1930elm_object_item_track(Elm_Object_Item *it) 1989elm_object_item_track(Elm_Object_Item *it)
1931{ 1990{
1932 return elm_widget_item_track((Elm_Widget_Item *)it); 1991 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_track());
1992 return elm_widget_item_track((Elm_Widget_Item_Data *)it);
1933} 1993}
1934 1994
1935void 1995void
1936elm_object_item_untrack(Elm_Object_Item *it) 1996elm_object_item_untrack(Elm_Object_Item *it)
1937{ 1997{
1938 elm_widget_item_untrack((Elm_Widget_Item *)it); 1998 IF_EO_DO(it, elm_wdg_item_untrack());
1999 elm_widget_item_untrack((Elm_Widget_Item_Data *)it);
1939} 2000}
1940 2001
1941int 2002int
1942elm_object_item_track_get(const Elm_Object_Item *it) 2003elm_object_item_track_get(const Elm_Object_Item *it)
1943{ 2004{
1944 return elm_widget_item_track_get((Elm_Widget_Item *)it); 2005 IF_EO_RETURN(it, int, elm_wdg_item_track_get());
2006 return elm_widget_item_track_get((Elm_Widget_Item_Data *)it);
1945} 2007}
1946 2008
1947EAPI void 2009EAPI void
1948elm_object_item_focus_set(Elm_Object_Item *item, Eina_Bool focused) 2010elm_object_item_focus_set(Elm_Object_Item *item, Eina_Bool focused)
1949{ 2011{
2012 IF_EO_DO(item, elm_wdg_item_focus_set(focused));
1950 elm_widget_item_focus_set(item, focused); 2013 elm_widget_item_focus_set(item, focused);
1951} 2014}
1952 2015
1953EAPI Eina_Bool 2016EAPI Eina_Bool
1954elm_object_item_focus_get(const Elm_Object_Item *item) 2017elm_object_item_focus_get(const Elm_Object_Item *item)
1955{ 2018{
2019 IF_EO_RETURN(item, Eina_Bool, elm_wdg_item_focus_get());
1956 return elm_widget_item_focus_get(item); 2020 return elm_widget_item_focus_get(item);
1957} 2021}
diff --git a/src/lib/elm_object_item_migration_temp.h b/src/lib/elm_object_item_migration_temp.h
new file mode 100644
index 000000000..4563d260f
--- /dev/null
+++ b/src/lib/elm_object_item_migration_temp.h
@@ -0,0 +1,4 @@
1#undef VIEW
2#undef WIDGET
3#define VIEW(X) X->base->view
4#define WIDGET(X) X->base->widget
diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c
index ed0c8bb2d..dff899fb0 100644
--- a/src/lib/elm_segment_control.c
+++ b/src/lib/elm_segment_control.c
@@ -533,7 +533,7 @@ _access_widget_item_register(Elm_Segment_Item *it)
533{ 533{
534 Elm_Access_Info *ai; 534 Elm_Access_Info *ai;
535 535
536 _elm_access_widget_item_register((Elm_Widget_Item *)it); 536 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
537 537
538 ai = _elm_access_info_get(it->base.access_obj); 538 ai = _elm_access_info_get(it->base.access_obj);
539 539
@@ -663,7 +663,7 @@ _access_obj_process(Elm_Segment_Control_Data *sd, Eina_Bool is_access)
663 { 663 {
664 if (is_access) _access_widget_item_register(it); 664 if (is_access) _access_widget_item_register(it);
665 else 665 else
666 _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 666 _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
667 } 667 }
668} 668}
669 669
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index bb6bb6a80..2556c6889 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -2194,7 +2194,7 @@ static char *
2194_access_info_cb(void *data, Evas_Object *obj EINA_UNUSED) 2194_access_info_cb(void *data, Evas_Object *obj EINA_UNUSED)
2195{ 2195{
2196 Elm_Toolbar_Item *it = (Elm_Toolbar_Item *)data; 2196 Elm_Toolbar_Item *it = (Elm_Toolbar_Item *)data;
2197 const char *txt = ((Elm_Widget_Item *)it)->access_info; 2197 const char *txt = ((Elm_Widget_Item_Data *)it)->access_info;
2198 2198
2199 if (!txt) txt = it->label; 2199 if (!txt) txt = it->label;
2200 if (txt) return strdup(txt); 2200 if (txt) return strdup(txt);
@@ -2280,7 +2280,7 @@ static void
2280_access_widget_item_register(Elm_Toolbar_Item *it) 2280_access_widget_item_register(Elm_Toolbar_Item *it)
2281{ 2281{
2282 Elm_Access_Info *ai; 2282 Elm_Access_Info *ai;
2283 _elm_access_widget_item_register((Elm_Widget_Item *)it); 2283 _elm_access_widget_item_register((Elm_Widget_Item_Data *)it);
2284 ai = _elm_access_info_get(it->base.access_obj); 2284 ai = _elm_access_info_get(it->base.access_obj);
2285 2285
2286 _elm_access_text_set(ai, ELM_ACCESS_TYPE, E_("Toolbar Item")); 2286 _elm_access_text_set(ai, ELM_ACCESS_TYPE, E_("Toolbar Item"));
@@ -2917,7 +2917,7 @@ _access_obj_process(Elm_Toolbar_Data * sd, Eina_Bool is_access)
2917 EINA_INLIST_FOREACH (sd->items, it) 2917 EINA_INLIST_FOREACH (sd->items, it)
2918 { 2918 {
2919 if (is_access) _access_widget_item_register(it); 2919 if (is_access) _access_widget_item_register(it);
2920 else _elm_access_widget_item_unregister((Elm_Widget_Item *)it); 2920 else _elm_access_widget_item_unregister((Elm_Widget_Item_Data *)it);
2921 } 2921 }
2922} 2922}
2923 2923
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index d6af6ffbe..37053ce6a 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -2,6 +2,7 @@
2# include "elementary_config.h" 2# include "elementary_config.h"
3#endif 3#endif
4 4
5#define ELM_WIDGET_ITEM_PROTECTED
5#include <Elementary.h> 6#include <Elementary.h>
6 7
7#include "elm_priv.h" 8#include "elm_priv.h"
@@ -140,12 +141,18 @@ _callbacks_del(Eo *widget, void *data)
140} 141}
141 142
142void 143void
143_elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it) 144_elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *eo_it)
144{ 145{
145 const char *str; 146 const char *str;
146 147
147 if (!it) return; 148 if (!eo_it) return;
148 str = edje_object_data_get(VIEW(it), "focus_highlight"); 149 if (eo_isa((Eo *)eo_it, ELM_WIDGET_ITEM_CLASS))
150 {
151 Elm_Widget_Item_Data *it = eo_data_scope_get((Eo *)eo_it, ELM_WIDGET_ITEM_CLASS);
152 str = edje_object_data_get(it->view, "focus_highlight");
153 }
154 else
155 str = edje_object_data_get(((Elm_Widget_Item_Data *)eo_it)->view, "focus_highlight");
149 if ((str) && (!strcmp(str, "on"))) 156 if ((str) && (!strcmp(str, "on")))
150 elm_widget_highlight_in_theme_set(obj, EINA_TRUE); 157 elm_widget_highlight_in_theme_set(obj, EINA_TRUE);
151 else 158 else
@@ -4011,7 +4018,7 @@ _track_obj_view_update(void *data, Eo *obj,
4011 const Eo_Event_Description *desc EINA_UNUSED, 4018 const Eo_Event_Description *desc EINA_UNUSED,
4012 void *event_info EINA_UNUSED) 4019 void *event_info EINA_UNUSED)
4013{ 4020{
4014 Elm_Widget_Item *item = data; 4021 Elm_Widget_Item_Data *item = data;
4015 _track_obj_update(item->track_obj, obj); 4022 _track_obj_update(item->track_obj, obj);
4016 return EO_CALLBACK_CONTINUE; 4023 return EO_CALLBACK_CONTINUE;
4017} 4024}
@@ -4033,7 +4040,7 @@ _track_obj_view_del(void *data, Eo *obj EINA_UNUSED,
4033 const Eo_Event_Description *desc EINA_UNUSED, 4040 const Eo_Event_Description *desc EINA_UNUSED,
4034 void *event_info EINA_UNUSED) 4041 void *event_info EINA_UNUSED)
4035{ 4042{
4036 Elm_Widget_Item *item = data; 4043 Elm_Widget_Item_Data *item = data;
4037 4044
4038 while (evas_object_ref_get(item->track_obj) > 0) 4045 while (evas_object_ref_get(item->track_obj) > 0)
4039 evas_object_unref(item->track_obj); 4046 evas_object_unref(item->track_obj);
@@ -4050,7 +4057,7 @@ static void
4050_track_obj_del(void *data, Evas *e EINA_UNUSED, 4057_track_obj_del(void *data, Evas *e EINA_UNUSED,
4051 Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) 4058 Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
4052{ 4059{
4053 Elm_Widget_Item *item = data; 4060 Elm_Widget_Item_Data *item = data;
4054 item->track_obj = NULL; 4061 item->track_obj = NULL;
4055 4062
4056 if (!item->view) return; 4063 if (!item->view) return;
@@ -4067,7 +4074,7 @@ _elm_widget_item_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char
4067} 4074}
4068 4075
4069static void * 4076static void *
4070_elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *position) 4077_elm_widget_item_signal_callback_list_get(Elm_Widget_Item_Data *item, Eina_List *position)
4071{ 4078{
4072 Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position); 4079 Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position);
4073 void *data; 4080 void *data;
@@ -4091,6 +4098,8 @@ _elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *posi
4091 return data; 4098 return data;
4092} 4099}
4093 4100
4101#define ERR_NOT_SUPPORTED(item, method) ERR("%s does not support %s API.", elm_widget_type_get(item->widget), method);
4102
4094/** 4103/**
4095 * @internal 4104 * @internal
4096 * 4105 *
@@ -4110,16 +4119,16 @@ _elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *posi
4110 * @see elm_widget_item_del() to release memory. 4119 * @see elm_widget_item_del() to release memory.
4111 * @ingroup Widget 4120 * @ingroup Widget
4112 */ 4121 */
4113EAPI Elm_Widget_Item * 4122EAPI Elm_Widget_Item_Data *
4114_elm_widget_item_new(Evas_Object *widget, 4123_elm_widget_item_new(Evas_Object *widget,
4115 size_t alloc_size) 4124 size_t alloc_size)
4116{ 4125{
4117 if (!_elm_widget_is(widget)) 4126 if (!_elm_widget_is(widget))
4118 return NULL; 4127 return NULL;
4119 4128
4120 Elm_Widget_Item *item; 4129 Elm_Widget_Item_Data *item;
4121 4130
4122 EINA_SAFETY_ON_TRUE_RETURN_VAL(alloc_size < sizeof(Elm_Widget_Item), NULL); 4131 EINA_SAFETY_ON_TRUE_RETURN_VAL(alloc_size < sizeof(Elm_Widget_Item_Data), NULL);
4123 EINA_SAFETY_ON_TRUE_RETURN_VAL(!_elm_widget_is(widget), NULL); 4132 EINA_SAFETY_ON_TRUE_RETURN_VAL(!_elm_widget_is(widget), NULL);
4124 4133
4125 item = calloc(1, alloc_size); 4134 item = calloc(1, alloc_size);
@@ -4130,8 +4139,25 @@ _elm_widget_item_new(Evas_Object *widget,
4130 return item; 4139 return item;
4131} 4140}
4132 4141
4142EOLIAN static void
4143_elm_widget_item_eo_base_constructor(Eo *eo_item, Elm_Widget_Item_Data *item)
4144{
4145 Evas_Object *widget;
4146 eo_do (eo_item, widget = eo_parent_get());
4147
4148 if (!_elm_widget_is(widget))
4149 {
4150 eo_error_set(eo_item);
4151 return;
4152 }
4153
4154 eo_do_super(eo_item, ELM_WIDGET_ITEM_CLASS, eo_constructor());
4155 item->widget = widget;
4156 item->eo_obj = eo_item;
4157}
4158
4133EAPI void 4159EAPI void
4134_elm_widget_item_free(Elm_Widget_Item *item) 4160_elm_widget_item_free(Elm_Widget_Item_Data *item)
4135{ 4161{
4136 Elm_Translate_String_Data *ts; 4162 Elm_Translate_String_Data *ts;
4137 4163
@@ -4161,7 +4187,16 @@ _elm_widget_item_free(Elm_Widget_Item *item)
4161 eina_hash_free(item->labels); 4187 eina_hash_free(item->labels);
4162 4188
4163 EINA_MAGIC_SET(item, EINA_MAGIC_NONE); 4189 EINA_MAGIC_SET(item, EINA_MAGIC_NONE);
4164 free(item); 4190
4191 if (!item->eo_obj)
4192 free(item);
4193}
4194
4195EOLIAN static void
4196_elm_widget_item_eo_base_destructor(Eo *eo_item, Elm_Widget_Item_Data *item)
4197{
4198 _elm_widget_item_free(item);
4199 eo_do_super(eo_item, ELM_WIDGET_ITEM_CLASS, eo_destructor());
4165} 4200}
4166 4201
4167/** 4202/**
@@ -4187,14 +4222,28 @@ _elm_widget_item_free(Elm_Widget_Item *item)
4187 * @see elm_widget_item_del() convenience macro. 4222 * @see elm_widget_item_del() convenience macro.
4188 * @ingroup Widget 4223 * @ingroup Widget
4189 */ 4224 */
4225EOLIAN static void
4226_elm_widget_item_del(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4227{
4228 _elm_widget_item_internal_del(item);
4229}
4230
4190EAPI void 4231EAPI void
4191_elm_widget_item_del(Elm_Widget_Item *item) 4232_elm_widget_item_internal_del(Elm_Widget_Item_Data *item)
4192{ 4233{
4193 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4234 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4194 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4235 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4195 item->on_deletion = EINA_TRUE; 4236 item->on_deletion = EINA_TRUE;
4196 4237
4197 //Widget item delete callback 4238 //Widget item delete callback
4239 if (item->eo_obj)
4240 {
4241 Eina_Bool del_ok;
4242 eo_do(item->eo_obj, del_ok = elm_wdg_item_del_pre());
4243 if (del_ok)
4244 eo_del(item->eo_obj);
4245 return;
4246 }
4198 if (item->del_pre_func) 4247 if (item->del_pre_func)
4199 { 4248 {
4200 if (item->del_pre_func((Elm_Object_Item *)item)) 4249 if (item->del_pre_func((Elm_Object_Item *)item))
@@ -4214,13 +4263,19 @@ _elm_widget_item_del(Elm_Widget_Item *item)
4214 * @ingroup Widget 4263 * @ingroup Widget
4215 */ 4264 */
4216EAPI void 4265EAPI void
4217_elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item, 4266_elm_widget_item_del_pre_hook_set(Elm_Widget_Item_Data *item,
4218 Elm_Widget_Del_Pre_Cb func) 4267 Elm_Widget_Del_Pre_Cb func)
4219{ 4268{
4220 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4269 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4221 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4270 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4222 item->del_pre_func = func; 4271 item->del_pre_func = func;
4223} 4272}
4273
4274EOLIAN static Eina_Bool
4275_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item EINA_UNUSED)
4276{
4277 return EINA_TRUE;
4278}
4224/** 4279/**
4225 * @internal 4280 * @internal
4226 * 4281 *
@@ -4231,7 +4286,7 @@ _elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item,
4231 * @ingroup Widget 4286 * @ingroup Widget
4232 */ 4287 */
4233EAPI void 4288EAPI void
4234_elm_widget_item_style_set_hook_set(Elm_Widget_Item *item, 4289_elm_widget_item_style_set_hook_set(Elm_Widget_Item_Data *item,
4235 Elm_Widget_Style_Set_Cb func) 4290 Elm_Widget_Style_Set_Cb func)
4236{ 4291{
4237 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4292 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4249,7 +4304,7 @@ _elm_widget_item_style_set_hook_set(Elm_Widget_Item *item,
4249 * @ingroup Widget 4304 * @ingroup Widget
4250 */ 4305 */
4251EAPI void 4306EAPI void
4252_elm_widget_item_style_get_hook_set(Elm_Widget_Item *item, 4307_elm_widget_item_style_get_hook_set(Elm_Widget_Item_Data *item,
4253 Elm_Widget_Style_Get_Cb func) 4308 Elm_Widget_Style_Get_Cb func)
4254{ 4309{
4255 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4310 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4267,7 +4322,7 @@ _elm_widget_item_style_get_hook_set(Elm_Widget_Item *item,
4267 * @ingroup Widget 4322 * @ingroup Widget
4268 */ 4323 */
4269EAPI void 4324EAPI void
4270_elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func) 4325_elm_widget_item_focus_set_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Focus_Set_Cb func)
4271{ 4326{
4272 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4327 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4273 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4328 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4284,7 +4339,7 @@ _elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_
4284 * @ingroup Widget 4339 * @ingroup Widget
4285 */ 4340 */
4286EAPI void 4341EAPI void
4287_elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item, 4342_elm_widget_item_focus_get_hook_set(Elm_Widget_Item_Data *item,
4288 Elm_Widget_Focus_Get_Cb func) 4343 Elm_Widget_Focus_Get_Cb func)
4289{ 4344{
4290 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4345 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4305,8 +4360,14 @@ _elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item,
4305 * @see elm_widget_item_pre_notify_del() convenience macro. 4360 * @see elm_widget_item_pre_notify_del() convenience macro.
4306 * @ingroup Widget 4361 * @ingroup Widget
4307 */ 4362 */
4363EOLIAN static void
4364_elm_widget_item_pre_notify_del(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4365{
4366 elm_widget_item_internal_pre_notify_del(item);
4367}
4368
4308EAPI void 4369EAPI void
4309_elm_widget_item_pre_notify_del(Elm_Widget_Item *item) 4370elm_widget_item_internal_pre_notify_del(Elm_Widget_Item_Data *item)
4310{ 4371{
4311 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4372 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4312 if (!item->del_func) return; 4373 if (!item->del_func) return;
@@ -4332,8 +4393,16 @@ _elm_widget_item_pre_notify_del(Elm_Widget_Item *item)
4332 * @see elm_widget_item_del_cb_set() convenience macro. 4393 * @see elm_widget_item_del_cb_set() convenience macro.
4333 * @ingroup Widget 4394 * @ingroup Widget
4334 */ 4395 */
4396EOLIAN static void
4397_elm_widget_item_del_cb_set(Eo *eo_item EINA_UNUSED,
4398 Elm_Widget_Item_Data *item,
4399 Evas_Smart_Cb func)
4400{
4401 elm_widget_item_internal_del_cb_set(item,func);
4402}
4403
4335EAPI void 4404EAPI void
4336_elm_widget_item_del_cb_set(Elm_Widget_Item *item, 4405elm_widget_item_internal_del_cb_set(Elm_Widget_Item_Data *item,
4337 Evas_Smart_Cb func) 4406 Evas_Smart_Cb func)
4338{ 4407{
4339 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4408 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4355,8 +4424,14 @@ _elm_widget_item_del_cb_set(Elm_Widget_Item *item,
4355 * @return owner widget of this item. 4424 * @return owner widget of this item.
4356 * @ingroup Widget 4425 * @ingroup Widget
4357 */ 4426 */
4427EOLIAN static Evas_Object *
4428_elm_widget_item_widget_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4429{
4430 return elm_widget_item_internal_widget_get(item);
4431}
4432
4358EAPI Evas_Object * 4433EAPI Evas_Object *
4359_elm_widget_item_widget_get(const Elm_Widget_Item *item) 4434elm_widget_item_internal_widget_get(const Elm_Widget_Item_Data *item)
4360{ 4435{
4361 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4436 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4362 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL); 4437 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL);
@@ -4378,8 +4453,16 @@ _elm_widget_item_widget_get(const Elm_Widget_Item *item)
4378 * @see elm_widget_item_del_cb_set() convenience macro. 4453 * @see elm_widget_item_del_cb_set() convenience macro.
4379 * @ingroup Widget 4454 * @ingroup Widget
4380 */ 4455 */
4456EOLIAN static void
4457_elm_widget_item_data_set(Eo *eo_item EINA_UNUSED,
4458 Elm_Widget_Item_Data *item,
4459 const void *data)
4460{
4461 elm_widget_item_internal_data_set(item, data);
4462}
4463
4381EAPI void 4464EAPI void
4382_elm_widget_item_data_set(Elm_Widget_Item *item, 4465elm_widget_item_internal_data_set(Elm_Widget_Item_Data *item,
4383 const void *data) 4466 const void *data)
4384{ 4467{
4385 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4468 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4399,15 +4482,29 @@ _elm_widget_item_data_set(Elm_Widget_Item *item,
4399 * @see elm_widget_item_data_set() 4482 * @see elm_widget_item_data_set()
4400 * @ingroup Widget 4483 * @ingroup Widget
4401 */ 4484 */
4485EOLIAN static void *
4486_elm_widget_item_data_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4487{
4488 return elm_widget_item_internal_data_get(item);
4489}
4490
4402EAPI void * 4491EAPI void *
4403_elm_widget_item_data_get(const Elm_Widget_Item *item) 4492elm_widget_item_internal_data_get(const Elm_Widget_Item_Data *item)
4404{ 4493{
4405 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4494 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4406 return (void *)item->data; 4495 return (void *)item->data;
4407} 4496}
4408 4497
4498EOLIAN static void
4499_elm_widget_item_disabled_set(Eo *eo_item EINA_UNUSED,
4500 Elm_Widget_Item_Data *item,
4501 Eina_Bool disabled)
4502{
4503 elm_widget_item_internal_disabled_set(item, disabled);
4504}
4505
4409EAPI void 4506EAPI void
4410_elm_widget_item_disabled_set(Elm_Widget_Item *item, 4507elm_widget_item_internal_disabled_set(Elm_Widget_Item_Data *item,
4411 Eina_Bool disabled) 4508 Eina_Bool disabled)
4412{ 4509{
4413 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4510 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4415,33 +4512,55 @@ _elm_widget_item_disabled_set(Elm_Widget_Item *item,
4415 4512
4416 if (item->disabled == disabled) return; 4513 if (item->disabled == disabled) return;
4417 item->disabled = !!disabled; 4514 item->disabled = !!disabled;
4418 if (item->disable_func) item->disable_func(item); 4515 if (item->eo_obj)
4516 eo_do(item->eo_obj, elm_wdg_item_disable());
4517 else
4518 if (item->disable_func) item->disable_func(item);
4519}
4520
4521EOLIAN static Eina_Bool
4522_elm_widget_item_disabled_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4523{
4524 return elm_widget_item_internal_disabled_get(item);
4419} 4525}
4420 4526
4421EAPI Eina_Bool 4527EAPI Eina_Bool
4422_elm_widget_item_disabled_get(const Elm_Widget_Item *item) 4528elm_widget_item_internal_disabled_get(const Elm_Widget_Item_Data *item)
4423{ 4529{
4424 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 4530 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4425 return item->disabled; 4531 return item->disabled;
4426} 4532}
4427 4533
4534EOLIAN static void
4535_elm_widget_item_style_set(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item, const char *style EINA_UNUSED)
4536{
4537 ERR_NOT_SUPPORTED(item, "elm_object_style_set()");
4538}
4539
4428EAPI void 4540EAPI void
4429_elm_widget_item_style_set(Elm_Widget_Item *item, const char *style) 4541elm_widget_item_internal_style_set(Elm_Widget_Item_Data *item, const char *style)
4430{ 4542{
4431 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4543 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4432 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4544 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4433 item->style_set_func(item, style); 4545 item->style_set_func(item, style);
4434} 4546}
4435 4547
4548EOLIAN static const char *
4549_elm_widget_item_style_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4550{
4551 ERR_NOT_SUPPORTED(item, "elm_object_style_get()");
4552 return NULL;
4553}
4554
4436EAPI const char * 4555EAPI const char *
4437_elm_widget_item_style_get(Elm_Widget_Item *item) 4556elm_widget_item_internal_style_get(Elm_Widget_Item_Data *item)
4438{ 4557{
4439 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4558 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4440 return item->style_get_func(item); 4559 return item->style_get_func(item);
4441} 4560}
4442 4561
4443EAPI void 4562EAPI void
4444_elm_widget_item_disable_hook_set(Elm_Widget_Item *item, 4563_elm_widget_item_disable_hook_set(Elm_Widget_Item_Data *item,
4445 Elm_Widget_Disable_Cb func) 4564 Elm_Widget_Disable_Cb func)
4446{ 4565{
4447 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4566 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4449,22 +4568,50 @@ _elm_widget_item_disable_hook_set(Elm_Widget_Item *item,
4449 item->disable_func = func; 4568 item->disable_func = func;
4450} 4569}
4451 4570
4571EOLIAN static void
4572_elm_widget_item_disable(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item EINA_UNUSED)
4573{
4574}
4575
4576EOLIAN static void
4577_elm_widget_item_focus_set(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item, Eina_Bool focused EINA_UNUSED)
4578{
4579 ERR_NOT_SUPPORTED(item, "elm_object_item_focus_set");
4580}
4581
4452EAPI void 4582EAPI void
4453_elm_widget_item_focus_set(Elm_Widget_Item *item, Eina_Bool focused) 4583elm_widget_item_internal_focus_set(Elm_Widget_Item_Data *item, Eina_Bool focused)
4454{ 4584{
4455 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4585 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4456 item->focus_set_func(item, focused); 4586 item->focus_set_func(item, focused);
4457} 4587}
4458 4588
4589EOLIAN static Eina_Bool
4590_elm_widget_item_focus_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4591{
4592 ERR_NOT_SUPPORTED(item, "elm_object_item_focus_get");
4593 return EINA_FALSE;
4594}
4595
4459EAPI Eina_Bool 4596EAPI Eina_Bool
4460_elm_widget_item_focus_get(const Elm_Widget_Item *item) 4597elm_widget_item_internal_focus_get(const Elm_Widget_Item_Data *item)
4461{ 4598{
4462 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 4599 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4463 return item->focus_get_func(item); 4600 return item->focus_get_func(item);
4464} 4601}
4465 4602
4603EOLIAN static void
4604_elm_widget_item_domain_translatable_part_text_set(Eo *eo_item EINA_UNUSED,
4605 Elm_Widget_Item_Data *item,
4606 const char *part,
4607 const char *domain,
4608 const char *label)
4609{
4610 elm_widget_item_internal_domain_translatable_part_text_set(item, part, domain, label);
4611}
4612
4466EAPI void 4613EAPI void
4467_elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item, 4614elm_widget_item_internal_domain_translatable_part_text_set(Elm_Widget_Item_Data *item,
4468 const char *part, 4615 const char *part,
4469 const char *domain, 4616 const char *domain,
4470 const char *label) 4617 const char *label)
@@ -4492,12 +4639,23 @@ _elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item,
4492#endif 4639#endif
4493 } 4640 }
4494 item->on_translate = EINA_TRUE; 4641 item->on_translate = EINA_TRUE;
4495 _elm_widget_item_part_text_set(item, part, label); 4642 if (item->eo_obj)
4643 eo_do(item->eo_obj, elm_wdg_item_part_text_set(part, label));
4644 else
4645 elm_widget_item_internal_part_text_set(item, part, label);
4496 item->on_translate = EINA_FALSE; 4646 item->on_translate = EINA_FALSE;
4497} 4647}
4498 4648
4649EOLIAN static const char *
4650_elm_widget_item_translatable_part_text_get(Eo *eo_item EINA_UNUSED,
4651 Elm_Widget_Item_Data *item,
4652 const char *part)
4653{
4654 return elm_widget_item_internal_translatable_part_text_get(item, part);
4655}
4656
4499EAPI const char * 4657EAPI const char *
4500_elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, 4658elm_widget_item_internal_translatable_part_text_get(const Elm_Widget_Item_Data *item,
4501 const char *part) 4659 const char *part)
4502{ 4660{
4503 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4661 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -4509,8 +4667,18 @@ _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item,
4509 return NULL; 4667 return NULL;
4510} 4668}
4511 4669
4670EOLIAN static void
4671_elm_widget_item_domain_part_text_translatable_set(Eo *eo_item EINA_UNUSED,
4672 Elm_Widget_Item_Data *item,
4673 const char *part,
4674 const char *domain,
4675 Eina_Bool translatable)
4676{
4677 elm_widget_item_internal_domain_part_text_translatable_set(item, part, domain, translatable);
4678}
4679
4512EAPI void 4680EAPI void
4513_elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, 4681elm_widget_item_internal_domain_part_text_translatable_set(Elm_Widget_Item_Data *item,
4514 const char *part, 4682 const char *part,
4515 const char *domain, 4683 const char *domain,
4516 Eina_Bool translatable) 4684 Eina_Bool translatable)
@@ -4526,7 +4694,11 @@ _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
4526 if (!ts->domain) ts->domain = eina_stringshare_add(domain); 4694 if (!ts->domain) ts->domain = eina_stringshare_add(domain);
4527 else eina_stringshare_replace(&ts->domain, domain); 4695 else eina_stringshare_replace(&ts->domain, domain);
4528 4696
4529 text = _elm_widget_item_part_text_get(item, part); 4697 if (item->eo_obj)
4698 eo_do(item->eo_obj, text = elm_wdg_item_part_text_get(part));
4699 else
4700 text = elm_widget_item_internal_part_text_get(item, part);
4701
4530 if (!text || !text[0]) return; 4702 if (!text || !text[0]) return;
4531 4703
4532 if (!ts->string) ts->string = eina_stringshare_add(text); 4704 if (!ts->string) ts->string = eina_stringshare_add(text);
@@ -4536,12 +4708,21 @@ _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
4536 text = dgettext(domain, text); 4708 text = dgettext(domain, text);
4537#endif 4709#endif
4538 item->on_translate = EINA_TRUE; 4710 item->on_translate = EINA_TRUE;
4539 _elm_widget_item_part_text_set(item, part, text); 4711 if (item->eo_obj)
4712 eo_do (item->eo_obj, elm_wdg_item_part_text_set(part, text));
4713 else
4714 elm_widget_item_internal_part_text_set(item, part, text);
4540 item->on_translate = EINA_FALSE; 4715 item->on_translate = EINA_FALSE;
4541} 4716}
4542 4717
4718EOLIAN static void
4719_elm_widget_item_track_cancel(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4720{
4721 elm_widget_item_internal_track_cancel(item);
4722}
4723
4543EAPI void 4724EAPI void
4544_elm_widget_item_track_cancel(Elm_Widget_Item *item) 4725elm_widget_item_internal_track_cancel(Elm_Widget_Item_Data *item)
4545{ 4726{
4546 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4727 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4547 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4728 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4554,8 +4735,14 @@ _elm_widget_item_track_cancel(Elm_Widget_Item *item)
4554 evas_object_del(item->track_obj); 4735 evas_object_del(item->track_obj);
4555} 4736}
4556 4737
4738EOLIAN static Evas_Object *
4739_elm_widget_item_track(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4740{
4741 return elm_widget_item_track(item);
4742}
4743
4557EAPI Evas_Object * 4744EAPI Evas_Object *
4558elm_widget_item_track(Elm_Widget_Item *item) 4745elm_widget_item_track(Elm_Widget_Item_Data *item)
4559{ 4746{
4560 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4747 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4561 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL); 4748 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL);
@@ -4590,8 +4777,14 @@ elm_widget_item_track(Elm_Widget_Item *item)
4590 return track; 4777 return track;
4591} 4778}
4592 4779
4780EOLIAN static void
4781_elm_widget_item_untrack(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4782{
4783 elm_widget_item_untrack(item);
4784}
4785
4593void 4786void
4594elm_widget_item_untrack(Elm_Widget_Item *item) 4787elm_widget_item_untrack(Elm_Widget_Item_Data *item)
4595{ 4788{
4596 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4789 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4597 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4790 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4603,8 +4796,14 @@ elm_widget_item_untrack(Elm_Widget_Item *item)
4603 evas_object_del(item->track_obj); 4796 evas_object_del(item->track_obj);
4604} 4797}
4605 4798
4799EOLIAN static int
4800_elm_widget_item_track_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
4801{
4802 return elm_widget_item_track_get(item);
4803}
4804
4606int 4805int
4607elm_widget_item_track_get(const Elm_Widget_Item *item) 4806elm_widget_item_track_get(const Elm_Widget_Item_Data *item)
4608{ 4807{
4609 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, 0); 4808 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, 0);
4610 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, 0); 4809 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, 0);
@@ -4617,7 +4816,7 @@ typedef struct _Elm_Widget_Item_Tooltip Elm_Widget_Item_Tooltip;
4617 4816
4618struct _Elm_Widget_Item_Tooltip 4817struct _Elm_Widget_Item_Tooltip
4619{ 4818{
4620 Elm_Widget_Item *item; 4819 Elm_Widget_Item_Data *item;
4621 Elm_Tooltip_Item_Content_Cb func; 4820 Elm_Tooltip_Item_Content_Cb func;
4622 Evas_Smart_Cb del_cb; 4821 Evas_Smart_Cb del_cb;
4623 const void *data; 4822 const void *data;
@@ -4672,8 +4871,16 @@ _elm_widget_item_tooltip_label_del_cb(void *data,
4672 * 4871 *
4673 * @ingroup Widget 4872 * @ingroup Widget
4674 */ 4873 */
4874EOLIAN static void
4875_elm_widget_item_tooltip_text_set(Eo *eo_item EINA_UNUSED,
4876 Elm_Widget_Item_Data *item EINA_UNUSED,
4877 const char *text)
4878{
4879 elm_widget_item_internal_tooltip_text_set(item, text);
4880}
4881
4675EAPI void 4882EAPI void
4676_elm_widget_item_tooltip_text_set(Elm_Widget_Item *item, 4883elm_widget_item_internal_tooltip_text_set(Elm_Widget_Item_Data *item,
4677 const char *text) 4884 const char *text)
4678{ 4885{
4679 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4886 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4681,13 +4888,27 @@ _elm_widget_item_tooltip_text_set(Elm_Widget_Item *item,
4681 EINA_SAFETY_ON_NULL_RETURN(text); 4888 EINA_SAFETY_ON_NULL_RETURN(text);
4682 4889
4683 text = eina_stringshare_add(text); 4890 text = eina_stringshare_add(text);
4684 _elm_widget_item_tooltip_content_cb_set 4891 if (item->eo_obj)
4685 (item, _elm_widget_item_tooltip_label_create, text, 4892 eo_do(item->eo_obj, elm_wdg_item_tooltip_content_cb_set(
4686 _elm_widget_item_tooltip_label_del_cb); 4893 _elm_widget_item_tooltip_label_create,
4894 text,
4895 _elm_widget_item_tooltip_label_del_cb));
4896 else
4897 elm_widget_item_internal_tooltip_content_cb_set
4898 (item, _elm_widget_item_tooltip_label_create, text,
4899 _elm_widget_item_tooltip_label_del_cb);
4900}
4901
4902EOLIAN static void
4903_elm_widget_item_tooltip_translatable_text_set(Eo *eo_item EINA_UNUSED,
4904 Elm_Widget_Item_Data *item EINA_UNUSED,
4905 const char *text)
4906{
4907 elm_widget_item_internal_tooltip_translatable_text_set(item, text);
4687} 4908}
4688 4909
4689EAPI void 4910EAPI void
4690_elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item, 4911elm_widget_item_internal_tooltip_translatable_text_set(Elm_Widget_Item_Data *item,
4691 const char *text) 4912 const char *text)
4692{ 4913{
4693 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4914 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4695,9 +4916,15 @@ _elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item,
4695 EINA_SAFETY_ON_NULL_RETURN(text); 4916 EINA_SAFETY_ON_NULL_RETURN(text);
4696 4917
4697 text = eina_stringshare_add(text); 4918 text = eina_stringshare_add(text);
4698 _elm_widget_item_tooltip_content_cb_set 4919 if (item->eo_obj)
4699 (item, _elm_widget_item_tooltip_trans_label_create, text, 4920 eo_do(item->eo_obj, elm_wdg_item_tooltip_content_cb_set(
4700 _elm_widget_item_tooltip_label_del_cb); 4921 _elm_widget_item_tooltip_trans_label_create,
4922 text,
4923 _elm_widget_item_tooltip_label_del_cb));
4924 else
4925 elm_widget_item_internal_tooltip_content_cb_set
4926 (item, _elm_widget_item_tooltip_trans_label_create, text,
4927 _elm_widget_item_tooltip_label_del_cb);
4701} 4928}
4702 4929
4703static Evas_Object * 4930static Evas_Object *
@@ -4741,8 +4968,18 @@ _elm_widget_item_tooltip_del_cb(void *data,
4741 * 4968 *
4742 * @ingroup Widget 4969 * @ingroup Widget
4743 */ 4970 */
4971EOLIAN static void
4972_elm_widget_item_tooltip_content_cb_set(Eo *eo_item EINA_UNUSED,
4973 Elm_Widget_Item_Data *item,
4974 Elm_Tooltip_Item_Content_Cb func,
4975 const void *data,
4976 Evas_Smart_Cb del_cb)
4977{
4978 elm_widget_item_internal_tooltip_content_cb_set(item, func, data, del_cb);
4979}
4980
4744EAPI void 4981EAPI void
4745_elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item, 4982elm_widget_item_internal_tooltip_content_cb_set(Elm_Widget_Item_Data *item,
4746 Elm_Tooltip_Item_Content_Cb func, 4983 Elm_Tooltip_Item_Content_Cb func,
4747 const void *data, 4984 const void *data,
4748 Evas_Smart_Cb del_cb) 4985 Evas_Smart_Cb del_cb)
@@ -4754,7 +4991,10 @@ _elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item,
4754 4991
4755 if (!func) 4992 if (!func)
4756 { 4993 {
4757 _elm_widget_item_tooltip_unset(item); 4994 if (item->eo_obj)
4995 eo_do(item->eo_obj, elm_wdg_item_tooltip_unset());
4996 else
4997 elm_widget_item_internal_tooltip_unset(item);
4758 return; 4998 return;
4759 } 4999 }
4760 5000
@@ -4793,8 +5033,14 @@ error:
4793 * 5033 *
4794 * @ingroup Widget 5034 * @ingroup Widget
4795 */ 5035 */
5036EOLIAN static void
5037_elm_widget_item_tooltip_unset(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5038{
5039 elm_widget_item_internal_tooltip_unset(item);
5040}
5041
4796EAPI void 5042EAPI void
4797_elm_widget_item_tooltip_unset(Elm_Widget_Item *item) 5043elm_widget_item_internal_tooltip_unset(Elm_Widget_Item_Data *item)
4798{ 5044{
4799 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5045 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4800 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5046 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4816,8 +5062,16 @@ _elm_widget_item_tooltip_unset(Elm_Widget_Item *item)
4816 * 5062 *
4817 * @ingroup Widget 5063 * @ingroup Widget
4818 */ 5064 */
5065EOLIAN static void
5066_elm_widget_item_tooltip_style_set(Eo *eo_item EINA_UNUSED,
5067 Elm_Widget_Item_Data *item,
5068 const char *style)
5069{
5070 elm_widget_item_internal_tooltip_style_set(item, style);
5071}
5072
4819EAPI void 5073EAPI void
4820_elm_widget_item_tooltip_style_set(Elm_Widget_Item *item, 5074elm_widget_item_internal_tooltip_style_set(Elm_Widget_Item_Data *item,
4821 const char *style) 5075 const char *style)
4822{ 5076{
4823 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5077 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4826,8 +5080,16 @@ _elm_widget_item_tooltip_style_set(Elm_Widget_Item *item,
4826 elm_object_tooltip_style_set(item->view, style); 5080 elm_object_tooltip_style_set(item->view, style);
4827} 5081}
4828 5082
5083EOLIAN static Eina_Bool
5084_elm_widget_item_tooltip_window_mode_set(Eo *eo_item EINA_UNUSED,
5085 Elm_Widget_Item_Data *item,
5086 Eina_Bool disable)
5087{
5088 return elm_widget_item_internal_tooltip_window_mode_set(item, disable);
5089}
5090
4829EAPI Eina_Bool 5091EAPI Eina_Bool
4830_elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item, 5092elm_widget_item_internal_tooltip_window_mode_set(Elm_Widget_Item_Data *item,
4831 Eina_Bool disable) 5093 Eina_Bool disable)
4832{ 5094{
4833 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5095 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
@@ -4836,8 +5098,14 @@ _elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item,
4836 return elm_object_tooltip_window_mode_set(item->view, disable); 5098 return elm_object_tooltip_window_mode_set(item->view, disable);
4837} 5099}
4838 5100
5101EOLIAN static Eina_Bool
5102_elm_widget_item_tooltip_window_mode_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5103{
5104 return elm_widget_item_internal_tooltip_window_mode_get(item);
5105}
5106
4839EAPI Eina_Bool 5107EAPI Eina_Bool
4840_elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item) 5108elm_widget_item_internal_tooltip_window_mode_get(const Elm_Widget_Item_Data *item)
4841{ 5109{
4842 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5110 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4843 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, EINA_FALSE); 5111 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, EINA_FALSE);
@@ -4856,16 +5124,30 @@ _elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item)
4856 * 5124 *
4857 * @ingroup Widget 5125 * @ingroup Widget
4858 */ 5126 */
5127EOLIAN static const char *
5128_elm_widget_item_tooltip_style_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5129{
5130 return elm_widget_item_internal_tooltip_style_get(item);
5131}
5132
4859EAPI const char * 5133EAPI const char *
4860_elm_widget_item_tooltip_style_get(const Elm_Widget_Item *item) 5134elm_widget_item_internal_tooltip_style_get(const Elm_Widget_Item_Data *item)
4861{ 5135{
4862 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5136 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4863 5137
4864 return elm_object_tooltip_style_get(item->view); 5138 return elm_object_tooltip_style_get(item->view);
4865} 5139}
4866 5140
5141EOLIAN static void
5142_elm_widget_item_cursor_set(Eo *eo_item EINA_UNUSED,
5143 Elm_Widget_Item_Data *item,
5144 const char *cursor)
5145{
5146 elm_widget_item_internal_cursor_set(item, cursor);
5147}
5148
4867EAPI void 5149EAPI void
4868_elm_widget_item_cursor_set(Elm_Widget_Item *item, 5150elm_widget_item_internal_cursor_set(Elm_Widget_Item_Data *item,
4869 const char *cursor) 5151 const char *cursor)
4870{ 5152{
4871 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5153 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4874,15 +5156,27 @@ _elm_widget_item_cursor_set(Elm_Widget_Item *item,
4874 elm_object_sub_cursor_set(item->view, item->widget, cursor); 5156 elm_object_sub_cursor_set(item->view, item->widget, cursor);
4875} 5157}
4876 5158
5159EOLIAN static const char *
5160_elm_widget_item_cursor_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5161{
5162 return elm_widget_item_internal_cursor_get(item);
5163}
5164
4877EAPI const char * 5165EAPI const char *
4878_elm_widget_item_cursor_get(const Elm_Widget_Item *item) 5166elm_widget_item_internal_cursor_get(const Elm_Widget_Item_Data *item)
4879{ 5167{
4880 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5168 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4881 return elm_object_cursor_get(item->view); 5169 return elm_object_cursor_get(item->view);
4882} 5170}
4883 5171
5172EOLIAN static void
5173_elm_widget_item_cursor_unset(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5174{
5175 elm_widget_item_internal_cursor_unset(item);
5176}
5177
4884EAPI void 5178EAPI void
4885_elm_widget_item_cursor_unset(Elm_Widget_Item *item) 5179elm_widget_item_internal_cursor_unset(Elm_Widget_Item_Data *item)
4886{ 5180{
4887 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5181 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4888 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5182 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4903,8 +5197,16 @@ _elm_widget_item_cursor_unset(Elm_Widget_Item *item)
4903 * 5197 *
4904 * @ingroup Widget 5198 * @ingroup Widget
4905 */ 5199 */
5200EOLIAN static void
5201_elm_widget_item_cursor_style_set(Eo *eo_item EINA_UNUSED,
5202 Elm_Widget_Item_Data *item,
5203 const char *style)
5204{
5205 elm_widget_item_internal_cursor_style_set(item, style);
5206}
5207
4906EAPI void 5208EAPI void
4907_elm_widget_item_cursor_style_set(Elm_Widget_Item *item, 5209elm_widget_item_internal_cursor_style_set(Elm_Widget_Item_Data *item,
4908 const char *style) 5210 const char *style)
4909{ 5211{
4910 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5212 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4924,8 +5226,15 @@ _elm_widget_item_cursor_style_set(Elm_Widget_Item *item,
4924 * 5226 *
4925 * @ingroup Widget 5227 * @ingroup Widget
4926 */ 5228 */
5229EOLIAN static const char *
5230_elm_widget_item_cursor_style_get(Eo *eo_item EINA_UNUSED,
5231 Elm_Widget_Item_Data *item)
5232{
5233 return elm_widget_item_internal_cursor_style_get(item);
5234}
5235
4927EAPI const char * 5236EAPI const char *
4928_elm_widget_item_cursor_style_get(const Elm_Widget_Item *item) 5237elm_widget_item_internal_cursor_style_get(const Elm_Widget_Item_Data *item)
4929{ 5238{
4930 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5239 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4931 return elm_object_cursor_style_get(item->view); 5240 return elm_object_cursor_style_get(item->view);
@@ -4947,8 +5256,16 @@ _elm_widget_item_cursor_style_get(const Elm_Widget_Item *item)
4947 * 5256 *
4948 * @ingroup Widget 5257 * @ingroup Widget
4949 */ 5258 */
5259EOLIAN static void
5260_elm_widget_item_cursor_engine_only_set(Eo *eo_item EINA_UNUSED,
5261 Elm_Widget_Item_Data *item,
5262 Eina_Bool engine_only)
5263{
5264 elm_widget_item_internal_cursor_engine_only_set(item, engine_only);
5265}
5266
4950EAPI void 5267EAPI void
4951_elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, 5268elm_widget_item_internal_cursor_engine_only_set(Elm_Widget_Item_Data *item,
4952 Eina_Bool engine_only) 5269 Eina_Bool engine_only)
4953{ 5270{
4954 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5271 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4969,15 +5286,21 @@ _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item,
4969 * 5286 *
4970 * @ingroup Widget 5287 * @ingroup Widget
4971 */ 5288 */
5289EOLIAN static Eina_Bool
5290_elm_widget_item_cursor_engine_only_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5291{
5292 return elm_widget_item_internal_cursor_engine_only_get(item);
5293}
5294
4972EAPI Eina_Bool 5295EAPI Eina_Bool
4973_elm_widget_item_cursor_engine_only_get(const Elm_Widget_Item *item) 5296elm_widget_item_internal_cursor_engine_only_get(const Elm_Widget_Item_Data *item)
4974{ 5297{
4975 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5298 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4976 return !elm_object_cursor_theme_search_enabled_get(item->view); 5299 return !elm_object_cursor_theme_search_enabled_get(item->view);
4977} 5300}
4978 5301
4979EAPI void 5302EAPI void
4980_elm_widget_item_part_content_set(Elm_Widget_Item *item, 5303elm_widget_item_internal_part_content_set(Elm_Widget_Item_Data *item,
4981 const char *part, 5304 const char *part,
4982 Evas_Object *content) 5305 Evas_Object *content)
4983{ 5306{
@@ -4992,8 +5315,17 @@ _elm_widget_item_part_content_set(Elm_Widget_Item *item,
4992 item->content_set_func((Elm_Object_Item *)item, part, content); 5315 item->content_set_func((Elm_Object_Item *)item, part, content);
4993} 5316}
4994 5317
5318EOLIAN static void
5319_elm_widget_item_part_content_set(Eo *eo_item EINA_UNUSED,
5320 Elm_Widget_Item_Data *item,
5321 const char *part EINA_UNUSED,
5322 Evas_Object *content EINA_UNUSED)
5323{
5324 ERR_NOT_SUPPORTED(item, "elm_object_part_content_set()");
5325}
5326
4995EAPI Evas_Object * 5327EAPI Evas_Object *
4996_elm_widget_item_part_content_get(const Elm_Widget_Item *item, 5328elm_widget_item_internal_part_content_get(const Elm_Widget_Item_Data *item,
4997 const char *part) 5329 const char *part)
4998{ 5330{
4999 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5331 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -5007,8 +5339,17 @@ _elm_widget_item_part_content_get(const Elm_Widget_Item *item,
5007 return item->content_get_func((Elm_Object_Item *)item, part); 5339 return item->content_get_func((Elm_Object_Item *)item, part);
5008} 5340}
5009 5341
5342EOLIAN static Evas_Object *
5343_elm_widget_item_part_content_get(Eo *eo_item EINA_UNUSED,
5344 Elm_Widget_Item_Data *item,
5345 const char *part EINA_UNUSED)
5346{
5347 ERR_NOT_SUPPORTED(item, "elm_object_part_content_get()");
5348 return NULL;
5349}
5350
5010EAPI Evas_Object * 5351EAPI Evas_Object *
5011_elm_widget_item_part_content_unset(Elm_Widget_Item *item, 5352elm_widget_item_internal_part_content_unset(Elm_Widget_Item_Data *item,
5012 const char *part) 5353 const char *part)
5013{ 5354{
5014 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5355 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -5022,8 +5363,17 @@ _elm_widget_item_part_content_unset(Elm_Widget_Item *item,
5022 return item->content_unset_func((Elm_Object_Item *)item, part); 5363 return item->content_unset_func((Elm_Object_Item *)item, part);
5023} 5364}
5024 5365
5366EOLIAN static Evas_Object *
5367_elm_widget_item_part_content_unset(Eo *eo_item EINA_UNUSED,
5368 Elm_Widget_Item_Data *item,
5369 const char *part EINA_UNUSED)
5370{
5371 ERR_NOT_SUPPORTED(item, "elm_object_part_content_unset()");
5372 return NULL;
5373}
5374
5025EAPI void 5375EAPI void
5026_elm_widget_item_part_text_set(Elm_Widget_Item *item, 5376elm_widget_item_internal_part_text_set(Elm_Widget_Item_Data *item,
5027 const char *part, 5377 const char *part,
5028 const char *label) 5378 const char *label)
5029{ 5379{
@@ -5038,8 +5388,17 @@ _elm_widget_item_part_text_set(Elm_Widget_Item *item,
5038 item->text_set_func((Elm_Object_Item *)item, part, label); 5388 item->text_set_func((Elm_Object_Item *)item, part, label);
5039} 5389}
5040 5390
5391EOLIAN static void
5392_elm_widget_item_part_text_set(Eo *eo_item EINA_UNUSED,
5393 Elm_Widget_Item_Data *item,
5394 const char *part EINA_UNUSED,
5395 const char *label EINA_UNUSED)
5396{
5397 ERR_NOT_SUPPORTED(item, "elm_object_part_text_set()");
5398}
5399
5041EAPI const char * 5400EAPI const char *
5042_elm_widget_item_part_text_get(const Elm_Widget_Item *item, 5401elm_widget_item_internal_part_text_get(const Elm_Widget_Item_Data *item,
5043 const char *part) 5402 const char *part)
5044{ 5403{
5045 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5404 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -5053,6 +5412,15 @@ _elm_widget_item_part_text_get(const Elm_Widget_Item *item,
5053 return item->text_get_func((Elm_Object_Item *)item, part); 5412 return item->text_get_func((Elm_Object_Item *)item, part);
5054} 5413}
5055 5414
5415EOLIAN static const char *
5416_elm_widget_item_part_text_get(Eo *eo_item EINA_UNUSED,
5417 Elm_Widget_Item_Data *item,
5418 const char *part EINA_UNUSED)
5419{
5420 ERR_NOT_SUPPORTED(item, "elm_object_part_text_get()");
5421 return NULL;
5422}
5423
5056static void 5424static void
5057_elm_widget_item_part_text_custom_free(void *data) 5425_elm_widget_item_part_text_custom_free(void *data)
5058{ 5426{
@@ -5063,8 +5431,17 @@ _elm_widget_item_part_text_custom_free(void *data)
5063 free(label); 5431 free(label);
5064} 5432}
5065 5433
5434EOLIAN static void
5435_elm_widget_item_part_text_custom_set(Eo *eo_item EINA_UNUSED,
5436 Elm_Widget_Item_Data *item,
5437 const char *part,
5438 const char *text)
5439{
5440 _elm_widget_item_internal_part_text_custom_set(item, part, text);
5441}
5442
5066EAPI void 5443EAPI void
5067_elm_widget_item_part_text_custom_set(Elm_Widget_Item *item, 5444_elm_widget_item_internal_part_text_custom_set(Elm_Widget_Item_Data *item,
5068 const char *part, 5445 const char *part,
5069 const char *text) 5446 const char *text)
5070{ 5447{
@@ -5093,8 +5470,16 @@ _elm_widget_item_part_text_custom_set(Elm_Widget_Item *item,
5093 eina_stringshare_replace(&label->text, text); 5470 eina_stringshare_replace(&label->text, text);
5094} 5471}
5095 5472
5473EOLIAN static const char *
5474_elm_widget_item_part_text_custom_get(Eo *eo_item EINA_UNUSED,
5475 Elm_Widget_Item_Data *item,
5476 const char *part)
5477{
5478 return _elm_widget_item_internal_part_text_custom_get(item, part);
5479}
5480
5096EAPI const char * 5481EAPI const char *
5097_elm_widget_item_part_text_custom_get(Elm_Widget_Item *item, 5482_elm_widget_item_internal_part_text_custom_get(Elm_Widget_Item_Data *item,
5098 const char *part) 5483 const char *part)
5099{ 5484{
5100 Elm_Label_Data *label; 5485 Elm_Label_Data *label;
@@ -5110,15 +5495,26 @@ _elm_widget_item_part_text_custom_foreach(const Eina_Hash *labels EINA_UNUSED,
5110 void *func_data) 5495 void *func_data)
5111{ 5496{
5112 Elm_Label_Data *label; 5497 Elm_Label_Data *label;
5113 Elm_Widget_Item *item; 5498 Elm_Widget_Item_Data *item;
5114 label = data; 5499 label = data;
5115 item = func_data; 5500 item = func_data;
5116 item->text_set_func((Elm_Object_Item *)item, label->part, label->text); 5501
5502 if (item->eo_obj)
5503 eo_do(item->eo_obj, elm_wdg_item_part_text_set(label->part, label->text));
5504 else
5505 item->text_set_func((Elm_Object_Item *)item, label->part, label->text);
5506
5117 return EINA_TRUE; 5507 return EINA_TRUE;
5118} 5508}
5119 5509
5510EOLIAN static void
5511_elm_widget_item_part_text_custom_update(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5512{
5513 _elm_widget_item_internal_part_text_custom_update(item);
5514}
5515
5120EAPI void 5516EAPI void
5121_elm_widget_item_part_text_custom_update(Elm_Widget_Item *item) 5517_elm_widget_item_internal_part_text_custom_update(Elm_Widget_Item_Data *item)
5122{ 5518{
5123 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5519 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
5124 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5520 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -5128,7 +5524,7 @@ _elm_widget_item_part_text_custom_update(Elm_Widget_Item *item)
5128} 5524}
5129 5525
5130EAPI void 5526EAPI void
5131_elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, 5527_elm_widget_item_content_set_hook_set(Elm_Widget_Item_Data *item,
5132 Elm_Widget_Content_Set_Cb func) 5528 Elm_Widget_Content_Set_Cb func)
5133{ 5529{
5134 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5530 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5138,7 +5534,7 @@ _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item,
5138} 5534}
5139 5535
5140EAPI void 5536EAPI void
5141_elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, 5537_elm_widget_item_content_get_hook_set(Elm_Widget_Item_Data *item,
5142 Elm_Widget_Content_Get_Cb func) 5538 Elm_Widget_Content_Get_Cb func)
5143{ 5539{
5144 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5540 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5148,7 +5544,7 @@ _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item,
5148} 5544}
5149 5545
5150EAPI void 5546EAPI void
5151_elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item, 5547_elm_widget_item_content_unset_hook_set(Elm_Widget_Item_Data *item,
5152 Elm_Widget_Content_Unset_Cb func) 5548 Elm_Widget_Content_Unset_Cb func)
5153{ 5549{
5154 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5550 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5158,7 +5554,7 @@ _elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item,
5158} 5554}
5159 5555
5160EAPI void 5556EAPI void
5161_elm_widget_item_text_set_hook_set(Elm_Widget_Item *item, 5557_elm_widget_item_text_set_hook_set(Elm_Widget_Item_Data *item,
5162 Elm_Widget_Text_Set_Cb func) 5558 Elm_Widget_Text_Set_Cb func)
5163{ 5559{
5164 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5560 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5168,7 +5564,7 @@ _elm_widget_item_text_set_hook_set(Elm_Widget_Item *item,
5168} 5564}
5169 5565
5170EAPI void 5566EAPI void
5171_elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, 5567_elm_widget_item_text_get_hook_set(Elm_Widget_Item_Data *item,
5172 Elm_Widget_Text_Get_Cb func) 5568 Elm_Widget_Text_Get_Cb func)
5173{ 5569{
5174 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5570 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5177,8 +5573,17 @@ _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item,
5177 item->text_get_func = func; 5573 item->text_get_func = func;
5178} 5574}
5179 5575
5576EOLIAN static void
5577_elm_widget_item_signal_emit(Eo *eo_item EINA_UNUSED,
5578 Elm_Widget_Item_Data *item EINA_UNUSED,
5579 const char *emission EINA_UNUSED,
5580 const char *source EINA_UNUSED)
5581{
5582
5583}
5584
5180EAPI void 5585EAPI void
5181_elm_widget_item_signal_emit(Elm_Widget_Item *item, 5586elm_widget_item_internal_signal_emit(Elm_Widget_Item_Data *item,
5182 const char *emission, 5587 const char *emission,
5183 const char *source) 5588 const char *source)
5184{ 5589{
@@ -5190,7 +5595,7 @@ _elm_widget_item_signal_emit(Elm_Widget_Item *item,
5190} 5595}
5191 5596
5192EAPI void 5597EAPI void
5193_elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item, 5598_elm_widget_item_signal_emit_hook_set(Elm_Widget_Item_Data *item,
5194 Elm_Widget_Signal_Emit_Cb func) 5599 Elm_Widget_Signal_Emit_Cb func)
5195{ 5600{
5196 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5601 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5199,8 +5604,19 @@ _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item,
5199 item->signal_emit_func = func; 5604 item->signal_emit_func = func;
5200} 5605}
5201 5606
5607EOLIAN static void
5608_elm_widget_item_signal_callback_add(Eo *eo_item EINA_UNUSED,
5609 Elm_Widget_Item_Data *item,
5610 const char *emission,
5611 const char *source,
5612 Elm_Object_Item_Signal_Cb func,
5613 void *data)
5614{
5615 elm_widget_item_internal_signal_callback_add(item, emission, source,(Elm_Widget_Item_Signal_Cb)func, data);
5616}
5617
5202EAPI void 5618EAPI void
5203_elm_widget_item_signal_callback_add(Elm_Widget_Item *item, 5619elm_widget_item_internal_signal_callback_add(Elm_Widget_Item_Data *item,
5204 const char *emission, 5620 const char *emission,
5205 const char *source, 5621 const char *source,
5206 Elm_Widget_Item_Signal_Cb func, 5622 Elm_Widget_Item_Signal_Cb func,
@@ -5236,8 +5652,18 @@ _elm_widget_item_signal_callback_add(Elm_Widget_Item *item,
5236 item->signals = eina_list_append(item->signals, wisd); 5652 item->signals = eina_list_append(item->signals, wisd);
5237} 5653}
5238 5654
5655EOLIAN static void *
5656_elm_widget_item_signal_callback_del(Eo *eo_item EINA_UNUSED,
5657 Elm_Widget_Item_Data *item,
5658 const char *emission,
5659 const char *source,
5660 Elm_Object_Item_Signal_Cb func)
5661{
5662 return elm_widget_item_internal_signal_callback_del(item, emission, source, (Elm_Widget_Item_Signal_Cb)func);
5663}
5664
5239EAPI void * 5665EAPI void *
5240_elm_widget_item_signal_callback_del(Elm_Widget_Item *item, 5666elm_widget_item_internal_signal_callback_del(Elm_Widget_Item_Data *item,
5241 const char *emission, 5667 const char *emission,
5242 const char *source, 5668 const char *source,
5243 Elm_Widget_Item_Signal_Cb func) 5669 Elm_Widget_Item_Signal_Cb func)
@@ -5260,8 +5686,16 @@ _elm_widget_item_signal_callback_del(Elm_Widget_Item *item,
5260 return NULL; 5686 return NULL;
5261} 5687}
5262 5688
5689EOLIAN static void
5690_elm_widget_item_access_info_set(Eo *eo_item EINA_UNUSED,
5691 Elm_Widget_Item_Data *item,
5692 const char *txt)
5693{
5694 _elm_widget_item_internal_access_info_set(item, txt);
5695}
5696
5263EAPI void 5697EAPI void
5264_elm_widget_item_access_info_set(Elm_Widget_Item *item, 5698_elm_widget_item_internal_access_info_set(Elm_Widget_Item_Data *item,
5265 const char *txt) 5699 const char *txt)
5266{ 5700{
5267 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5701 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5272,8 +5706,14 @@ _elm_widget_item_access_info_set(Elm_Widget_Item *item,
5272 else item->access_info = eina_stringshare_add(txt); 5706 else item->access_info = eina_stringshare_add(txt);
5273} 5707}
5274 5708
5709EOLIAN static void
5710_elm_widget_item_translate(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5711{
5712 elm_widget_item_internal_translate(item);
5713}
5714
5275EAPI void 5715EAPI void
5276_elm_widget_item_translate(Elm_Widget_Item *item) 5716elm_widget_item_internal_translate(Elm_Widget_Item_Data *item)
5277{ 5717{
5278 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5718 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
5279 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5719 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -5285,12 +5725,54 @@ _elm_widget_item_translate(Elm_Widget_Item *item)
5285 if (!ts->string) continue; 5725 if (!ts->string) continue;
5286 const char *s = dgettext(ts->domain, ts->string); 5726 const char *s = dgettext(ts->domain, ts->string);
5287 item->on_translate = EINA_TRUE; 5727 item->on_translate = EINA_TRUE;
5288 _elm_widget_item_part_text_set(item, ts->id, s); 5728 if (item->eo_obj)
5729 eo_do(item->eo_obj, elm_wdg_item_part_text_set(ts->id, s));
5730 else
5731 elm_widget_item_internal_part_text_set(item, ts->id, s);
5289 item->on_translate = EINA_FALSE; 5732 item->on_translate = EINA_FALSE;
5290 } 5733 }
5291#endif 5734#endif
5292} 5735}
5293 5736
5737EOLIAN static void
5738_elm_widget_item_access_order_set(Eo *eo_item EINA_UNUSED,
5739 Elm_Widget_Item_Data *item,
5740 Eina_List *objs)
5741{
5742 _elm_access_widget_item_access_order_set(item, objs);
5743}
5744
5745EOLIAN static const Eina_List *
5746_elm_widget_item_access_order_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5747{
5748 return _elm_access_widget_item_access_order_get(item);
5749}
5750
5751EOLIAN static void
5752_elm_widget_item_access_order_unset(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5753{
5754 _elm_access_widget_item_access_order_unset(item);
5755}
5756
5757EOLIAN static Evas_Object*
5758_elm_widget_item_access_register(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5759{
5760 _elm_access_widget_item_register(item);
5761 return item->access_obj;
5762}
5763
5764EOLIAN static void
5765_elm_widget_item_access_unregister(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5766{
5767 _elm_access_widget_item_unregister(item);
5768}
5769
5770EOLIAN static Evas_Object*
5771_elm_widget_item_access_object_get(Eo *eo_item EINA_UNUSED, Elm_Widget_Item_Data *item)
5772{
5773 return item->access_obj;
5774}
5775
5294/* happy debug functions */ 5776/* happy debug functions */
5295#ifdef ELM_DEBUG 5777#ifdef ELM_DEBUG
5296static void 5778static void
@@ -5477,4 +5959,5 @@ _elm_widget_class_constructor(Eo_Class *klass)
5477 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 5959 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
5478} 5960}
5479 5961
5962#include "elm_widget_item.eo.c"
5480#include "elm_widget.eo.c" 5963#include "elm_widget.eo.c"
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index 3f6db3515..79aa04e22 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -447,7 +447,7 @@ typedef struct _Elm_Tooltip Elm_Tooltip;
447typedef struct _Elm_Cursor Elm_Cursor; 447typedef struct _Elm_Cursor Elm_Cursor;
448 448
449/**< base structure for all widget items that are not Elm_Widget themselves */ 449/**< base structure for all widget items that are not Elm_Widget themselves */
450typedef struct _Elm_Widget_Item Elm_Widget_Item; 450typedef struct _Elm_Widget_Item_Data Elm_Widget_Item_Data;
451typedef struct _Elm_Widget_Item_Signal_Data Elm_Widget_Item_Signal_Data; 451typedef struct _Elm_Widget_Item_Signal_Data Elm_Widget_Item_Signal_Data;
452 452
453/**< accessibility information to be able to set and get from the access API */ 453/**< accessibility information to be able to set and get from the access API */
@@ -466,7 +466,7 @@ typedef Evas_Object *(*Elm_Widget_Content_Unset_Cb)(const void *data, c
466typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const char *emission, const char *source); 466typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const char *emission, const char *source);
467typedef void (*Elm_Widget_Disable_Cb)(void *data); 467typedef void (*Elm_Widget_Disable_Cb)(void *data);
468typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data); 468typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data);
469typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Widget_Item *item, const char *emission, const char *source); 469typedef void (*Elm_Widget_Item_Signal_Cb)(void *data, Elm_Widget_Item_Data *item, const char *emission, const char *source);
470typedef void (*Elm_Widget_Style_Set_Cb)(void *data, const char *style); 470typedef void (*Elm_Widget_Style_Set_Cb)(void *data, const char *style);
471typedef const char *(*Elm_Widget_Style_Get_Cb)(const void *data); 471typedef const char *(*Elm_Widget_Style_Get_Cb)(const void *data);
472typedef void (*Elm_Widget_Focus_Set_Cb)(void *data, Eina_Bool focused); 472typedef void (*Elm_Widget_Focus_Set_Cb)(void *data, Eina_Bool focused);
@@ -496,7 +496,7 @@ struct _Elm_Access_Info
496 Elm_Access_Activate_Cb activate; 496 Elm_Access_Activate_Cb activate;
497 497
498 /* the owner widget item that owns this access info */ 498 /* the owner widget item that owns this access info */
499 Elm_Widget_Item *widget_item; 499 Elm_Widget_Item_Data *widget_item;
500 500
501 /* the owner part object that owns this access info */ 501 /* the owner part object that owns this access info */
502 Evas_Object *part_object; 502 Evas_Object *part_object;
@@ -517,9 +517,9 @@ void _elm_access_mouse_event_enabled_set(Eina_Bool enabled);
517/* if auto_higlight is EINA_TRUE, it does not steal a focus, it just moves a highlight */ 517/* if auto_higlight is EINA_TRUE, it does not steal a focus, it just moves a highlight */
518void _elm_access_auto_highlight_set(Eina_Bool enabled); 518void _elm_access_auto_highlight_set(Eina_Bool enabled);
519Eina_Bool _elm_access_auto_highlight_get(void); 519Eina_Bool _elm_access_auto_highlight_get(void);
520void _elm_access_widget_item_access_order_set(Elm_Widget_Item *item, Eina_List *objs); 520void _elm_access_widget_item_access_order_set(Elm_Widget_Item_Data *item, Eina_List *objs);
521const Eina_List *_elm_access_widget_item_access_order_get(const Elm_Widget_Item *item); 521const Eina_List *_elm_access_widget_item_access_order_get(const Elm_Widget_Item_Data *item);
522void _elm_access_widget_item_access_order_unset(Elm_Widget_Item *item); 522void _elm_access_widget_item_access_order_unset(Elm_Widget_Item_Data *item);
523void _elm_widget_focus_highlight_start(const Evas_Object *obj); 523void _elm_widget_focus_highlight_start(const Evas_Object *obj);
524void _elm_widget_highlight_in_theme_update(Eo *obj); 524void _elm_widget_highlight_in_theme_update(Eo *obj);
525void _elm_win_focus_highlight_start(Evas_Object *obj); 525void _elm_win_focus_highlight_start(Evas_Object *obj);
@@ -548,8 +548,8 @@ EAPI Eina_Bool _elm_access_2nd_click_timeout(Evas_Object *obj);
548EAPI void _elm_access_highlight_set(Evas_Object* obj); 548EAPI void _elm_access_highlight_set(Evas_Object* obj);
549EAPI Evas_Object * _elm_access_edje_object_part_object_register(Evas_Object *obj, const Evas_Object *partobj, const char* part); 549EAPI Evas_Object * _elm_access_edje_object_part_object_register(Evas_Object *obj, const Evas_Object *partobj, const char* part);
550EAPI void _elm_access_edje_object_part_object_unregister(Evas_Object* obj, const Evas_Object *eobj, const char* part); 550EAPI void _elm_access_edje_object_part_object_unregister(Evas_Object* obj, const Evas_Object *eobj, const char* part);
551EAPI void _elm_access_widget_item_register(Elm_Widget_Item *item); 551EAPI void _elm_access_widget_item_register(Elm_Widget_Item_Data *item);
552EAPI void _elm_access_widget_item_unregister(Elm_Widget_Item *item); 552EAPI void _elm_access_widget_item_unregister(Elm_Widget_Item_Data *item);
553EAPI void _elm_access_on_highlight_hook_set(Elm_Access_Info *ac, Elm_Access_On_Highlight_Cb func, void *data); 553EAPI void _elm_access_on_highlight_hook_set(Elm_Access_Info *ac, Elm_Access_On_Highlight_Cb func, void *data);
554EAPI void _elm_access_activate_callback_set(Elm_Access_Info *ac, Elm_Access_Activate_Cb func, void *data); 554EAPI void _elm_access_activate_callback_set(Elm_Access_Info *ac, Elm_Access_Activate_Cb func, void *data);
555EAPI void _elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act); 555EAPI void _elm_access_highlight_object_activate(Evas_Object *obj, Elm_Activate act);
@@ -560,18 +560,18 @@ EINA_DEPRECATED EAPI Elm_Access_Info *_elm_access_object_get(const Evas_Object *
560#define ELM_PREFS_DATA_MAGIC 0xe1f5da7a 560#define ELM_PREFS_DATA_MAGIC 0xe1f5da7a
561 561
562/**< put this as the first member in your widget item struct */ 562/**< put this as the first member in your widget item struct */
563#define ELM_WIDGET_ITEM Elm_Widget_Item base 563#define ELM_WIDGET_ITEM Elm_Widget_Item_Data base
564 564
565struct _Elm_Widget_Item_Signal_Data 565struct _Elm_Widget_Item_Signal_Data
566{ 566{
567 Elm_Widget_Item *item; 567 Elm_Widget_Item_Data *item;
568 Elm_Widget_Item_Signal_Cb func; 568 Elm_Widget_Item_Signal_Cb func;
569 const char *emission; 569 const char *emission;
570 const char *source; 570 const char *source;
571 void *data; 571 void *data;
572}; 572};
573 573
574struct _Elm_Widget_Item 574struct _Elm_Widget_Item_Data
575{ 575{
576/* ef1 ~~ efl, el3 ~~ elm */ 576/* ef1 ~~ efl, el3 ~~ elm */
577#define ELM_WIDGET_ITEM_MAGIC 0xef1e1301 577#define ELM_WIDGET_ITEM_MAGIC 0xef1e1301
@@ -579,8 +579,11 @@ struct _Elm_Widget_Item
579/* simple accessor macros */ 579/* simple accessor macros */
580#define VIEW(X) X->base.view 580#define VIEW(X) X->base.view
581#define WIDGET(X) X->base.widget 581#define WIDGET(X) X->base.widget
582#define EO_OBJ(X) (Elm_Object_Item *)X->base->eo_obj
582 /**< the owner widget that owns this item */ 583 /**< the owner widget that owns this item */
583 Evas_Object *widget; 584 Evas_Object *widget;
585 /**< The Eo item, useful to invoke eo_do when only the item data is available */
586 Eo *eo_obj;
584 /**< the base view object */ 587 /**< the base view object */
585 Evas_Object *view; 588 Evas_Object *view;
586 /**< item specific data. used for del callback */ 589 /**< item specific data. used for del callback */
@@ -765,69 +768,69 @@ EAPI Elm_Object_Item *elm_widget_focused_item_get(const Evas_Object *obj);
765EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled); 768EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
766EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj); 769EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj);
767EAPI void elm_widget_focus_highlight_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); 770EAPI void elm_widget_focus_highlight_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
768EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size); 771EAPI Elm_Widget_Item_Data *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
769EAPI void _elm_widget_item_free(Elm_Widget_Item *item); 772EAPI void _elm_widget_item_free(Elm_Widget_Item_Data *item);
770EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item); 773EAPI Evas_Object *elm_widget_item_internal_widget_get(const Elm_Widget_Item_Data *item);
771EAPI void _elm_widget_item_del(Elm_Widget_Item *item); 774EAPI void _elm_widget_item_internal_del(Elm_Widget_Item_Data *item);
772EAPI void _elm_widget_item_pre_notify_del(Elm_Widget_Item *item); 775EAPI void elm_widget_item_internal_pre_notify_del(Elm_Widget_Item_Data *item);
773EAPI void _elm_widget_item_del_cb_set(Elm_Widget_Item *item, Evas_Smart_Cb del_cb); 776EAPI void elm_widget_item_internal_del_cb_set(Elm_Widget_Item_Data *item, Evas_Smart_Cb del_cb);
774EAPI void _elm_widget_item_data_set(Elm_Widget_Item *item, const void *data); 777EAPI void elm_widget_item_internal_data_set(Elm_Widget_Item_Data *item, const void *data);
775EAPI void *_elm_widget_item_data_get(const Elm_Widget_Item *item); 778EAPI void *elm_widget_item_internal_data_get(const Elm_Widget_Item_Data *item);
776EAPI void _elm_widget_item_tooltip_text_set(Elm_Widget_Item *item, const char *text); 779EAPI void elm_widget_item_internal_tooltip_text_set(Elm_Widget_Item_Data *item, const char *text);
777EAPI void _elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item, const char *text); 780EAPI void elm_widget_item_internal_tooltip_translatable_text_set(Elm_Widget_Item_Data *item, const char *text);
778EAPI void _elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb); 781EAPI void elm_widget_item_internal_tooltip_content_cb_set(Elm_Widget_Item_Data *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
779EAPI void _elm_widget_item_tooltip_unset(Elm_Widget_Item *item); 782EAPI void elm_widget_item_internal_tooltip_unset(Elm_Widget_Item_Data *item);
780EAPI void _elm_widget_item_tooltip_style_set(Elm_Widget_Item *item, const char *style); 783EAPI void elm_widget_item_internal_tooltip_style_set(Elm_Widget_Item_Data *item, const char *style);
781EAPI Eina_Bool _elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item, Eina_Bool disable); 784EAPI Eina_Bool elm_widget_item_internal_tooltip_window_mode_set(Elm_Widget_Item_Data *item, Eina_Bool disable);
782EAPI Eina_Bool _elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item); 785EAPI Eina_Bool elm_widget_item_internal_tooltip_window_mode_get(const Elm_Widget_Item_Data *item);
783EAPI const char *_elm_widget_item_tooltip_style_get(const Elm_Widget_Item *item); 786EAPI const char *elm_widget_item_internal_tooltip_style_get(const Elm_Widget_Item_Data *item);
784EAPI void _elm_widget_item_cursor_set(Elm_Widget_Item *item, const char *cursor); 787EAPI void elm_widget_item_internal_cursor_set(Elm_Widget_Item_Data *item, const char *cursor);
785EAPI const char *_elm_widget_item_cursor_get(const Elm_Widget_Item *item); 788EAPI const char *elm_widget_item_internal_cursor_get(const Elm_Widget_Item_Data *item);
786EAPI void _elm_widget_item_cursor_unset(Elm_Widget_Item *item); 789EAPI void elm_widget_item_internal_cursor_unset(Elm_Widget_Item_Data *item);
787EAPI void _elm_widget_item_cursor_style_set(Elm_Widget_Item *item, const char *style); 790EAPI void elm_widget_item_internal_cursor_style_set(Elm_Widget_Item_Data *item, const char *style);
788EAPI const char *_elm_widget_item_cursor_style_get(const Elm_Widget_Item *item); 791EAPI const char *elm_widget_item_internal_cursor_style_get(const Elm_Widget_Item_Data *item);
789EAPI void _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, Eina_Bool engine_only); 792EAPI void elm_widget_item_internal_cursor_engine_only_set(Elm_Widget_Item_Data *item, Eina_Bool engine_only);
790EAPI Eina_Bool _elm_widget_item_cursor_engine_only_get(const Elm_Widget_Item *item); 793EAPI Eina_Bool elm_widget_item_internal_cursor_engine_only_get(const Elm_Widget_Item_Data *item);
791EAPI void _elm_widget_item_part_content_set(Elm_Widget_Item *item, const char *part, Evas_Object *content); 794EAPI void elm_widget_item_internal_part_content_set(Elm_Widget_Item_Data *item, const char *part, Evas_Object *content);
792EAPI Evas_Object *_elm_widget_item_part_content_get(const Elm_Widget_Item *item, const char *part); 795EAPI Evas_Object *elm_widget_item_internal_part_content_get(const Elm_Widget_Item_Data *item, const char *part);
793EAPI Evas_Object *_elm_widget_item_part_content_unset(Elm_Widget_Item *item, const char *part); 796EAPI Evas_Object *elm_widget_item_internal_part_content_unset(Elm_Widget_Item_Data *item, const char *part);
794EAPI void _elm_widget_item_part_text_set(Elm_Widget_Item *item, const char *part, const char *label); 797EAPI void elm_widget_item_internal_part_text_set(Elm_Widget_Item_Data *item, const char *part, const char *label);
795EAPI const char *_elm_widget_item_part_text_get(const Elm_Widget_Item *item, const char *part); 798EAPI const char *elm_widget_item_internal_part_text_get(const Elm_Widget_Item_Data *item, const char *part);
796EAPI void _elm_widget_item_part_text_custom_set(Elm_Widget_Item *item, const char *part, const char *label); 799EAPI void _elm_widget_item_internal_part_text_custom_set(Elm_Widget_Item_Data *item, const char *part, const char *label);
797EAPI const char *_elm_widget_item_part_text_custom_get(Elm_Widget_Item *item, const char *part); 800EAPI const char *_elm_widget_item_internal_part_text_custom_get(Elm_Widget_Item_Data *item, const char *part);
798EAPI void _elm_widget_item_part_text_custom_update(Elm_Widget_Item *item); 801EAPI void _elm_widget_item_internal_part_text_custom_update(Elm_Widget_Item_Data *item);
799EAPI void _elm_widget_item_focus_set(Elm_Widget_Item *item, Eina_Bool focused); 802EAPI void elm_widget_item_internal_focus_set(Elm_Widget_Item_Data *item, Eina_Bool focused);
800EAPI Eina_Bool _elm_widget_item_focus_get(const Elm_Widget_Item *item); 803EAPI Eina_Bool elm_widget_item_internal_focus_get(const Elm_Widget_Item_Data *item);
801EAPI void _elm_widget_item_style_set(Elm_Widget_Item *item, const char *style); 804EAPI void elm_widget_item_internal_style_set(Elm_Widget_Item_Data *item, const char *style);
802EAPI const char *_elm_widget_item_style_get(Elm_Widget_Item *item); 805EAPI const char *elm_widget_item_internal_style_get(Elm_Widget_Item_Data *item);
803 806
804EAPI void _elm_widget_item_signal_callback_add(Elm_Widget_Item *item, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func, void *data); 807EAPI void elm_widget_item_internal_signal_callback_add(Elm_Widget_Item_Data *item, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func, void *data);
805EAPI void *_elm_widget_item_signal_callback_del(Elm_Widget_Item *it, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func); 808EAPI void *elm_widget_item_internal_signal_callback_del(Elm_Widget_Item_Data *it, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func);
806EAPI void _elm_widget_item_signal_emit(Elm_Widget_Item *item, const char *emission, const char *source); 809EAPI void elm_widget_item_internal_signal_emit(Elm_Widget_Item_Data *item, const char *emission, const char *source);
807EAPI void _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Set_Cb func); 810EAPI void _elm_widget_item_content_set_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Content_Set_Cb func);
808EAPI void _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Get_Cb func); 811EAPI void _elm_widget_item_content_get_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Content_Get_Cb func);
809EAPI void _elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Unset_Cb func); 812EAPI void _elm_widget_item_content_unset_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Content_Unset_Cb func);
810EAPI void _elm_widget_item_text_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Set_Cb func); 813EAPI void _elm_widget_item_text_set_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Text_Set_Cb func);
811EAPI void _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Get_Cb func); 814EAPI void _elm_widget_item_text_get_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Text_Get_Cb func);
812EAPI void _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *it, Elm_Widget_Signal_Emit_Cb func); 815EAPI void _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item_Data *it, Elm_Widget_Signal_Emit_Cb func);
813EAPI void _elm_widget_item_access_info_set(Elm_Widget_Item *item, const char *txt); 816EAPI void _elm_widget_item_internal_access_info_set(Elm_Widget_Item_Data *item, const char *txt);
814EAPI void _elm_widget_item_disabled_set(Elm_Widget_Item *item, Eina_Bool disabled); 817EAPI void elm_widget_item_internal_disabled_set(Elm_Widget_Item_Data *item, Eina_Bool disabled);
815EAPI Eina_Bool _elm_widget_item_disabled_get(const Elm_Widget_Item *item); 818EAPI Eina_Bool elm_widget_item_internal_disabled_get(const Elm_Widget_Item_Data *item);
816EAPI void _elm_widget_item_disable_hook_set(Elm_Widget_Item *item, Elm_Widget_Disable_Cb func); 819EAPI void _elm_widget_item_disable_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Disable_Cb func);
817EAPI void _elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item, Elm_Widget_Del_Pre_Cb func); 820EAPI void _elm_widget_item_del_pre_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Del_Pre_Cb func);
818EAPI void _elm_widget_item_style_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Set_Cb func); 821EAPI void _elm_widget_item_style_set_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Style_Set_Cb func);
819EAPI void _elm_widget_item_style_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Get_Cb func); 822EAPI void _elm_widget_item_style_get_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Style_Get_Cb func);
820EAPI void _elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Get_Cb func); 823EAPI void _elm_widget_item_focus_get_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Focus_Get_Cb func);
821EAPI void _elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func); 824EAPI void _elm_widget_item_focus_set_hook_set(Elm_Widget_Item_Data *item, Elm_Widget_Focus_Set_Cb func);
822EAPI void _elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item, const char *part, const char *domain, const char *label); 825EAPI void elm_widget_item_internal_domain_translatable_part_text_set(Elm_Widget_Item_Data *item, const char *part, const char *domain, const char *label);
823EAPI const char * _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, const char *part); 826EAPI const char * elm_widget_item_internal_translatable_part_text_get(const Elm_Widget_Item_Data *item, const char *part);
824EAPI void _elm_widget_item_translate(Elm_Widget_Item *item); 827EAPI void elm_widget_item_internal_translate(Elm_Widget_Item_Data *item);
825EAPI void _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, const char *part, const char *domain, Eina_Bool translatable); 828EAPI void elm_widget_item_internal_domain_part_text_translatable_set(Elm_Widget_Item_Data *item, const char *part, const char *domain, Eina_Bool translatable);
826 829
827EAPI Evas_Object *elm_widget_item_track(Elm_Widget_Item *item); 830EAPI Evas_Object *elm_widget_item_track(Elm_Widget_Item_Data *item);
828EAPI void elm_widget_item_untrack(Elm_Widget_Item *item); 831EAPI void elm_widget_item_untrack(Elm_Widget_Item_Data *item);
829EAPI int elm_widget_item_track_get(const Elm_Widget_Item *item); 832EAPI int elm_widget_item_track_get(const Elm_Widget_Item_Data *item);
830EAPI void _elm_widget_item_track_cancel(Elm_Widget_Item *item); 833EAPI void elm_widget_item_internal_track_cancel(Elm_Widget_Item_Data *item);
831void _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it); 834void _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it);
832 835
833/** 836/**
@@ -856,7 +859,7 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
856 859
857/** 860/**
858 * Convenience macro to create new widget item, doing casts for you. 861 * Convenience macro to create new widget item, doing casts for you.
859 * @see _elm_widget_item_new() 862 * @see elm_widget_item_internal_new()
860 * @param parent a valid elm_widget variant. 863 * @param parent a valid elm_widget variant.
861 * @param type the C type that extends Elm_Widget_Item 864 * @param type the C type that extends Elm_Widget_Item
862 */ 865 */
@@ -864,279 +867,173 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
864 (type *)_elm_widget_item_new((parent), sizeof(type)) 867 (type *)_elm_widget_item_new((parent), sizeof(type))
865/** 868/**
866 * Convenience macro to free widget item, doing casts for you. 869 * Convenience macro to free widget item, doing casts for you.
867 * @see _elm_widget_item_free() 870 * @see elm_widget_item_internal_free()
868 * @param item a valid item. 871 * @param item a valid item.
869 */ 872 */
870#define elm_widget_item_free(item) \ 873#define elm_widget_item_free(item) \
871 _elm_widget_item_free((Elm_Widget_Item *)item) 874 _elm_widget_item_free((Elm_Widget_Item_Data *)item)
872 875
873/** 876/**
874 * Convenience macro to delete widget item, doing casts for you. 877 * Convenience macro to delete widget item, doing casts for you.
875 * @see _elm_widget_item_del() 878 * @see elm_widget_item_internal_del()
876 * @param item a valid item. 879 * @param item a valid item.
877 */ 880 */
878#define elm_widget_item_del(item) \ 881#define elm_widget_item_del(item) \
879 _elm_widget_item_del((Elm_Widget_Item *)item) 882 _elm_widget_item_internal_del((Elm_Widget_Item_Data *)item)
880/**
881 * Convenience macro to notify deletion of widget item, doing casts for you.
882 * @see _elm_widget_item_pre_notify_del()
883 */
884#define elm_widget_item_pre_notify_del(item) \ 883#define elm_widget_item_pre_notify_del(item) \
885 _elm_widget_item_pre_notify_del((Elm_Widget_Item *)item) 884 elm_widget_item_internal_pre_notify_del((Elm_Widget_Item_Data *)item)
886/**
887 * Convenience macro to set deletion callback of widget item, doing casts for you.
888 * @see _elm_widget_item_del_cb_set()
889 */
890#define elm_widget_item_del_cb_set(item, del_cb) \ 885#define elm_widget_item_del_cb_set(item, del_cb) \
891 _elm_widget_item_del_cb_set((Elm_Widget_Item *)item, del_cb) 886 elm_widget_item_internal_del_cb_set((Elm_Widget_Item_Data *)item, del_cb)
892
893/**
894 * Get item's owner widget
895 * @see _elm_widget_item_widget_get()
896 */
897#define elm_widget_item_widget_get(item) \ 887#define elm_widget_item_widget_get(item) \
898 _elm_widget_item_widget_get((const Elm_Widget_Item *)item) 888 elm_widget_item_internal_widget_get((const Elm_Widget_Item_Data *)item)
899
900/**
901 * Set item's data
902 * @see _elm_widget_item_data_set()
903 */
904#define elm_widget_item_data_set(item, data) \ 889#define elm_widget_item_data_set(item, data) \
905 _elm_widget_item_data_set((Elm_Widget_Item *)item, data) 890 elm_widget_item_internal_data_set((Elm_Widget_Item_Data *)item, data)
906/**
907 * Get item's data
908 * @see _elm_widget_item_data_get()
909 */
910#define elm_widget_item_data_get(item) \ 891#define elm_widget_item_data_get(item) \
911 _elm_widget_item_data_get((const Elm_Widget_Item *)item) 892 elm_widget_item_internal_data_get((const Elm_Widget_Item_Data *)item)
912 893
913/**
914 * Convenience function to set widget item tooltip as a text string.
915 * @see _elm_widget_item_tooltip_text_set()
916 */
917#define elm_widget_item_tooltip_text_set(item, text) \ 894#define elm_widget_item_tooltip_text_set(item, text) \
918 _elm_widget_item_tooltip_text_set((Elm_Widget_Item *)item, text) 895 elm_widget_item_internal_tooltip_text_set((Elm_Widget_Item_Data *)item, text)
919/**
920 * Convenience function to set widget item tooltip as a text string.
921 * @see _elm_widget_item_tooltip_text_set()
922 */
923#define elm_widget_item_tooltip_translatable_text_set(item, text) \ 896#define elm_widget_item_tooltip_translatable_text_set(item, text) \
924 _elm_widget_item_tooltip_translatable_text_set((Elm_Widget_Item *)item, text) 897 elm_widget_item_internal_tooltip_translatable_text_set((Elm_Widget_Item_Data *)item, text)
925/**
926 * Convenience function to set widget item tooltip.
927 * @see _elm_widget_item_tooltip_content_cb_set()
928 */
929#define elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb) \ 898#define elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb) \
930 _elm_widget_item_tooltip_content_cb_set((Elm_Widget_Item *)item, \ 899 elm_widget_item_internal_tooltip_content_cb_set((Elm_Widget_Item_Data *)item, \
931 func, data, del_cb) 900 func, data, del_cb)
932/**
933 * Convenience function to unset widget item tooltip.
934 * @see _elm_widget_item_tooltip_unset()
935 */
936#define elm_widget_item_tooltip_unset(item) \ 901#define elm_widget_item_tooltip_unset(item) \
937 _elm_widget_item_tooltip_unset((Elm_Widget_Item *)item) 902 elm_widget_item_internal_tooltip_unset((Elm_Widget_Item_Data *)item)
938/**
939 * Convenience function to change item's tooltip style.
940 * @see _elm_widget_item_tooltip_style_set()
941 */
942#define elm_widget_item_tooltip_style_set(item, style) \ 903#define elm_widget_item_tooltip_style_set(item, style) \
943 _elm_widget_item_tooltip_style_set((Elm_Widget_Item *)item, style) 904 elm_widget_item_internal_tooltip_style_set((Elm_Widget_Item_Data *)item, style)
944 905
945#define elm_widget_item_tooltip_window_mode_set(item, disable) \ 906#define elm_widget_item_tooltip_window_mode_set(item, disable) \
946 _elm_widget_item_tooltip_window_mode_set((Elm_Widget_Item *)item, disable) 907 elm_widget_item_internal_tooltip_window_mode_set((Elm_Widget_Item_Data *)item, disable)
947 908
948#define elm_widget_item_tooltip_window_mode_get(item) \ 909#define elm_widget_item_tooltip_window_mode_get(item) \
949 _elm_widget_item_tooltip_window_mode_get((Elm_Widget_Item *)item) 910 elm_widget_item_internal_tooltip_window_mode_get((Elm_Widget_Item_Data *)item)
950/**
951 * Convenience function to query item's tooltip style.
952 * @see _elm_widget_item_tooltip_style_get()
953 */
954#define elm_widget_item_tooltip_style_get(item) \ 911#define elm_widget_item_tooltip_style_get(item) \
955 _elm_widget_item_tooltip_style_get((const Elm_Widget_Item *)item) 912 elm_widget_item_internal_tooltip_style_get((const Elm_Widget_Item_Data *)item)
956/**
957 * Convenience function to set widget item cursor.
958 * @see _elm_widget_item_cursor_set()
959 */
960#define elm_widget_item_cursor_set(item, cursor) \ 913#define elm_widget_item_cursor_set(item, cursor) \
961 _elm_widget_item_cursor_set((Elm_Widget_Item *)item, cursor) 914 elm_widget_item_internal_cursor_set((Elm_Widget_Item_Data *)item, cursor)
962/**
963 * Convenience function to get widget item cursor.
964 * @see _elm_widget_item_cursor_get()
965 */
966#define elm_widget_item_cursor_get(item) \ 915#define elm_widget_item_cursor_get(item) \
967 _elm_widget_item_cursor_get((const Elm_Widget_Item *)item) 916 elm_widget_item_internal_cursor_get((const Elm_Widget_Item_Data *)item)
968/**
969 * Convenience function to unset widget item cursor.
970 * @see _elm_widget_item_cursor_unset()
971 */
972#define elm_widget_item_cursor_unset(item) \ 917#define elm_widget_item_cursor_unset(item) \
973 _elm_widget_item_cursor_unset((Elm_Widget_Item *)item) 918 elm_widget_item_internal_cursor_unset((Elm_Widget_Item_Data *)item)
974/**
975 * Convenience function to change item's cursor style.
976 * @see _elm_widget_item_cursor_style_set()
977 */
978#define elm_widget_item_cursor_style_set(item, style) \ 919#define elm_widget_item_cursor_style_set(item, style) \
979 _elm_widget_item_cursor_style_set((Elm_Widget_Item *)item, style) 920 elm_widget_item_internal_cursor_style_set((Elm_Widget_Item_Data *)item, style)
980/**
981 * Convenience function to query item's cursor style.
982 * @see _elm_widget_item_cursor_style_get()
983 */
984#define elm_widget_item_cursor_style_get(item) \ 921#define elm_widget_item_cursor_style_get(item) \
985 _elm_widget_item_cursor_style_get((const Elm_Widget_Item *)item) 922 elm_widget_item_internal_cursor_style_get((const Elm_Widget_Item_Data *)item)
986/**
987 * Convenience function to change item's cursor engine_only.
988 * @see _elm_widget_item_cursor_engine_only_set()
989 */
990#define elm_widget_item_cursor_engine_only_set(item, engine_only) \ 923#define elm_widget_item_cursor_engine_only_set(item, engine_only) \
991 _elm_widget_item_cursor_engine_only_set((Elm_Widget_Item *)item, engine_only) 924 elm_widget_item_internal_cursor_engine_only_set((Elm_Widget_Item_Data *)item, engine_only)
992/**
993 * Convenience function to query item's cursor engine_only.
994 * @see _elm_widget_item_cursor_engine_only_get()
995 */
996#define elm_widget_item_cursor_engine_only_get(item) \ 925#define elm_widget_item_cursor_engine_only_get(item) \
997 _elm_widget_item_cursor_engine_only_get((const Elm_Widget_Item *)item) 926 elm_widget_item_internal_cursor_engine_only_get((const Elm_Widget_Item_Data *)item)
998/** 927/**
999 * Convenience function to query item's content set hook. 928 * Convenience function to query item's content set hook.
1000 * @see _elm_widget_item_content_set_hook_set() 929 * @see elm_widget_item_internal_content_set_hook_set()
1001 */ 930 */
1002#define elm_widget_item_content_set_hook_set(item, func) \ 931#define elm_widget_item_content_set_hook_set(item, func) \
1003 _elm_widget_item_content_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Set_Cb)func) 932 _elm_widget_item_content_set_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Content_Set_Cb)func)
1004/** 933/**
1005 * Convenience function to query item's content get hook. 934 * Convenience function to query item's content get hook.
1006 * @see _elm_widget_item_content_get_hook_set() 935 * @see elm_widget_item_internal_content_get_hook_set()
1007 */ 936 */
1008#define elm_widget_item_content_get_hook_set(item, func) \ 937#define elm_widget_item_content_get_hook_set(item, func) \
1009 _elm_widget_item_content_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Get_Cb)func) 938 _elm_widget_item_content_get_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Content_Get_Cb)func)
1010/** 939/**
1011 * Convenience function to query item's content unset hook. 940 * Convenience function to query item's content unset hook.
1012 * @see _elm_widget_item_content_unset_hook_set() 941 * @see elm_widget_item_internal_content_unset_hook_set()
1013 */ 942 */
1014#define elm_widget_item_content_unset_hook_set(item, func) \ 943#define elm_widget_item_content_unset_hook_set(item, func) \
1015 _elm_widget_item_content_unset_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Unset_Cb)func) 944 _elm_widget_item_content_unset_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Content_Unset_Cb)func)
1016/** 945/**
1017 * Convenience function to query item's text set hook. 946 * Convenience function to query item's text set hook.
1018 * @see _elm_widget_item_text_set_hook_set() 947 * @see elm_widget_item_internal_text_set_hook_set()
1019 */ 948 */
1020#define elm_widget_item_text_set_hook_set(item, func) \ 949#define elm_widget_item_text_set_hook_set(item, func) \
1021 _elm_widget_item_text_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Set_Cb)func) 950 _elm_widget_item_text_set_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Text_Set_Cb)func)
1022/** 951/**
1023 * Convenience function to query item's text get hook. 952 * Convenience function to query item's text get hook.
1024 * @see _elm_widget_item_text_get_hook_set() 953 * @see elm_widget_item_internal_text_get_hook_set()
1025 */ 954 */
1026#define elm_widget_item_text_get_hook_set(item, func) \ 955#define elm_widget_item_text_get_hook_set(item, func) \
1027 _elm_widget_item_text_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Get_Cb)func) 956 _elm_widget_item_text_get_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Text_Get_Cb)func)
1028/** 957/**
1029 * Convenience function to query item's signal emit hook. 958 * Convenience function to query item's signal emit hook.
1030 * @see _elm_widget_item_signal_emit_hook_set() 959 * @see elm_widget_item_internal_signal_emit_hook_set()
1031 */ 960 */
1032#define elm_widget_item_signal_emit_hook_set(item, func) \ 961#define elm_widget_item_signal_emit_hook_set(item, func) \
1033 _elm_widget_item_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Signal_Emit_Cb)func) 962 _elm_widget_item_signal_emit_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Signal_Emit_Cb)func)
1034/** 963/**
1035 * Convenience function to query disable get hook. 964 * Convenience function to query disable get hook.
1036 * @see _elm_widget_item_disabled_get() 965 * @see elm_widget_item_internal_disabled_get()
1037 */ 966 */
1038#define elm_widget_item_disabled_get(item) \ 967#define elm_widget_item_disabled_get(item) \
1039 _elm_widget_item_disabled_get((Elm_Widget_Item *)item) 968 elm_widget_item_internal_disabled_get((Elm_Widget_Item_Data *)item)
1040/** 969/**
1041 * Convenience function to query disable set hook. 970 * Convenience function to query disable set hook.
1042 * @see _elm_widget_item_disable_hook_set() 971 * @see elm_widget_item_internal_disable_hook_set()
1043 */ 972 */
1044#define elm_widget_item_disable_hook_set(item, func) \ 973#define elm_widget_item_disable_hook_set(item, func) \
1045 _elm_widget_item_disable_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Disable_Cb)func) 974 _elm_widget_item_disable_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Disable_Cb)func)
1046/** 975/**
1047 * Convenience function to query del pre hook. 976 * Convenience function to query del pre hook.
1048 * @see _elm_widget_item_del_pre_hook_set() 977 * @see elm_widget_item_internal_del_pre_hook_set()
1049 */ 978 */
1050#define elm_widget_item_del_pre_hook_set(item, func) \ 979#define elm_widget_item_del_pre_hook_set(item, func) \
1051 _elm_widget_item_del_pre_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Del_Pre_Cb)func) 980 _elm_widget_item_del_pre_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Del_Pre_Cb)func)
1052/** 981/**
1053 * Convenience function to query style set hook. 982 * Convenience function to query style set hook.
1054 * @see _elm_widget_item_style_set_hook_set() 983 * @see elm_widget_item_internal_style_set_hook_set()
1055 */ 984 */
1056#define elm_widget_item_style_set_hook_set(item, func) \ 985#define elm_widget_item_style_set_hook_set(item, func) \
1057 _elm_widget_item_style_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Set_Cb)func) 986 _elm_widget_item_style_set_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Style_Set_Cb)func)
1058/** 987/**
1059 * Convenience function to query style get hook. 988 * Convenience function to query style get hook.
1060 * @see _elm_widget_item_style_get_hook_set() 989 * @see elm_widget_item_internal_style_get_hook_set()
1061 */ 990 */
1062#define elm_widget_item_style_get_hook_set(item, func) \ 991#define elm_widget_item_style_get_hook_set(item, func) \
1063 _elm_widget_item_style_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Get_Cb)func) 992 _elm_widget_item_style_get_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Style_Get_Cb)func)
1064 993
1065/**
1066 * Convenience function to set style .
1067 * @see _elm_widget_item_style_set()
1068 */
1069#define elm_widget_item_style_set(item, style) \ 994#define elm_widget_item_style_set(item, style) \
1070 _elm_widget_item_style_set((Elm_Widget_Item *)item, style) 995 elm_widget_item_internal_style_set((Elm_Widget_Item_Data *)item, style)
1071/**
1072 * Convenience function to get style .
1073 * @see _elm_widget_item_style_get()
1074 */
1075#define elm_widget_item_style_get(item) \ 996#define elm_widget_item_style_get(item) \
1076 _elm_widget_item_style_get((Elm_Widget_Item *)item) 997 elm_widget_item_internal_style_get((Elm_Widget_Item_Data *)item)
1077 998
1078/** 999/**
1079 * Convenience function to query focus set hook. 1000 * Convenience function to query focus set hook.
1080 * @see _elm_widget_item_focus_set_hook_set() 1001 * @see elm_widget_item_internal_focus_set_hook_set()
1081 */ 1002 */
1082#define elm_widget_item_focus_set_hook_set(item, func) \ 1003#define elm_widget_item_focus_set_hook_set(item, func) \
1083 _elm_widget_item_focus_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Set_Cb)func) 1004 _elm_widget_item_focus_set_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Focus_Set_Cb)func)
1084 1005
1085/** 1006/**
1086 * Convenience function to query focus get hook. 1007 * Convenience function to query focus get hook.
1087 * @see _elm_widget_item_focus_get_hook_set() 1008 * @see elm_widget_item_internal_focus_get_hook_set()
1088 */ 1009 */
1089#define elm_widget_item_focus_get_hook_set(item, func) \ 1010#define elm_widget_item_focus_get_hook_set(item, func) \
1090 _elm_widget_item_focus_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Get_Cb)func) 1011 _elm_widget_item_focus_get_hook_set((Elm_Widget_Item_Data *)item, (Elm_Widget_Focus_Get_Cb)func)
1091 1012
1092/** 1013/**
1093 * Convenience function to query track_cancel. 1014 * Convenience function to query track_cancel.
1094 * @see _elm_widget_item_del_pre_hook_set() 1015 * @see elm_widget_item_internal_del_pre_hook_set()
1095 */ 1016 */
1096#define elm_widget_item_track_cancel(item) \ 1017#define elm_widget_item_track_cancel(item) \
1097 _elm_widget_item_track_cancel((Elm_Widget_Item *)item) 1018 elm_widget_item_internal_track_cancel((Elm_Widget_Item_Data *)item)
1098 1019
1099/**
1100 * Convenience function to query translate hook.
1101 * @see _elm_widget_item_track_cancel()
1102 */
1103#define elm_widget_item_translate(item) \ 1020#define elm_widget_item_translate(item) \
1104 _elm_widget_item_translate((Elm_Widget_Item *)item) 1021 elm_widget_item_internal_translate((Elm_Widget_Item_Data *)item)
1105 1022
1106/**
1107 * Convenience function to save additional text part content.
1108 * @see _elm_widget_item_part_text_custom_set()
1109 */
1110#define elm_widget_item_part_text_custom_set(item, part, text) \ 1023#define elm_widget_item_part_text_custom_set(item, part, text) \
1111 _elm_widget_item_part_text_custom_set((Elm_Widget_Item *)item, part, text) 1024 _elm_widget_item_internal_part_text_custom_set((Elm_Widget_Item_Data *)item, part, text)
1112 1025
1113/**
1114 * Convenience function to get additional text part content.
1115 * @see _elm_widget_item_part_text_custom_set()
1116 */
1117#define elm_widget_item_part_text_custom_get(item, part) \ 1026#define elm_widget_item_part_text_custom_get(item, part) \
1118 _elm_widget_item_part_text_custom_get((Elm_Widget_Item *)item, part) 1027 _elm_widget_item_internal_part_text_custom_get((Elm_Widget_Item_Data *)item, part)
1119 1028
1120/**
1121 * Convenience function to update additional text part content.
1122 * @see _elm_widget_item_part_text_custom_set()
1123 */
1124#define elm_widget_item_part_text_custom_update(item) \ 1029#define elm_widget_item_part_text_custom_update(item) \
1125 _elm_widget_item_part_text_custom_update((Elm_Widget_Item *)item) 1030 _elm_widget_item_internal_part_text_custom_update((Elm_Widget_Item_Data *)item)
1126 1031
1127/**
1128 * Convenience function to set the focus on widget item.
1129 * @see _elm_widget_item_focus_set()
1130 */
1131#define elm_widget_item_focus_set(item, focused) \ 1032#define elm_widget_item_focus_set(item, focused) \
1132 _elm_widget_item_focus_set((Elm_Widget_Item *)item, focused) 1033 elm_widget_item_internal_focus_set((Elm_Widget_Item_Data *)item, focused)
1133 1034
1134/**
1135 * Convenience function to query focus set hook.
1136 * @see _elm_widget_item_focus_get()
1137 */
1138#define elm_widget_item_focus_get(item) \ 1035#define elm_widget_item_focus_get(item) \
1139 _elm_widget_item_focus_get((const Elm_Widget_Item *)item) 1036 elm_widget_item_internal_focus_get((const Elm_Widget_Item_Data *)item)
1140 1037
1141#define ELM_WIDGET_CHECK_OR_RETURN(obj, ...) \ 1038#define ELM_WIDGET_CHECK_OR_RETURN(obj, ...) \
1142 do { \ 1039 do { \
@@ -1161,6 +1058,8 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
1161 CRI("Elm_Widget_Item " # item " is NULL"); \ 1058 CRI("Elm_Widget_Item " # item " is NULL"); \
1162 return __VA_ARGS__; \ 1059 return __VA_ARGS__; \
1163 } \ 1060 } \
1061 if ((item)->eo_obj && \
1062 eo_isa((item)->eo_obj, ELM_WIDGET_ITEM_CLASS)) break; \
1164 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \ 1063 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \
1165 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \ 1064 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \
1166 return __VA_ARGS__; \ 1065 return __VA_ARGS__; \
@@ -1173,6 +1072,8 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
1173 CRI("Elm_Widget_Item " # item " is NULL"); \ 1072 CRI("Elm_Widget_Item " # item " is NULL"); \
1174 goto label; \ 1073 goto label; \
1175 } \ 1074 } \
1075 if ((item)->eo_obj && \
1076 eo_isa((item)->eo_obj, ELM_WIDGET_ITEM_CLASS)) break; \
1176 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \ 1077 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \
1177 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \ 1078 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \
1178 goto label; \ 1079 goto label; \
@@ -1190,4 +1091,7 @@ typedef void * (*list_data_get_func_type)(const Eina_List * l);
1190 1091
1191#include "elm_widget.eo.h" 1092#include "elm_widget.eo.h"
1192 1093
1094#define ELM_WIDGET_ITEM_PROTECTED
1095#include "elm_widget_item.eo.h"
1096
1193#endif 1097#endif
diff --git a/src/lib/elm_widget_colorselector.h b/src/lib/elm_widget_colorselector.h
index 8e7c547e2..b55d59be0 100644
--- a/src/lib/elm_widget_colorselector.h
+++ b/src/lib/elm_widget_colorselector.h
@@ -126,11 +126,11 @@ struct _Elm_Color_Item
126 return 126 return
127 127
128#define ELM_COLORSELECTOR_ITEM_CHECK(it) \ 128#define ELM_COLORSELECTOR_ITEM_CHECK(it) \
129 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 129 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
130 ELM_COLORSELECTOR_CHECK(it->base.widget); 130 ELM_COLORSELECTOR_CHECK(it->base.widget);
131 131
132#define ELM_COLORSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \ 132#define ELM_COLORSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \
133 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 133 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
134 ELM_COLORSELECTOR_CHECK(it->base.widget) __VA_ARGS__; 134 ELM_COLORSELECTOR_CHECK(it->base.widget) __VA_ARGS__;
135 135
136#endif 136#endif
diff --git a/src/lib/elm_widget_ctxpopup.h b/src/lib/elm_widget_ctxpopup.h
index 0044a7de6..cde2f1b90 100644
--- a/src/lib/elm_widget_ctxpopup.h
+++ b/src/lib/elm_widget_ctxpopup.h
@@ -92,7 +92,7 @@ struct _Elm_Ctxpopup_Data
92 return 92 return
93 93
94#define ELM_CTXPOPUP_ITEM_CHECK_OR_RETURN(it, ...) \ 94#define ELM_CTXPOPUP_ITEM_CHECK_OR_RETURN(it, ...) \
95 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 95 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
96 ELM_CTXPOPUP_CHECK(it->base.widget) __VA_ARGS__; 96 ELM_CTXPOPUP_CHECK(it->base.widget) __VA_ARGS__;
97 97
98#endif 98#endif
diff --git a/src/lib/elm_widget_diskselector.h b/src/lib/elm_widget_diskselector.h
index 02a886301..1f8f408ea 100644
--- a/src/lib/elm_widget_diskselector.h
+++ b/src/lib/elm_widget_diskselector.h
@@ -96,15 +96,15 @@ struct _Elm_Diskselector_Item
96 return 96 return
97 97
98#define ELM_DISKSELECTOR_ITEM_CHECK(it) \ 98#define ELM_DISKSELECTOR_ITEM_CHECK(it) \
99 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 99 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
100 ELM_DISKSELECTOR_CHECK(it->base.widget); 100 ELM_DISKSELECTOR_CHECK(it->base.widget);
101 101
102#define ELM_DISKSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \ 102#define ELM_DISKSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \
103 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 103 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
104 ELM_DISKSELECTOR_CHECK(it->base.widget) __VA_ARGS__; 104 ELM_DISKSELECTOR_CHECK(it->base.widget) __VA_ARGS__;
105 105
106#define ELM_DISKSELECTOR_ITEM_CHECK_OR_GOTO(it, label) \ 106#define ELM_DISKSELECTOR_ITEM_CHECK_OR_GOTO(it, label) \
107 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item *)it, label); \ 107 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item_Data *)it, label); \
108 if (!it->base.widget || !eo_isa((it->base.widget), ELM_DISKSELECTOR_CLASS)) \ 108 if (!it->base.widget || !eo_isa((it->base.widget), ELM_DISKSELECTOR_CLASS)) \
109 goto label; 109 goto label;
110 110
diff --git a/src/lib/elm_widget_flipselector.h b/src/lib/elm_widget_flipselector.h
index fa7ce07bc..b96188e3a 100644
--- a/src/lib/elm_widget_flipselector.h
+++ b/src/lib/elm_widget_flipselector.h
@@ -77,11 +77,11 @@ struct _Elm_Flipselector_Item
77 return 77 return
78 78
79#define ELM_FLIPSELECTOR_ITEM_CHECK(it) \ 79#define ELM_FLIPSELECTOR_ITEM_CHECK(it) \
80 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 80 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
81 ELM_FLIPSELECTOR_CHECK(it->base.widget); 81 ELM_FLIPSELECTOR_CHECK(it->base.widget);
82 82
83#define ELM_FLIPSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \ 83#define ELM_FLIPSELECTOR_ITEM_CHECK_OR_RETURN(it, ...) \
84 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 84 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
85 ELM_FLIPSELECTOR_CHECK(it->base.widget) __VA_ARGS__; 85 ELM_FLIPSELECTOR_CHECK(it->base.widget) __VA_ARGS__;
86 86
87#endif 87#endif
diff --git a/src/lib/elm_widget_gengrid.h b/src/lib/elm_widget_gengrid.h
index e8bd551b6..7f9fcddc8 100644
--- a/src/lib/elm_widget_gengrid.h
+++ b/src/lib/elm_widget_gengrid.h
@@ -192,15 +192,15 @@ struct _Elm_Gengrid_Pan_Data
192 return 192 return
193 193
194#define ELM_GENGRID_ITEM_CHECK(it) \ 194#define ELM_GENGRID_ITEM_CHECK(it) \
195 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 195 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
196 ELM_GENGRID_CHECK(it->base.widget); 196 ELM_GENGRID_CHECK(it->base.widget);
197 197
198#define ELM_GENGRID_ITEM_CHECK_OR_RETURN(it, ...) \ 198#define ELM_GENGRID_ITEM_CHECK_OR_RETURN(it, ...) \
199 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 199 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
200 ELM_GENGRID_CHECK(it->base.widget) __VA_ARGS__; 200 ELM_GENGRID_CHECK(it->base.widget) __VA_ARGS__;
201 201
202#define ELM_GENGRID_ITEM_CHECK_OR_GOTO(it, label) \ 202#define ELM_GENGRID_ITEM_CHECK_OR_GOTO(it, label) \
203 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item *)it, label); \ 203 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item_Data *)it, label); \
204 if (!it->base.widget || !eo_isa \ 204 if (!it->base.widget || !eo_isa \
205 ((it->base.widget), ELM_GENGRID_CLASS)) goto label; 205 ((it->base.widget), ELM_GENGRID_CLASS)) goto label;
206 206
diff --git a/src/lib/elm_widget_genlist.h b/src/lib/elm_widget_genlist.h
index aab884a63..df2e9aa20 100644
--- a/src/lib/elm_widget_genlist.h
+++ b/src/lib/elm_widget_genlist.h
@@ -324,15 +324,15 @@ struct _Elm_Genlist_Pan_Data
324 return 324 return
325 325
326#define ELM_GENLIST_ITEM_CHECK(it) \ 326#define ELM_GENLIST_ITEM_CHECK(it) \
327 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 327 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
328 ELM_GENLIST_CHECK(it->base.widget); 328 ELM_GENLIST_CHECK(it->base.widget);
329 329
330#define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...) \ 330#define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...) \
331 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 331 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
332 ELM_GENLIST_CHECK(it->base.widget) __VA_ARGS__; 332 ELM_GENLIST_CHECK(it->base.widget) __VA_ARGS__;
333 333
334#define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label) \ 334#define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label) \
335 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item *)it, label); \ 335 ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item_Data *)it, label); \
336 if (!it->base.widget || !eo_isa \ 336 if (!it->base.widget || !eo_isa \
337 ((it->base.widget), ELM_GENLIST_CLASS)) goto label; 337 ((it->base.widget), ELM_GENLIST_CLASS)) goto label;
338 338
diff --git a/src/lib/elm_widget_hoversel.h b/src/lib/elm_widget_hoversel.h
index 5752414ce..524fecd78 100644
--- a/src/lib/elm_widget_hoversel.h
+++ b/src/lib/elm_widget_hoversel.h
@@ -81,11 +81,11 @@ struct _Elm_Hoversel_Item
81 return 81 return
82 82
83#define ELM_HOVERSEL_ITEM_CHECK(it) \ 83#define ELM_HOVERSEL_ITEM_CHECK(it) \
84 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 84 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
85 ELM_HOVERSEL_CHECK(it->base.widget); 85 ELM_HOVERSEL_CHECK(it->base.widget);
86 86
87#define ELM_HOVERSEL_ITEM_CHECK_OR_RETURN(it, ...) \ 87#define ELM_HOVERSEL_ITEM_CHECK_OR_RETURN(it, ...) \
88 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 88 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
89 ELM_HOVERSEL_CHECK(it->base.widget) __VA_ARGS__; 89 ELM_HOVERSEL_CHECK(it->base.widget) __VA_ARGS__;
90 90
91#endif 91#endif
diff --git a/src/lib/elm_widget_index.h b/src/lib/elm_widget_index.h
index 4f8a6f671..dd30545b9 100644
--- a/src/lib/elm_widget_index.h
+++ b/src/lib/elm_widget_index.h
@@ -99,11 +99,11 @@ struct _Elm_Index_Omit
99 return 99 return
100 100
101#define ELM_INDEX_ITEM_CHECK(it) \ 101#define ELM_INDEX_ITEM_CHECK(it) \
102 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, ); \ 102 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
103 ELM_INDEX_CHECK(it->base.widget); 103 ELM_INDEX_CHECK(it->base.widget);
104 104
105#define ELM_INDEX_ITEM_CHECK_OR_RETURN(it, ...) \ 105#define ELM_INDEX_ITEM_CHECK_OR_RETURN(it, ...) \
106 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item *)it, __VA_ARGS__); \ 106 ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
107 ELM_INDEX_CHECK(it->base.widget) __VA_ARGS__; 107 ELM_INDEX_CHECK(it->base.widget) __VA_ARGS__;
108 108
109#endif 109#endif
diff --git a/src/lib/elm_widget_item.eo b/src/lib/elm_widget_item.eo
new file mode 100644
index 000000000..9faa04638
--- /dev/null
+++ b/src/lib/elm_widget_item.eo
@@ -0,0 +1,751 @@
1class Elm_Widget_Item(Eo.Base)
2{
3 legacy_prefix: null;
4 eo_prefix: elm_wdg_item;
5 properties {
6 data {
7 get {
8 /**
9 Get the data associated with an object item
10
11 @note Every elm_object_item supports this API
12 @ingroup General
13 */
14 }
15 set {
16 /**
17 Set the data associated with an object item
18
19 @note Every elm_object_item supports this API
20 @ingroup General
21 */
22 }
23 values {
24 void *data @const_set; /*@ The data associated with the item */
25 }
26 }
27 tooltip_window_mode {
28 get {
29 /**
30 @brief Retrieve size restriction state of an object's tooltip
31
32 This function returns whether a tooltip is allowed to expand beyond
33 its parent window's canvas.
34 It will instead be limited only by the size of the display.
35 */
36 }
37 set {
38 /**
39 @brief Disable size restrictions on an object's tooltip
40
41 This function allows a tooltip to expand beyond its parent window's canvas.
42 It will instead be limited only by the size of the display.
43 */
44 return: bool; /*@ @c EINA_FALSE on failure, @c EINA_TRUE on success */
45 }
46 values {
47 Eina_Bool disable; /*@ If @c EINA_TRUE, size restrictions are disabled */
48 }
49 }
50 tooltip_style {
51 get {
52 /**
53 Get the style for this item tooltip.
54
55 @see elm_object_tooltip_style_get() for more details.
56 @see elm_object_item_tooltip_style_set()
57
58 @ingroup General
59 */
60 }
61 set {
62 /**
63 Sets a different style for this item tooltip.
64
65 @note before you set a style you should define a tooltip with
66 elm_object_item_tooltip_content_cb_set() or
67 elm_object_item_tooltip_text_set()
68
69 @see elm_object_tooltip_style_set() for more details.
70
71 @ingroup General
72 */
73 }
74 values {
75 const (char)* style; /*@ the theme style used/to use (default, transparent, ...) */
76 }
77 }
78 cursor {
79 get {
80 /*
81 Get the type of mouse pointer/cursor decoration set to be shown,
82 when the mouse pointer is over the given item
83
84 @see elm_object_cursor_get()
85 @see elm_object_item_cursor_set()
86 @see elm_object_item_cursor_unset()
87
88 @ingroup General
89 */
90 }
91 set {
92 /**
93 Set the type of mouse pointer/cursor decoration to be shown,
94 when the mouse pointer is over the given item
95
96 This function works analogously as elm_object_cursor_set(), but
97 here the cursor's changing area is restricted to the item's
98 area, and not the whole widget's. Note that that item cursors
99 have precedence over widget cursors, so that a mouse over an
100 item with custom cursor set will always show @b that cursor.
101
102 If this function is called twice for an object, a previously set
103 cursor will be unset on the second call.
104
105 @see elm_object_cursor_set()
106 @see elm_object_item_cursor_get()
107 @see elm_object_item_cursor_unset()
108
109 @ingroup General
110 */
111 }
112 values {
113 const (char) *cursor; /*@ the cursor type's name */
114 }
115 }
116 cursor_style {
117 get {
118 /**
119 Get the current @b style set for a given item's custom
120 cursor
121
122 @see elm_object_item_cursor_style_set() for more details
123
124 @ingroup General
125 */
126 }
127 set {
128 /**
129 Set a different @b style for a given custom cursor set for an
130 item.
131
132 This function only makes sense when one is using custom mouse
133 cursor decorations <b>defined in a theme file</b>, which can have,
134 given a cursor name/type, <b>alternate styles</b> on it. It
135 works analogously as elm_object_cursor_style_set(), but here
136 applies only to item objects.
137
138 @warning Before you set a cursor style you should have defined a
139 custom cursor previously on the item, with
140 elm_object_item_cursor_set()
141
142 @see elm_object_item_cursor_engine_only_set()
143 @see elm_object_item_cursor_style_get()
144
145 @ingroup General
146 */
147 }
148 values {
149 const (char) *style; /*@ the <b>theme style</b> to use/in use (e.g. @c "default", @c "transparent", etc) */
150 }
151 }
152 cursor_engine_only {
153 get {
154 /**
155 Get if the (custom) cursor for a given item is being
156 searched in its theme, also, or is only relying on the rendering
157 engine.
158
159 @return @c EINA_TRUE, if cursors are being looked for only on
160 those provided by the rendering engine, @c EINA_FALSE if they
161 are being searched on the widget's theme, as well.
162
163 @see elm_object_item_cursor_engine_only_set(), for more details
164
165 @ingroup General
166 */
167 }
168 set {
169 /**
170 Set if the (custom)cursor for a given item should be
171 searched in its theme, also, or should only rely on the
172 rendering engine.
173
174 @note This call is of use only if you've set a custom cursor
175 for items, with elm_object_item_cursor_set().
176
177 @note By default, cursors will only be looked for between those
178 provided by the rendering engine.
179
180 @ingroup General
181 */
182 }
183 values {
184 Eina_Bool engine_only; /* Use @c EINA_TRUE to have cursors looked for only
185 on those provided by the rendering engine, @c EINA_FALSE
186 to have them searched on the widget's theme, as well. */
187 }
188 }
189 part_content {
190 get {
191 /**
192 Get a content of an object item
193
194 @return content of the object item or NULL for any error
195
196 @note Elementary object items may have many contents
197
198 @ingroup General
199 */
200 }
201 set {
202 /**
203 Set a content of an object item
204
205 This sets a new object to an item as a content object. If any object was
206 already set as a content object in the same part, previous object will be
207 deleted automatically.
208
209 @note Elementary object items may have many contents
210
211 @ingroup General
212 */
213 }
214 keys {
215 const (char) *part; /*@ The content part name (NULL for the default content) */
216 }
217 values {
218 Evas_Object *content; /*@ The content of the object item */
219 }
220 }
221 part_text {
222 get {
223 /**
224 Get a label of an object item
225
226 @note Elementary object items may have many labels
227
228 @ingroup General
229 */
230 }
231 set {
232 /**
233 Set a label of an object item
234
235 @note Elementary object items may have many labels
236
237 @ingroup General
238 */
239 }
240 keys {
241 const (char) *part; /*@ The text part name (NULL for the default label) */
242 }
243 values {
244 const (char) *label; /*@ Text of the label */
245 }
246 }
247 part_text_custom @protected {
248 get {
249 /*@ Get additional text part content */
250 legacy: null;
251 }
252 set {
253 /*@ Save additional text part content */
254 legacy: null;
255 }
256 keys {
257 const (char) *part;
258 }
259 values {
260 const (char) *label;
261 }
262 }
263 focus {
264 get {
265 /**
266 Get whether the @p it is focused or not.
267
268 @see elm_object_item_focus_set()
269
270 @ingroup Focus
271 @since 1.10
272 */
273 }
274 set {
275 /**
276 Set the object item focused
277
278 @see elm_object_item_focus_get()
279
280 @ingroup Focus
281 @since 1.10
282 */
283 }
284 values {
285 Eina_Bool focused; /*@ The focused state */
286 }
287 }
288 style {
289 get {
290 /**
291 Get the style of an object item
292
293 @since 1.9
294
295 @ingroup General
296 */
297 }
298 set {
299 /**
300 Set a style of an object item
301
302 @since 1.9
303
304 @ingroup General
305 */
306 }
307 values {
308 const (char) *style; /*@ The style of object item */
309 }
310 }
311 disabled {
312 get {
313 /**
314 Get the disabled state of an widget item.
315
316 This gets the state of the widget, which might be enabled or disabled.
317
318 @ingroup Styles
319 */
320 }
321 set {
322 /**
323 Set the disabled state of an widget item.
324
325 Elementary object item can be @b disabled, in which state they won't
326 receive input and, in general, will be themed differently from
327 their normal state, usually greyed out. Useful for contexts
328 where you don't want your users to interact with some of the
329 parts of you interface.
330
331 This sets the state for the widget item, either disabling it or
332 enabling it back.
333
334 @ingroup Styles
335 */
336 }
337 values {
338 Eina_Bool disable; /*@ @c EINA_TRUE, if the widget item is disabled, @c EINA_FALSE if it's enabled (or on errors) */
339 }
340 }
341 access_order {
342 get {
343 /**
344 @brief Get highlight order
345 @since 1.8
346
347 @ingroup General
348 */
349 }
350 set {
351 /**
352 @brief Set highlight order
353 @since 1.8
354
355 @ingroup General
356 */
357 }
358 values {
359 Eina_List *objs @const_get; /*@ Order of objects to pass highlight */
360 }
361 }
362 }
363 methods {
364 widget_get @const {
365 /**
366 Get the widget object's handle which contains a given item
367
368 @note This returns the widget object itself that an item belongs to.
369 @note Every elm_object_item supports this API
370 @ingroup General
371 */
372 return: Evas_Object*; /*@ The widget object */
373 }
374 del {
375 /**
376 Delete the given item.
377
378 @ingroup General
379 */
380 }
381 pre_notify_del @protected {
382 /*@ notify deletion of widget item */
383 legacy: null;
384 }
385 tooltip_text_set {
386 /**
387 Set the text to be shown in a given object item's tooltips.
388
389 Setup the text as tooltip to object. The item can have only one tooltip,
390 so any previous tooltip data - set with this function or
391 elm_object_item_tooltip_content_cb_set() - is removed.
392
393 @see elm_object_tooltip_text_set() for more details.
394
395 @ingroup General
396 */
397 params {
398 const (char) *text; /*@ The text to set in the content. */
399 }
400 }
401 tooltip_translatable_text_set @protected {
402 /*@ Set widget item tooltip as a text string */
403 legacy: null;
404 params {
405 const (char) *text;
406 }
407 }
408 tooltip_unset {
409 /**
410 Unset tooltip from item.
411
412 Remove tooltip from item. The callback provided as del_cb to
413 elm_object_item_tooltip_content_cb_set() will be called to notify
414 it is not used anymore.
415
416 @see elm_object_tooltip_unset() for more details.
417 @see elm_object_item_tooltip_content_cb_set()
418
419 @ingroup General
420 */
421 }
422 cursor_unset {
423 /**
424 Unset any custom mouse pointer/cursor decoration set to be
425 shown, when the mouse pointer is over the given
426 item, thus making it show the @b default cursor again.
427
428 Use this call to undo any custom settings on this item's cursor
429 decoration, bringing it back to defaults (no custom style set).
430
431 @see elm_object_cursor_unset()
432 @see elm_object_item_cursor_set()
433
434 @ingroup General
435 */
436 }
437 part_content_unset {
438 /**
439 Unset a content of an object item
440
441 @note Elementary object items may have many contents
442
443 @ingroup General
444 */
445 params {
446 const (char) *part; /*@ The content part name to unset (NULL for the default content) */
447 }
448 return: Evas_Object*;
449 }
450 part_text_custom_update @protected {
451 /*@ Update additional text part content */
452 legacy: null;
453 }
454 signal_callback_add {
455 /**
456 Add a callback for a signal emitted by object item edje.
457
458 This function connects a callback function to a signal emitted by the
459 edje object of the object item.
460 Globs can occur in either the emission or source name.
461
462 @since 1.8
463
464 @ingroup General
465 */
466 params {
467 const (char) *emission; /*@ The signal's name. */
468 const (char) *source; /*@ The signal's source. */
469 Elm_Object_Item_Signal_Cb func; /*@ The callback function to be executed when the signal is emitted. */
470 void *data; /*@ A pointer to data to pass to the callback function. */
471 }
472 }
473 signal_callback_del {
474 /**
475 Remove a signal-triggered callback from a object item edje object.
476
477 This function removes the @b last callback, previously attached to
478 a signal emitted by an underlying Edje object of @a it, whose
479 parameters @a emission, @a source and @c func match exactly with
480 those passed to a previous call to
481 elm_object_item_signal_callback_add(). The data pointer that was passed
482 to this call will be returned.
483
484 @see elm_object_item_signal_callback_add()
485 @since 1.8
486
487 @ingroup General
488 */
489 params {
490 const (char) *emission; /*@ The signal's name. */
491 const (char) *source; /*@ The signal's source. */
492 Elm_Object_Item_Signal_Cb func; /*@ The callback function to be executed when the signal is emitted. */
493 }
494 return: void*; /*@ The data pointer of the signal callback or @c NULL, on errors. */
495 }
496 signal_emit {
497 /**
498 Send a signal to the edje object of the widget item.
499
500 This function sends a signal to the edje object of the obj item. An
501 edje program can respond to a signal by specifying matching
502 'signal' and 'source' fields.
503
504 @ingroup General
505 */
506 params {
507 const (char) *emission; /*@ The signal's name. */
508 const (char) *source; /*@ The signal's source. */
509 }
510 }
511 access_info_set {
512 /**
513 Set the text to read out when in accessibility mode
514
515 @ingroup General
516 */
517 params {
518 const (char) *txt; /*@ The text that describes the widget to people with poor or no vision */
519 }
520 }
521 access_object_get @const {
522 /**
523 @brief Get an accessible object of the object item.
524 @since 1.8
525
526 @ingroup General
527 */
528 return: Evas_Object*; /*@ Accessible object of the object item or NULL for any error */
529 }
530 domain_translatable_part_text_set {
531 /**
532 Set the text for an object item's part, marking it as translatable.
533
534 The string to set as @p text must be the original one. Do not pass the
535 return of @c gettext() here. Elementary will translate the string
536 internally and set it on the object item using
537 elm_object_item_part_text_set(), also storing the original string so that it
538 can be automatically translated when the language is changed with
539 elm_language_set(). The @p domain will be stored along to find the
540 translation in the correct catalog. It can be NULL, in which case it will use
541 whatever domain was set by the application with @c textdomain(). This is
542 useful in case you are building a library on top of Elementary that will have
543 its own translatable strings, that should not be mixed with those of programs
544 using the library.
545
546 @ingroup General
547 @since 1.8
548 */
549 params {
550 const (char) *part; /*@ The name of the part to set */
551 const (char) *domain; /*@ The translation domain to use */
552 const (char) *label; /*@ The original, non-translated text to set */
553 }
554 }