summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYossi Kantor <yossi.kantor@samsung.com>2014-07-27 14:16:42 +0300
committerYossi Kantor <yossi.kantor@samsung.com>2014-08-03 14:44:50 +0300
commitd403541dc88d87cd5e8ec94053f682a7da5caae7 (patch)
treef50173a6357a92aae896a9cd3a41ab2cb7cc02b8
parente49b7e290853ebf5665a4463c20e1ea33d1a44a2 (diff)
Elm_Widget_Item Eo class
-rw-r--r--src/lib/Makefile.am7
-rw-r--r--src/lib/elm_gengrid.c2
-rw-r--r--src/lib/elm_genlist.c2
-rw-r--r--src/lib/elm_list.c2
-rw-r--r--src/lib/elm_main.c96
-rw-r--r--src/lib/elm_object_item_migration_temp.h7
-rw-r--r--src/lib/elm_toolbar.c2
-rw-r--r--src/lib/elm_widget.c678
-rw-r--r--src/lib/elm_widget.h308
-rw-r--r--src/lib/elm_widget_item.eo289
10 files changed, 1125 insertions, 268 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index a2de0d87e..b7cf6a6a3 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -774,7 +774,9 @@ BUILT_SOURCES = \
774 elm_web.eo.legacy.h \ 774 elm_web.eo.legacy.h \
775 elm_win.eo.c \ 775 elm_win.eo.c \
776 elm_win.eo.h \ 776 elm_win.eo.h \
777 elm_win.eo.legacy.h 777 elm_win.eo.legacy.h \
778 elm_widget_item.eo.c \
779 elm_widget_item.eo.h
778 780
779elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@ 781elementaryeolianfilesdir = $(datadir)/eolian/include/elementary-@VMAJ@
780elementaryeolianfiles_DATA = \ 782elementaryeolianfiles_DATA = \
@@ -866,7 +868,8 @@ elementaryeolianfiles_DATA = \
866 elm_toolbar.eo \ 868 elm_toolbar.eo \
867 elm_video.eo \ 869 elm_video.eo \
868 elm_web.eo \ 870 elm_web.eo \
869 elm_win.eo 871 elm_win.eo \
872 elm_widget_item.eo
870 873
871EXTRA_DIST += \ 874EXTRA_DIST += \
872 ${elementaryeolianfiles_DATA} 875 ${elementaryeolianfiles_DATA}
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index c5953c12e..19c850958 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -2944,7 +2944,7 @@ _item_focus_set_hook(Elm_Object_Item *it, Eina_Bool focused)
2944 _elm_gengrid_item_unfocused((Elm_Gen_Item *)sd->focused_item); 2944 _elm_gengrid_item_unfocused((Elm_Gen_Item *)sd->focused_item);
2945 _elm_gengrid_item_focused((Elm_Gen_Item *)it); 2945 _elm_gengrid_item_focused((Elm_Gen_Item *)it);
2946 2946
2947 _elm_widget_item_highlight_in_theme(obj, (Elm_Object_Item *)it); 2947 elm_widget_item_internal_highlight_in_theme(obj, (Elm_Object_Item *)it);
2948 _elm_widget_highlight_in_theme_update(obj); 2948 _elm_widget_highlight_in_theme_update(obj);
2949 _elm_widget_focus_highlight_start(obj); 2949 _elm_widget_focus_highlight_start(obj);
2950 } 2950 }
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 406098a1b..a93c0587d 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -5680,7 +5680,7 @@ _item_focus_set_hook(Elm_Object_Item *it, Eina_Bool focused)
5680 _elm_genlist_item_unfocused((Elm_Gen_Item *)sd->focused_item); 5680 _elm_genlist_item_unfocused((Elm_Gen_Item *)sd->focused_item);
5681 _elm_genlist_item_focused((Elm_Gen_Item *)it); 5681 _elm_genlist_item_focused((Elm_Gen_Item *)it);
5682 5682
5683 _elm_widget_item_highlight_in_theme(obj, (Elm_Object_Item *)it); 5683 elm_widget_item_internal_highlight_in_theme(obj, (Elm_Object_Item *)it);
5684 _elm_widget_highlight_in_theme_update(obj); 5684 _elm_widget_highlight_in_theme_update(obj);
5685 _elm_widget_focus_highlight_start(obj); 5685 _elm_widget_focus_highlight_start(obj);
5686 } 5686 }
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index eb48c4da8..1970304b1 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -984,7 +984,7 @@ _items_fix(Evas_Object *obj)
984 _elm_list_unwalk(obj, sd); 984 _elm_list_unwalk(obj, sd);
985 985
986 //focus highlight in_theme is set by list item theme. 986 //focus highlight in_theme is set by list item theme.
987 _elm_widget_item_highlight_in_theme( 987 elm_widget_item_internal_highlight_in_theme(
988 obj, elm_list_first_item_get(obj)); 988 obj, elm_list_first_item_get(obj));
989 989
990 evas_object_unref(obj); 990 evas_object_unref(obj);
diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c
index 341ae6a69..bb9b394c1 100644
--- a/src/lib/elm_main.c
+++ b/src/lib/elm_main.c
@@ -1653,9 +1653,27 @@ elm_coords_finger_size_adjust(int times_w,
1653 *h = elm_config_finger_size_get() * times_h; 1653 *h = elm_config_finger_size_get() * times_h;
1654} 1654}
1655 1655
1656
1657// Object item Eo migration defines, will be removed later
1658#define IF_EO_DO(obj, func) \
1659 if (eo_isa((Eo *)obj, ELM_WIDGET_ITEM_CLASS)) \
1660 { \
1661 eo_do ((Eo *)obj, func); \
1662 return; \
1663 }
1664
1665#define IF_EO_RETURN(obj, type, func) \
1666 if (eo_isa((Eo *)obj, ELM_WIDGET_ITEM_CLASS)) \
1667 { \
1668 type ret; \
1669 eo_do ((Eo *)obj, ret = func); \
1670 return ret; \
1671 }
1672
1656EAPI Evas_Object * 1673EAPI Evas_Object *
1657elm_object_item_widget_get(const Elm_Object_Item *it) 1674elm_object_item_widget_get(const Elm_Object_Item *it)
1658{ 1675{
1676 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_widget_get());
1659 return elm_widget_item_widget_get(it); 1677 return elm_widget_item_widget_get(it);
1660} 1678}
1661 1679
@@ -1664,20 +1682,23 @@ elm_object_item_part_content_set(Elm_Object_Item *it,
1664 const char *part, 1682 const char *part,
1665 Evas_Object *content) 1683 Evas_Object *content)
1666{ 1684{
1667 _elm_widget_item_part_content_set((Elm_Widget_Item *)it, part, content); 1685 IF_EO_DO(it, elm_wdg_item_part_content_set(part, content));
1686 elm_widget_item_internal_part_content_set((Elm_Widget_Item *)it, part, content);
1668} 1687}
1669 1688
1670EAPI Evas_Object * 1689EAPI Evas_Object *
1671elm_object_item_part_content_get(const Elm_Object_Item *it, 1690elm_object_item_part_content_get(const Elm_Object_Item *it,
1672 const char *part) 1691 const char *part)
1673{ 1692{
1674 return _elm_widget_item_part_content_get((Elm_Widget_Item *)it, part); 1693 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_part_content_get(part));
1694 return elm_widget_item_internal_part_content_get((Elm_Widget_Item *)it, part);
1675} 1695}
1676 1696
1677EAPI Evas_Object * 1697EAPI Evas_Object *
1678elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part) 1698elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part)
1679{ 1699{
1680 return _elm_widget_item_part_content_unset((Elm_Widget_Item *)it, part); 1700 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_part_content_unset(part));
1701 return elm_widget_item_internal_part_content_unset((Elm_Widget_Item *)it, part);
1681} 1702}
1682 1703
1683EAPI void 1704EAPI void
@@ -1685,31 +1706,36 @@ elm_object_item_part_text_set(Elm_Object_Item *it,
1685 const char *part, 1706 const char *part,
1686 const char *label) 1707 const char *label)
1687{ 1708{
1688 _elm_widget_item_part_text_set((Elm_Widget_Item *)it, part, label); 1709 IF_EO_DO(it, elm_wdg_item_part_text_set(part, label));
1710 elm_widget_item_internal_part_text_set((Elm_Widget_Item *)it, part, label);
1689} 1711}
1690 1712
1691EAPI const char * 1713EAPI const char *
1692elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part) 1714elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part)
1693{ 1715{
1694 return _elm_widget_item_part_text_get((Elm_Widget_Item *)it, part); 1716 IF_EO_RETURN(it, const char *, elm_wdg_item_part_text_get(part));
1717 return elm_widget_item_internal_part_text_get((Elm_Widget_Item *)it, part);
1695} 1718}
1696 1719
1697EAPI void 1720EAPI void
1698elm_object_item_domain_translatable_part_text_set(Elm_Object_Item *it, const char *part, const char *domain, const char *text) 1721elm_object_item_domain_translatable_part_text_set(Elm_Object_Item *it, const char *part, const char *domain, const char *text)
1699{ 1722{
1700 _elm_widget_item_domain_translatable_part_text_set((Elm_Widget_Item *)it, part, domain, text); 1723 IF_EO_DO(it, elm_wdg_item_domain_translatable_part_text_set(part, domain, text));
1724 elm_widget_item_internal_domain_translatable_part_text_set((Elm_Widget_Item *)it, part, domain, text);
1701} 1725}
1702 1726
1703EAPI const char * 1727EAPI const char *
1704elm_object_item_translatable_part_text_get(const Elm_Object_Item *it, const char *part) 1728elm_object_item_translatable_part_text_get(const Elm_Object_Item *it, const char *part)
1705{ 1729{
1706 return _elm_widget_item_translatable_part_text_get((Elm_Widget_Item *)it, part); 1730 IF_EO_RETURN(it, const char *, elm_wdg_item_translatable_part_text_get(part));
1731 return elm_widget_item_internal_translatable_part_text_get((Elm_Widget_Item *)it, part);
1707} 1732}
1708 1733
1709EAPI void 1734EAPI void
1710elm_object_item_domain_part_text_translatable_set(Elm_Object_Item *it, const char *part, const char *domain, Eina_Bool translatable) 1735elm_object_item_domain_part_text_translatable_set(Elm_Object_Item *it, const char *part, const char *domain, Eina_Bool translatable)
1711{ 1736{
1712 _elm_widget_item_domain_part_text_translatable_set((Elm_Widget_Item *)it, part, domain, translatable); 1737 IF_EO_DO(it, elm_wdg_item_domain_part_text_translatable_set(part, domain, translatable));
1738 elm_widget_item_internal_domain_part_text_translatable_set((Elm_Widget_Item *)it, part, domain, translatable);
1713} 1739}
1714 1740
1715EAPI void 1741EAPI void
@@ -1746,12 +1772,15 @@ elm_object_focused_item_get(const Evas_Object *obj)
1746EAPI void 1772EAPI void
1747elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt) 1773elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
1748{ 1774{
1749 _elm_widget_item_access_info_set((Elm_Widget_Item *)it, txt); 1775 IF_EO_DO(it, elm_wdg_item_access_info_set(txt));
1776 elm_widget_item_internal_access_info_set((Elm_Widget_Item *)it, txt);
1750} 1777}
1751 1778
1752EAPI Evas_Object * 1779EAPI Evas_Object *
1753elm_object_item_access_register(Elm_Object_Item *item) 1780elm_object_item_access_register(Elm_Object_Item *item)
1754{ 1781{
1782 IF_EO_RETURN(item, Evas_Object *, elm_wdg_item_access_register());
1783
1755 Elm_Widget_Item *it; 1784 Elm_Widget_Item *it;
1756 1785
1757 it = (Elm_Widget_Item *)item; 1786 it = (Elm_Widget_Item *)item;
@@ -1765,12 +1794,14 @@ elm_object_item_access_register(Elm_Object_Item *item)
1765EAPI void 1794EAPI void
1766elm_object_item_access_unregister(Elm_Object_Item *item) 1795elm_object_item_access_unregister(Elm_Object_Item *item)
1767{ 1796{
1797 IF_EO_DO(item, elm_wdg_item_access_unregister());
1768 _elm_access_widget_item_unregister((Elm_Widget_Item *)item); 1798 _elm_access_widget_item_unregister((Elm_Widget_Item *)item);
1769} 1799}
1770 1800
1771EAPI Evas_Object * 1801EAPI Evas_Object *
1772elm_object_item_access_object_get(const Elm_Object_Item *item) 1802elm_object_item_access_object_get(const Elm_Object_Item *item)
1773{ 1803{
1804 IF_EO_RETURN(item, Evas_Object *, elm_wdg_item_access_object_get());
1774 if (!item) return NULL; 1805 if (!item) return NULL;
1775 1806
1776 return ((Elm_Widget_Item *)item)->access_obj; 1807 return ((Elm_Widget_Item *)item)->access_obj;
@@ -1779,194 +1810,227 @@ elm_object_item_access_object_get(const Elm_Object_Item *item)
1779EAPI void 1810EAPI void
1780elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs) 1811elm_object_item_access_order_set(Elm_Object_Item *item, Eina_List *objs)
1781{ 1812{
1813 IF_EO_DO(item, elm_wdg_item_access_order_set(objs));
1782 _elm_access_widget_item_access_order_set((Elm_Widget_Item *)item, objs); 1814 _elm_access_widget_item_access_order_set((Elm_Widget_Item *)item, objs);
1783} 1815}
1784 1816
1785EAPI const Eina_List * 1817EAPI const Eina_List *
1786elm_object_item_access_order_get(const Elm_Object_Item *item) 1818elm_object_item_access_order_get(const Elm_Object_Item *item)
1787{ 1819{
1820 IF_EO_RETURN(item, const Eina_List *, elm_wdg_item_access_order_get());
1788 return _elm_access_widget_item_access_order_get((Elm_Widget_Item *)item); 1821 return _elm_access_widget_item_access_order_get((Elm_Widget_Item *)item);
1789} 1822}
1790 1823
1791EAPI void 1824EAPI void
1792elm_object_item_access_order_unset(Elm_Object_Item *item) 1825elm_object_item_access_order_unset(Elm_Object_Item *item)
1793{ 1826{
1827 IF_EO_DO(item, elm_wdg_item_access_order_unset());
1794 _elm_access_widget_item_access_order_unset((Elm_Widget_Item *)item); 1828 _elm_access_widget_item_access_order_unset((Elm_Widget_Item *)item);
1795} 1829}
1796 1830
1797EAPI void * 1831EAPI void *
1798elm_object_item_data_get(const Elm_Object_Item *it) 1832elm_object_item_data_get(const Elm_Object_Item *it)
1799{ 1833{
1834 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_data_get());
1800 return elm_widget_item_data_get(it); 1835 return elm_widget_item_data_get(it);
1801} 1836}
1802 1837
1803EAPI void 1838EAPI void
1804elm_object_item_data_set(Elm_Object_Item *it, void *data) 1839elm_object_item_data_set(Elm_Object_Item *it, void *data)
1805{ 1840{
1841 IF_EO_DO(it, elm_wdg_item_data_set(data));
1806 elm_widget_item_data_set(it, data); 1842 elm_widget_item_data_set(it, data);
1807} 1843}
1808 1844
1809EAPI void 1845EAPI void
1810elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source) 1846elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
1811{ 1847{
1812 _elm_widget_item_signal_emit((Elm_Widget_Item *)it, emission, source); 1848 IF_EO_DO(it, elm_wdg_item_signal_emit(emission, source));
1849 elm_widget_item_internal_signal_emit((Elm_Widget_Item *)it, emission, source);
1813} 1850}
1814 1851
1815EAPI void 1852EAPI void
1816elm_object_item_signal_callback_add(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data) 1853elm_object_item_signal_callback_add(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data)
1817{ 1854{
1818 _elm_widget_item_signal_callback_add((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func, data); 1855 IF_EO_DO(it, elm_wdg_item_signal_callback_add(emission, source, func, data));
1856 elm_widget_item_internal_signal_callback_add((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func, data);
1819} 1857}
1820 1858
1821EAPI void * 1859EAPI void *
1822elm_object_item_signal_callback_del(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func) 1860elm_object_item_signal_callback_del(Elm_Object_Item *it, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func)
1823{ 1861{
1824 return _elm_widget_item_signal_callback_del((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func); 1862 IF_EO_RETURN(it, void *, elm_wdg_item_signal_callback_del(emission, source, func));
1863 return elm_widget_item_internal_signal_callback_del((Elm_Widget_Item *)it, emission, source, (Elm_Widget_Item_Signal_Cb) func);
1825} 1864}
1826 1865
1827EAPI void 1866EAPI void
1828elm_object_item_style_set(Elm_Object_Item *it, const char *style) 1867elm_object_item_style_set(Elm_Object_Item *it, const char *style)
1829{ 1868{
1869 IF_EO_DO(it, elm_wdg_item_style_set(style));
1830 elm_widget_item_style_set(it, style); 1870 elm_widget_item_style_set(it, style);
1831} 1871}
1832 1872
1833EAPI const char * 1873EAPI const char *
1834elm_object_item_style_get(Elm_Object_Item *it) 1874elm_object_item_style_get(Elm_Object_Item *it)
1835{ 1875{
1876 IF_EO_RETURN(it, const char *, elm_wdg_item_style_get());
1836 return elm_widget_item_style_get(it); 1877 return elm_widget_item_style_get(it);
1837} 1878}
1838 1879
1839EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled) 1880EAPI void elm_object_item_disabled_set(Elm_Object_Item *it, Eina_Bool disabled)
1840{ 1881{
1841 _elm_widget_item_disabled_set((Elm_Widget_Item *)it, disabled); 1882 IF_EO_DO(it, elm_wdg_item_disabled_set(disabled));
1883 elm_widget_item_internal_disabled_set((Elm_Widget_Item *)it, disabled);
1842} 1884}
1843 1885
1844EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it) 1886EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Object_Item *it)
1845{ 1887{
1846 return _elm_widget_item_disabled_get((Elm_Widget_Item *)it); 1888 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_disabled_get());
1889 return elm_widget_item_internal_disabled_get((Elm_Widget_Item *)it);
1847} 1890}
1848 1891
1849EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb) 1892EAPI void elm_object_item_del_cb_set(Elm_Object_Item *it, Evas_Smart_Cb del_cb)
1850{ 1893{
1851 _elm_widget_item_del_cb_set((Elm_Widget_Item *)it, del_cb); 1894 IF_EO_DO(it, elm_wdg_item_del_cb_set(del_cb));
1895 elm_widget_item_internal_del_cb_set((Elm_Widget_Item *)it, del_cb);
1852} 1896}
1853 1897
1854EAPI void elm_object_item_del(Elm_Object_Item *it) 1898EAPI void elm_object_item_del(Elm_Object_Item *it)
1855{ 1899{
1856 if (!it) return; 1900 if (!it) return;
1857 _elm_widget_item_del((Elm_Widget_Item *)it); 1901 IF_EO_DO(it, elm_wdg_item_del());
1902 elm_widget_item_internal_del((Elm_Widget_Item *)it);
1858} 1903}
1859 1904
1860EAPI void 1905EAPI void
1861elm_object_item_tooltip_text_set(Elm_Object_Item *it, const char *text) 1906elm_object_item_tooltip_text_set(Elm_Object_Item *it, const char *text)
1862{ 1907{
1908 IF_EO_DO(it, elm_wdg_item_tooltip_text_set(text));
1863 elm_widget_item_tooltip_text_set(it, text); 1909 elm_widget_item_tooltip_text_set(it, text);
1864} 1910}
1865 1911
1866EAPI void 1912EAPI void
1867elm_object_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) 1913elm_object_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
1868{ 1914{
1915 IF_EO_DO(it, elm_wdg_item_tooltip_content_cb_set(func, data, del_cb));
1869 elm_widget_item_tooltip_content_cb_set(it, func, data, del_cb); 1916 elm_widget_item_tooltip_content_cb_set(it, func, data, del_cb);
1870} 1917}
1871 1918
1872EAPI void 1919EAPI void
1873elm_object_item_tooltip_unset(Elm_Object_Item *it) 1920elm_object_item_tooltip_unset(Elm_Object_Item *it)
1874{ 1921{
1922 IF_EO_DO(it, elm_wdg_item_tooltip_unset());
1875 elm_widget_item_tooltip_unset(it); 1923 elm_widget_item_tooltip_unset(it);
1876} 1924}
1877 1925
1878EAPI Eina_Bool 1926EAPI Eina_Bool
1879elm_object_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable) 1927elm_object_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable)
1880{ 1928{
1929 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_tooltip_window_mode_set(disable));
1881 return elm_widget_item_tooltip_window_mode_set(it, disable); 1930 return elm_widget_item_tooltip_window_mode_set(it, disable);
1882} 1931}
1883 1932
1884EAPI Eina_Bool 1933EAPI Eina_Bool
1885elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *it) 1934elm_object_item_tooltip_window_mode_get(const Elm_Object_Item *it)
1886{ 1935{
1936 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_tooltip_window_mode_get());
1887 return elm_widget_item_tooltip_window_mode_get(it); 1937 return elm_widget_item_tooltip_window_mode_get(it);
1888} 1938}
1889 1939
1890EAPI void 1940EAPI void
1891elm_object_item_tooltip_style_set(Elm_Object_Item *it, const char *style) 1941elm_object_item_tooltip_style_set(Elm_Object_Item *it, const char *style)
1892{ 1942{
1943 IF_EO_DO(it, elm_wdg_item_tooltip_style_set(style));
1893 elm_widget_item_tooltip_style_set(it, style); 1944 elm_widget_item_tooltip_style_set(it, style);
1894} 1945}
1895 1946
1896EAPI const char * 1947EAPI const char *
1897elm_object_item_tooltip_style_get(const Elm_Object_Item *it) 1948elm_object_item_tooltip_style_get(const Elm_Object_Item *it)
1898{ 1949{
1950 IF_EO_RETURN(it, const char *, elm_wdg_item_tooltip_style_get());
1899 return elm_widget_item_tooltip_style_get(it); 1951 return elm_widget_item_tooltip_style_get(it);
1900} 1952}
1901 1953
1902EAPI void 1954EAPI void
1903elm_object_item_cursor_set(Elm_Object_Item *it, const char *cursor) 1955elm_object_item_cursor_set(Elm_Object_Item *it, const char *cursor)
1904{ 1956{
1957 IF_EO_DO(it, elm_wdg_item_cursor_set(cursor));
1905 elm_widget_item_cursor_set(it, cursor); 1958 elm_widget_item_cursor_set(it, cursor);
1906} 1959}
1907 1960
1908EAPI const char * 1961EAPI const char *
1909elm_object_item_cursor_get(const Elm_Object_Item *it) 1962elm_object_item_cursor_get(const Elm_Object_Item *it)
1910{ 1963{
1964 IF_EO_RETURN(it, const char *, elm_wdg_item_cursor_get());
1911 return elm_widget_item_cursor_get(it); 1965 return elm_widget_item_cursor_get(it);
1912} 1966}
1913 1967
1914EAPI void 1968EAPI void
1915elm_object_item_cursor_unset(Elm_Object_Item *it) 1969elm_object_item_cursor_unset(Elm_Object_Item *it)
1916{ 1970{
1971 IF_EO_DO(it, elm_wdg_item_cursor_unset());
1917 elm_widget_item_cursor_unset(it); 1972 elm_widget_item_cursor_unset(it);
1918} 1973}
1919 1974
1920EAPI void 1975EAPI void
1921elm_object_item_cursor_style_set(Elm_Object_Item *it, const char *style) 1976elm_object_item_cursor_style_set(Elm_Object_Item *it, const char *style)
1922{ 1977{
1978 IF_EO_DO(it, elm_wdg_item_cursor_style_set(style));
1923 elm_widget_item_cursor_style_set(it, style); 1979 elm_widget_item_cursor_style_set(it, style);
1924} 1980}
1925 1981
1926EAPI const char * 1982EAPI const char *
1927elm_object_item_cursor_style_get(const Elm_Object_Item *it) 1983elm_object_item_cursor_style_get(const Elm_Object_Item *it)
1928{ 1984{
1985 IF_EO_RETURN(it, const char *, elm_wdg_item_cursor_style_get());
1929 return elm_widget_item_cursor_style_get(it); 1986 return elm_widget_item_cursor_style_get(it);
1930} 1987}
1931 1988
1932EAPI void 1989EAPI void
1933elm_object_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only) 1990elm_object_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only)
1934{ 1991{
1992 IF_EO_DO(it, elm_wdg_item_cursor_engine_only_set(engine_only));
1935 elm_widget_item_cursor_engine_only_set(it, engine_only); 1993 elm_widget_item_cursor_engine_only_set(it, engine_only);
1936} 1994}
1937 1995
1938EAPI Eina_Bool 1996EAPI Eina_Bool
1939elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it) 1997elm_object_item_cursor_engine_only_get(const Elm_Object_Item *it)
1940{ 1998{
1999 IF_EO_RETURN(it, Eina_Bool, elm_wdg_item_cursor_engine_only_get());
1941 return elm_widget_item_cursor_engine_only_get(it); 2000 return elm_widget_item_cursor_engine_only_get(it);
1942} 2001}
1943 2002
1944EAPI Evas_Object * 2003EAPI Evas_Object *
1945elm_object_item_track(Elm_Object_Item *it) 2004elm_object_item_track(Elm_Object_Item *it)
1946{ 2005{
2006 IF_EO_RETURN(it, Evas_Object *, elm_wdg_item_track());
1947 return elm_widget_item_track((Elm_Widget_Item *)it); 2007 return elm_widget_item_track((Elm_Widget_Item *)it);
1948} 2008}
1949 2009
1950void 2010void
1951elm_object_item_untrack(Elm_Object_Item *it) 2011elm_object_item_untrack(Elm_Object_Item *it)
1952{ 2012{
2013 IF_EO_DO(it, elm_wdg_item_untrack());
1953 elm_widget_item_untrack((Elm_Widget_Item *)it); 2014 elm_widget_item_untrack((Elm_Widget_Item *)it);
1954} 2015}
1955 2016
1956int 2017int
1957elm_object_item_track_get(const Elm_Object_Item *it) 2018elm_object_item_track_get(const Elm_Object_Item *it)
1958{ 2019{
2020 IF_EO_RETURN(it, int, elm_wdg_item_track_get());
1959 return elm_widget_item_track_get((Elm_Widget_Item *)it); 2021 return elm_widget_item_track_get((Elm_Widget_Item *)it);
1960} 2022}
1961 2023
1962EAPI void 2024EAPI void
1963elm_object_item_focus_set(Elm_Object_Item *item, Eina_Bool focused) 2025elm_object_item_focus_set(Elm_Object_Item *item, Eina_Bool focused)
1964{ 2026{
2027 IF_EO_DO(item, elm_wdg_item_focus_set(focused));
1965 elm_widget_item_focus_set(item, focused); 2028 elm_widget_item_focus_set(item, focused);
1966} 2029}
1967 2030
1968EAPI Eina_Bool 2031EAPI Eina_Bool
1969elm_object_item_focus_get(const Elm_Object_Item *item) 2032elm_object_item_focus_get(const Elm_Object_Item *item)
1970{ 2033{
2034 IF_EO_RETURN(item, Eina_Bool, elm_wdg_item_focus_get());
1971 return elm_widget_item_focus_get(item); 2035 return elm_widget_item_focus_get(item);
1972} 2036}
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..262481fa7
--- /dev/null
+++ b/src/lib/elm_object_item_migration_temp.h
@@ -0,0 +1,7 @@
1// Item Eo migration temp defs - to be removed
2typedef Eo Elm_Widobj_Item;
3
4#undef VIEW
5#undef WIDGET
6#define VIEW(X) X->base->view
7#define WIDGET(X) X->base->widget \ No newline at end of file
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index 9d51be77a..79d734296 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -822,7 +822,7 @@ _item_focus_set_hook(Elm_Object_Item *it, Eina_Bool focused)
822 _elm_toolbar_item_unfocused(it); 822 _elm_toolbar_item_unfocused(it);
823 } 823 }
824 824
825 _elm_widget_item_highlight_in_theme(obj, (Elm_Object_Item *)it); 825 elm_widget_item_internal_highlight_in_theme(obj, (Elm_Object_Item *)it);
826 _elm_widget_highlight_in_theme_update(obj); 826 _elm_widget_highlight_in_theme_update(obj);
827 _elm_widget_focus_highlight_start(obj); 827 _elm_widget_focus_highlight_start(obj);
828} 828}
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 5f1e7edb7..cef938069 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -84,7 +84,7 @@ _elm_scrollable_is(const Evas_Object *obj)
84} 84}
85 85
86void 86void
87_elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it) 87elm_widget_item_internal_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it)
88{ 88{
89 const char *str; 89 const char *str;
90 90
@@ -3446,13 +3446,13 @@ _elm_widget_drag_child_locked_y_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *
3446} 3446}
3447 3447
3448EOLIAN static void 3448EOLIAN static void
3449_elm_widget_item_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd EINA_UNUSED, Eina_Bool enable EINA_UNUSED) 3449elm_widget_item_internal_loop_enabled_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd EINA_UNUSED, Eina_Bool enable EINA_UNUSED)
3450{ 3450{
3451 return; 3451 return;
3452} 3452}
3453 3453
3454EOLIAN static Eina_Bool 3454EOLIAN static Eina_Bool
3455_elm_widget_item_loop_enabled_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd EINA_UNUSED) 3455elm_widget_item_internal_loop_enabled_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd EINA_UNUSED)
3456{ 3456{
3457 return EINA_FALSE; 3457 return EINA_FALSE;
3458} 3458}
@@ -3990,7 +3990,7 @@ _track_obj_del(void *data, Evas *e EINA_UNUSED,
3990} 3990}
3991 3991
3992static void 3992static void
3993_elm_widget_item_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char *emission, 3993elm_widget_item_internal_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char *emission,
3994 const char *source) 3994 const char *source)
3995{ 3995{
3996 Elm_Widget_Item_Signal_Data *wisd = data; 3996 Elm_Widget_Item_Signal_Data *wisd = data;
@@ -3998,7 +3998,7 @@ _elm_widget_item_signal_cb(void *data, Evas_Object *obj EINA_UNUSED, const char
3998} 3998}
3999 3999
4000static void * 4000static void *
4001_elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *position) 4001elm_widget_item_internal_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *position)
4002{ 4002{
4003 Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position); 4003 Elm_Widget_Item_Signal_Data *wisd = eina_list_data_get(position);
4004 void *data; 4004 void *data;
@@ -4009,12 +4009,12 @@ _elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *posi
4009 if (_elm_widget_is(item->view)) 4009 if (_elm_widget_is(item->view))
4010 elm_object_signal_callback_del(item->view, 4010 elm_object_signal_callback_del(item->view,
4011 wisd->emission, wisd->source, 4011 wisd->emission, wisd->source,
4012 _elm_widget_item_signal_cb); 4012 elm_widget_item_internal_signal_cb);
4013 else if (!strcmp(eo_class_name_get(eo_class_get(item->view)), 4013 else if (!strcmp(eo_class_name_get(eo_class_get(item->view)),
4014 "edje")) 4014 "edje"))
4015 edje_object_signal_callback_del_full(item->view, 4015 edje_object_signal_callback_del_full(item->view,
4016 wisd->emission, wisd->source, 4016 wisd->emission, wisd->source,
4017 _elm_widget_item_signal_cb, wisd); 4017 elm_widget_item_internal_signal_cb, wisd);
4018 4018
4019 eina_stringshare_del(wisd->emission); 4019 eina_stringshare_del(wisd->emission);
4020 eina_stringshare_del(wisd->source); 4020 eina_stringshare_del(wisd->source);
@@ -4023,6 +4023,8 @@ _elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *posi
4023 return data; 4023 return data;
4024} 4024}
4025 4025
4026#define ERR_NOT_SUPPORTED(item, method) ERR("%s does not support %s API.", elm_widget_type_get(item->widget), method);
4027
4026/** 4028/**
4027 * @internal 4029 * @internal
4028 * 4030 *
@@ -4043,7 +4045,7 @@ _elm_widget_item_signal_callback_list_get(Elm_Widget_Item *item, Eina_List *posi
4043 * @ingroup Widget 4045 * @ingroup Widget
4044 */ 4046 */
4045EAPI Elm_Widget_Item * 4047EAPI Elm_Widget_Item *
4046_elm_widget_item_new(Evas_Object *widget, 4048elm_widget_item_internal_new(Evas_Object *widget,
4047 size_t alloc_size) 4049 size_t alloc_size)
4048{ 4050{
4049 if (!_elm_widget_is(widget)) 4051 if (!_elm_widget_is(widget))
@@ -4062,8 +4064,25 @@ _elm_widget_item_new(Evas_Object *widget,
4062 return item; 4064 return item;
4063} 4065}
4064 4066
4067EOLIAN static void
4068_elm_widget_item_eo_base_constructor(Eo *obj, Elm_Widget_Item_Data *item)
4069{
4070 Evas_Object *widget;
4071 eo_do (obj, widget = eo_parent_get());
4072
4073 if (!_elm_widget_is(widget))
4074 {
4075 eo_error_set(obj);
4076 return;
4077 }
4078
4079 eo_do_super(obj, ELM_WIDGET_ITEM_CLASS, eo_constructor());
4080 item->widget = widget;
4081 item->eo_obj = obj;
4082}
4083
4065EAPI void 4084EAPI void
4066_elm_widget_item_free(Elm_Widget_Item *item) 4085elm_widget_item_internal_free(Elm_Widget_Item *item)
4067{ 4086{
4068 Elm_Translate_String_Data *ts; 4087 Elm_Translate_String_Data *ts;
4069 4088
@@ -4077,7 +4096,7 @@ _elm_widget_item_free(Elm_Widget_Item *item)
4077 eina_stringshare_del(item->access_info); 4096 eina_stringshare_del(item->access_info);
4078 4097
4079 while (item->signals) 4098 while (item->signals)
4080 _elm_widget_item_signal_callback_list_get(item, item->signals); 4099 elm_widget_item_internal_signal_callback_list_get(item, item->signals);
4081 4100
4082 while (item->translate_strings) 4101 while (item->translate_strings)
4083 { 4102 {
@@ -4093,7 +4112,16 @@ _elm_widget_item_free(Elm_Widget_Item *item)
4093 eina_hash_free(item->labels); 4112 eina_hash_free(item->labels);
4094 4113
4095 EINA_MAGIC_SET(item, EINA_MAGIC_NONE); 4114 EINA_MAGIC_SET(item, EINA_MAGIC_NONE);
4096 free(item); 4115
4116 if (!item->eo_obj)
4117 free(item);
4118}
4119
4120EOLIAN static void
4121_elm_widget_item_eo_base_destructor(Eo *obj, Elm_Widget_Item_Data *item)
4122{
4123 elm_widget_item_internal_free(item);
4124 eo_do_super(obj, ELM_WIDGET_ITEM_CLASS, eo_destructor());
4097} 4125}
4098 4126
4099/** 4127/**
@@ -4120,20 +4148,36 @@ _elm_widget_item_free(Elm_Widget_Item *item)
4120 * @ingroup Widget 4148 * @ingroup Widget
4121 */ 4149 */
4122EAPI void 4150EAPI void
4123_elm_widget_item_del(Elm_Widget_Item *item) 4151elm_widget_item_internal_del(Elm_Widget_Item *item)
4124{ 4152{
4125 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4153 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4126 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4154 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4127 item->on_deletion = EINA_TRUE; 4155 item->on_deletion = EINA_TRUE;
4128 4156
4129 //Widget item delete callback 4157 //Widget item delete callback
4130 if (item->del_pre_func) 4158 if (!item->eo_obj)
4131 { 4159 {
4132 if (item->del_pre_func((Elm_Object_Item *)item)) 4160 if (item->del_pre_func)
4133 _elm_widget_item_free(item); 4161 {
4162 if (item->del_pre_func((Elm_Object_Item *)item))
4163 elm_widget_item_internal_free(item);
4164 }
4165 else
4166 elm_widget_item_free(item);
4134 } 4167 }
4135 else 4168 else
4136 _elm_widget_item_free(item); 4169 {
4170 Eina_Bool del_ok;
4171 eo_do(item->eo_obj, del_ok = elm_wdg_item_del_pre());
4172 if (del_ok)
4173 eo_del(item->eo_obj);
4174 }
4175}
4176
4177EOLIAN static void
4178_elm_widget_item_del(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4179{
4180 elm_widget_item_internal_del(item);
4137} 4181}
4138 4182
4139/** 4183/**
@@ -4146,13 +4190,19 @@ _elm_widget_item_del(Elm_Widget_Item *item)
4146 * @ingroup Widget 4190 * @ingroup Widget
4147 */ 4191 */
4148EAPI void 4192EAPI void
4149_elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item, 4193elm_widget_item_internal_del_pre_hook_set(Elm_Widget_Item *item,
4150 Elm_Widget_Del_Pre_Cb func) 4194 Elm_Widget_Del_Pre_Cb func)
4151{ 4195{
4152 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4196 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4153 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4197 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4154 item->del_pre_func = func; 4198 item->del_pre_func = func;
4155} 4199}
4200
4201EOLIAN static Eina_Bool
4202_elm_widget_item_del_pre(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item EINA_UNUSED)
4203{
4204 return EINA_TRUE;
4205}
4156/** 4206/**
4157 * @internal 4207 * @internal
4158 * 4208 *
@@ -4163,7 +4213,7 @@ _elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item,
4163 * @ingroup Widget 4213 * @ingroup Widget
4164 */ 4214 */
4165EAPI void 4215EAPI void
4166_elm_widget_item_style_set_hook_set(Elm_Widget_Item *item, 4216elm_widget_item_internal_style_set_hook_set(Elm_Widget_Item *item,
4167 Elm_Widget_Style_Set_Cb func) 4217 Elm_Widget_Style_Set_Cb func)
4168{ 4218{
4169 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4219 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4181,7 +4231,7 @@ _elm_widget_item_style_set_hook_set(Elm_Widget_Item *item,
4181 * @ingroup Widget 4231 * @ingroup Widget
4182 */ 4232 */
4183EAPI void 4233EAPI void
4184_elm_widget_item_style_get_hook_set(Elm_Widget_Item *item, 4234elm_widget_item_internal_style_get_hook_set(Elm_Widget_Item *item,
4185 Elm_Widget_Style_Get_Cb func) 4235 Elm_Widget_Style_Get_Cb func)
4186{ 4236{
4187 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4237 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4199,7 +4249,7 @@ _elm_widget_item_style_get_hook_set(Elm_Widget_Item *item,
4199 * @ingroup Widget 4249 * @ingroup Widget
4200 */ 4250 */
4201EAPI void 4251EAPI void
4202_elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func) 4252elm_widget_item_internal_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func)
4203{ 4253{
4204 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4254 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4205 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4255 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4216,7 +4266,7 @@ _elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_
4216 * @ingroup Widget 4266 * @ingroup Widget
4217 */ 4267 */
4218EAPI void 4268EAPI void
4219_elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item, 4269elm_widget_item_internal_focus_get_hook_set(Elm_Widget_Item *item,
4220 Elm_Widget_Focus_Get_Cb func) 4270 Elm_Widget_Focus_Get_Cb func)
4221{ 4271{
4222 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4272 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4238,7 +4288,7 @@ _elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item,
4238 * @ingroup Widget 4288 * @ingroup Widget
4239 */ 4289 */
4240EAPI void 4290EAPI void
4241_elm_widget_item_pre_notify_del(Elm_Widget_Item *item) 4291elm_widget_item_internal_pre_notify_del(Elm_Widget_Item *item)
4242{ 4292{
4243 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4293 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4244 if (!item->del_func) return; 4294 if (!item->del_func) return;
@@ -4246,6 +4296,13 @@ _elm_widget_item_pre_notify_del(Elm_Widget_Item *item)
4246 item->del_func = NULL; 4296 item->del_func = NULL;
4247} 4297}
4248 4298
4299EOLIAN static void
4300_elm_widget_item_pre_notify_del(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4301{
4302 elm_widget_item_internal_pre_notify_del(item);
4303}
4304
4305
4249/** 4306/**
4250 * @internal 4307 * @internal
4251 * 4308 *
@@ -4265,7 +4322,7 @@ _elm_widget_item_pre_notify_del(Elm_Widget_Item *item)
4265 * @ingroup Widget 4322 * @ingroup Widget
4266 */ 4323 */
4267EAPI void 4324EAPI void
4268_elm_widget_item_del_cb_set(Elm_Widget_Item *item, 4325elm_widget_item_internal_del_cb_set(Elm_Widget_Item *item,
4269 Evas_Smart_Cb func) 4326 Evas_Smart_Cb func)
4270{ 4327{
4271 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4328 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4278,6 +4335,14 @@ _elm_widget_item_del_cb_set(Elm_Widget_Item *item,
4278 item->del_func = func; 4335 item->del_func = func;
4279} 4336}
4280 4337
4338EOLIAN static void
4339_elm_widget_item_del_cb_set(Eo *obj EINA_UNUSED,
4340 Elm_Widget_Item_Data *item,
4341 Evas_Smart_Cb func)
4342{
4343 elm_widget_item_internal_del_cb_set(item,func);
4344}
4345
4281/** 4346/**
4282 * @internal 4347 * @internal
4283 * 4348 *
@@ -4288,7 +4353,7 @@ _elm_widget_item_del_cb_set(Elm_Widget_Item *item,
4288 * @ingroup Widget 4353 * @ingroup Widget
4289 */ 4354 */
4290EAPI Evas_Object * 4355EAPI Evas_Object *
4291_elm_widget_item_widget_get(const Elm_Widget_Item *item) 4356elm_widget_item_internal_widget_get(const Elm_Widget_Item *item)
4292{ 4357{
4293 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4358 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4294 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL); 4359 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, NULL);
@@ -4296,6 +4361,13 @@ _elm_widget_item_widget_get(const Elm_Widget_Item *item)
4296 return item->widget; 4361 return item->widget;
4297} 4362}
4298 4363
4364EOLIAN static Evas_Object *
4365_elm_widget_item_widget_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4366{
4367 return elm_widget_item_internal_widget_get(item);
4368}
4369
4370
4299/** 4371/**
4300 * @internal 4372 * @internal
4301 * 4373 *
@@ -4311,7 +4383,7 @@ _elm_widget_item_widget_get(const Elm_Widget_Item *item)
4311 * @ingroup Widget 4383 * @ingroup Widget
4312 */ 4384 */
4313EAPI void 4385EAPI void
4314_elm_widget_item_data_set(Elm_Widget_Item *item, 4386elm_widget_item_internal_data_set(Elm_Widget_Item *item,
4315 const void *data) 4387 const void *data)
4316{ 4388{
4317 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4389 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4322,6 +4394,14 @@ _elm_widget_item_data_set(Elm_Widget_Item *item,
4322 item->data = data; 4394 item->data = data;
4323} 4395}
4324 4396
4397EOLIAN static void
4398_elm_widget_item_data_set(Eo *obj EINA_UNUSED,
4399 Elm_Widget_Item_Data *item,
4400 const void *data)
4401{
4402 elm_widget_item_internal_data_set(item, data);
4403}
4404
4325/** 4405/**
4326 * @internal 4406 * @internal
4327 * 4407 *
@@ -4332,14 +4412,20 @@ _elm_widget_item_data_set(Elm_Widget_Item *item,
4332 * @ingroup Widget 4412 * @ingroup Widget
4333 */ 4413 */
4334EAPI void * 4414EAPI void *
4335_elm_widget_item_data_get(const Elm_Widget_Item *item) 4415elm_widget_item_internal_data_get(const Elm_Widget_Item *item)
4336{ 4416{
4337 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4417 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4338 return (void *)item->data; 4418 return (void *)item->data;
4339} 4419}
4340 4420
4421EOLIAN static void *
4422_elm_widget_item_data_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4423{
4424 return elm_widget_item_internal_data_get(item);
4425}
4426
4341EAPI void 4427EAPI void
4342_elm_widget_item_disabled_set(Elm_Widget_Item *item, 4428elm_widget_item_internal_disabled_set(Elm_Widget_Item *item,
4343 Eina_Bool disabled) 4429 Eina_Bool disabled)
4344{ 4430{
4345 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4431 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4347,33 +4433,63 @@ _elm_widget_item_disabled_set(Elm_Widget_Item *item,
4347 4433
4348 if (item->disabled == disabled) return; 4434 if (item->disabled == disabled) return;
4349 item->disabled = !!disabled; 4435 item->disabled = !!disabled;
4350 if (item->disable_func) item->disable_func(item); 4436 if (item->eo_obj)
4437 eo_do(item->eo_obj, elm_wdg_item_disable());
4438 else
4439 if (item->disable_func) item->disable_func(item);
4440}
4441
4442EOLIAN static void
4443_elm_widget_item_disabled_set(Eo *obj EINA_UNUSED,
4444 Elm_Widget_Item_Data *item,
4445 Eina_Bool disabled)
4446{
4447 elm_widget_item_internal_disabled_set(item, disabled);
4351} 4448}
4352 4449
4353EAPI Eina_Bool 4450EAPI Eina_Bool
4354_elm_widget_item_disabled_get(const Elm_Widget_Item *item) 4451elm_widget_item_internal_disabled_get(const Elm_Widget_Item *item)
4355{ 4452{
4356 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 4453 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4357 return item->disabled; 4454 return item->disabled;
4358} 4455}
4359 4456
4457EOLIAN static Eina_Bool
4458_elm_widget_item_disabled_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4459{
4460 return elm_widget_item_internal_disabled_get(item);
4461}
4462
4360EAPI void 4463EAPI void
4361_elm_widget_item_style_set(Elm_Widget_Item *item, const char *style) 4464elm_widget_item_internal_style_set(Elm_Widget_Item *item, const char *style)
4362{ 4465{
4363 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4466 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4364 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4467 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
4365 item->style_set_func(item, style); 4468 item->style_set_func(item, style);
4366} 4469}
4367 4470
4471EOLIAN static void
4472_elm_widget_item_style_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item, const char *style EINA_UNUSED)
4473{
4474 ERR_NOT_SUPPORTED(item, "elm_object_style_set()");
4475}
4476
4368EAPI const char * 4477EAPI const char *
4369_elm_widget_item_style_get(Elm_Widget_Item *item) 4478elm_widget_item_internal_style_get(Elm_Widget_Item *item)
4370{ 4479{
4371 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4480 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4372 return item->style_get_func(item); 4481 return item->style_get_func(item);
4373} 4482}
4374 4483
4484EOLIAN static const char *
4485_elm_widget_item_style_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4486{
4487 ERR_NOT_SUPPORTED(item, "elm_object_style_get()");
4488 return NULL;
4489}
4490
4375EAPI void 4491EAPI void
4376_elm_widget_item_disable_hook_set(Elm_Widget_Item *item, 4492elm_widget_item_internal_disable_hook_set(Elm_Widget_Item *item,
4377 Elm_Widget_Disable_Cb func) 4493 Elm_Widget_Disable_Cb func)
4378{ 4494{
4379 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4495 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4381,22 +4497,41 @@ _elm_widget_item_disable_hook_set(Elm_Widget_Item *item,
4381 item->disable_func = func; 4497 item->disable_func = func;
4382} 4498}
4383 4499
4500EOLIAN static void
4501_elm_widget_item_disable(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item EINA_UNUSED)
4502{
4503
4504}
4505
4384EAPI void 4506EAPI void
4385_elm_widget_item_focus_set(Elm_Widget_Item *item, Eina_Bool focused) 4507elm_widget_item_internal_focus_set(Elm_Widget_Item *item, Eina_Bool focused)
4386{ 4508{
4387 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4509 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4388 item->focus_set_func(item, focused); 4510 item->focus_set_func(item, focused);
4389} 4511}
4390 4512
4513EOLIAN static void
4514_elm_widget_item_focus_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item, Eina_Bool focused EINA_UNUSED)
4515{
4516 ERR_NOT_SUPPORTED(item, "elm_object_item_focus_set");
4517}
4518
4391EAPI Eina_Bool 4519EAPI Eina_Bool
4392_elm_widget_item_focus_get(const Elm_Widget_Item *item) 4520elm_widget_item_internal_focus_get(const Elm_Widget_Item *item)
4393{ 4521{
4394 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 4522 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4395 return item->focus_get_func(item); 4523 return item->focus_get_func(item);
4396} 4524}
4397 4525
4526EOLIAN static Eina_Bool
4527_elm_widget_item_focus_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4528{
4529 ERR_NOT_SUPPORTED(item, "elm_object_item_focus_get");
4530 return EINA_FALSE;
4531}
4532
4398EAPI void 4533EAPI void
4399_elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item, 4534elm_widget_item_internal_domain_translatable_part_text_set(Elm_Widget_Item *item,
4400 const char *part, 4535 const char *part,
4401 const char *domain, 4536 const char *domain,
4402 const char *label) 4537 const char *label)
@@ -4424,12 +4559,25 @@ _elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item,
4424#endif 4559#endif
4425 } 4560 }
4426 item->on_translate = EINA_TRUE; 4561 item->on_translate = EINA_TRUE;
4427 _elm_widget_item_part_text_set(item, part, label); 4562 if (item->eo_obj)
4563 eo_do(item->eo_obj, elm_wdg_item_part_text_set(part, label));
4564 else
4565 elm_widget_item_internal_part_text_set(item, part, label);
4428 item->on_translate = EINA_FALSE; 4566 item->on_translate = EINA_FALSE;
4429} 4567}
4430 4568
4569EOLIAN static void
4570_elm_widget_item_domain_translatable_part_text_set(Eo *obj EINA_UNUSED,
4571 Elm_Widget_Item_Data *item,
4572 const char *part,
4573 const char *domain,
4574 const char *label)
4575{
4576 elm_widget_item_internal_domain_translatable_part_text_set(item, part, domain, label);
4577}
4578
4431EAPI const char * 4579EAPI const char *
4432_elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, 4580elm_widget_item_internal_translatable_part_text_get(const Elm_Widget_Item *item,
4433 const char *part) 4581 const char *part)
4434{ 4582{
4435 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 4583 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -4441,8 +4589,16 @@ _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item,
4441 return NULL; 4589 return NULL;
4442} 4590}
4443 4591
4592EOLIAN static const char *
4593_elm_widget_item_translatable_part_text_get(Eo *obj EINA_UNUSED,
4594 Elm_Widget_Item_Data *item,
4595 const char *part)
4596{
4597 return elm_widget_item_internal_translatable_part_text_get(item, part);
4598}
4599
4444EAPI void 4600EAPI void
4445_elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, 4601elm_widget_item_internal_domain_part_text_translatable_set(Elm_Widget_Item *item,
4446 const char *part, 4602 const char *part,
4447 const char *domain, 4603 const char *domain,
4448 Eina_Bool translatable) 4604 Eina_Bool translatable)
@@ -4458,7 +4614,11 @@ _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
4458 if (!ts->domain) ts->domain = eina_stringshare_add(domain); 4614 if (!ts->domain) ts->domain = eina_stringshare_add(domain);
4459 else eina_stringshare_replace(&ts->domain, domain); 4615 else eina_stringshare_replace(&ts->domain, domain);
4460 4616
4461 text = _elm_widget_item_part_text_get(item, part); 4617 if (item->eo_obj)
4618 eo_do(item->eo_obj, text = elm_wdg_item_part_text_get(part));
4619 else
4620 text = elm_widget_item_internal_part_text_get(item, part);
4621
4462 if (!text || !text[0]) return; 4622 if (!text || !text[0]) return;
4463 4623
4464 if (!ts->string) ts->string = eina_stringshare_add(text); 4624 if (!ts->string) ts->string = eina_stringshare_add(text);
@@ -4468,12 +4628,25 @@ _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item,
4468 text = dgettext(domain, text); 4628 text = dgettext(domain, text);
4469#endif 4629#endif
4470 item->on_translate = EINA_TRUE; 4630 item->on_translate = EINA_TRUE;
4471 _elm_widget_item_part_text_set(item, part, text); 4631 if (item->eo_obj)
4632 eo_do (item->eo_obj, elm_wdg_item_part_text_set(part, text));
4633 else
4634 elm_widget_item_internal_part_text_set(item, part, text);
4472 item->on_translate = EINA_FALSE; 4635 item->on_translate = EINA_FALSE;
4473} 4636}
4474 4637
4638EOLIAN static void
4639_elm_widget_item_domain_part_text_translatable_set(Eo *obj EINA_UNUSED,
4640 Elm_Widget_Item_Data *item,
4641 const char *part,
4642 const char *domain,
4643 Eina_Bool translatable)
4644{
4645 elm_widget_item_internal_domain_part_text_translatable_set(item, part, domain, translatable);
4646}
4647
4475EAPI void 4648EAPI void
4476_elm_widget_item_track_cancel(Elm_Widget_Item *item) 4649elm_widget_item_internal_track_cancel(Elm_Widget_Item *item)
4477{ 4650{
4478 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4651 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4479 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4652 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4486,6 +4659,12 @@ _elm_widget_item_track_cancel(Elm_Widget_Item *item)
4486 evas_object_del(item->track_obj); 4659 evas_object_del(item->track_obj);
4487} 4660}
4488 4661
4662EOLIAN static void
4663_elm_widget_item_track_cancel(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4664{
4665 elm_widget_item_internal_track_cancel(item);
4666}
4667
4489EAPI Evas_Object * 4668EAPI Evas_Object *
4490elm_widget_item_track(Elm_Widget_Item *item) 4669elm_widget_item_track(Elm_Widget_Item *item)
4491{ 4670{
@@ -4530,6 +4709,12 @@ elm_widget_item_track(Elm_Widget_Item *item)
4530 return track; 4709 return track;
4531} 4710}
4532 4711
4712EOLIAN static Evas_Object *
4713_elm_widget_item_track(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4714{
4715 return elm_widget_item_track(item);
4716}
4717
4533void 4718void
4534elm_widget_item_untrack(Elm_Widget_Item *item) 4719elm_widget_item_untrack(Elm_Widget_Item *item)
4535{ 4720{
@@ -4543,6 +4728,12 @@ elm_widget_item_untrack(Elm_Widget_Item *item)
4543 evas_object_del(item->track_obj); 4728 evas_object_del(item->track_obj);
4544} 4729}
4545 4730
4731EOLIAN static void
4732_elm_widget_item_untrack(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4733{
4734 elm_widget_item_untrack(item);
4735}
4736
4546int 4737int
4547elm_widget_item_track_get(const Elm_Widget_Item *item) 4738elm_widget_item_track_get(const Elm_Widget_Item *item)
4548{ 4739{
@@ -4553,6 +4744,12 @@ elm_widget_item_track_get(const Elm_Widget_Item *item)
4553 return evas_object_ref_get(item->track_obj); 4744 return evas_object_ref_get(item->track_obj);
4554} 4745}
4555 4746
4747EOLIAN static int
4748_elm_widget_item_track_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4749{
4750 return elm_widget_item_track_get(item);
4751}
4752
4556typedef struct _Elm_Widget_Item_Tooltip Elm_Widget_Item_Tooltip; 4753typedef struct _Elm_Widget_Item_Tooltip Elm_Widget_Item_Tooltip;
4557 4754
4558struct _Elm_Widget_Item_Tooltip 4755struct _Elm_Widget_Item_Tooltip
@@ -4564,7 +4761,7 @@ struct _Elm_Widget_Item_Tooltip
4564}; 4761};
4565 4762
4566static Evas_Object * 4763static Evas_Object *
4567_elm_widget_item_tooltip_label_create(void *data, 4764elm_widget_item_internal_tooltip_label_create(void *data,
4568 Evas_Object *obj EINA_UNUSED, 4765 Evas_Object *obj EINA_UNUSED,
4569 Evas_Object *tooltip, 4766 Evas_Object *tooltip,
4570 void *item EINA_UNUSED) 4767 void *item EINA_UNUSED)
@@ -4578,7 +4775,7 @@ _elm_widget_item_tooltip_label_create(void *data,
4578} 4775}
4579 4776
4580static Evas_Object * 4777static Evas_Object *
4581_elm_widget_item_tooltip_trans_label_create(void *data, 4778elm_widget_item_internal_tooltip_trans_label_create(void *data,
4582 Evas_Object *obj EINA_UNUSED, 4779 Evas_Object *obj EINA_UNUSED,
4583 Evas_Object *tooltip, 4780 Evas_Object *tooltip,
4584 void *item EINA_UNUSED) 4781 void *item EINA_UNUSED)
@@ -4592,7 +4789,7 @@ _elm_widget_item_tooltip_trans_label_create(void *data,
4592} 4789}
4593 4790
4594static void 4791static void
4595_elm_widget_item_tooltip_label_del_cb(void *data, 4792elm_widget_item_internal_tooltip_label_del_cb(void *data,
4596 Evas_Object *obj EINA_UNUSED, 4793 Evas_Object *obj EINA_UNUSED,
4597 void *event_info EINA_UNUSED) 4794 void *event_info EINA_UNUSED)
4598{ 4795{
@@ -4613,7 +4810,7 @@ _elm_widget_item_tooltip_label_del_cb(void *data,
4613 * @ingroup Widget 4810 * @ingroup Widget
4614 */ 4811 */
4615EAPI void 4812EAPI void
4616_elm_widget_item_tooltip_text_set(Elm_Widget_Item *item, 4813elm_widget_item_internal_tooltip_text_set(Elm_Widget_Item *item,
4617 const char *text) 4814 const char *text)
4618{ 4815{
4619 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4816 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4621,13 +4818,27 @@ _elm_widget_item_tooltip_text_set(Elm_Widget_Item *item,
4621 EINA_SAFETY_ON_NULL_RETURN(text); 4818 EINA_SAFETY_ON_NULL_RETURN(text);
4622 4819
4623 text = eina_stringshare_add(text); 4820 text = eina_stringshare_add(text);
4624 _elm_widget_item_tooltip_content_cb_set 4821 if (item->eo_obj)
4625 (item, _elm_widget_item_tooltip_label_create, text, 4822 eo_do(item->eo_obj, elm_wdg_item_tooltip_content_cb_set(
4626 _elm_widget_item_tooltip_label_del_cb); 4823 elm_widget_item_internal_tooltip_label_create,
4824 text,
4825 elm_widget_item_internal_tooltip_label_del_cb));
4826 else
4827 elm_widget_item_internal_tooltip_content_cb_set
4828 (item, elm_widget_item_internal_tooltip_label_create, text,
4829 elm_widget_item_internal_tooltip_label_del_cb);
4830}
4831
4832EOLIAN static void
4833_elm_widget_item_tooltip_text_set(Eo *obj EINA_UNUSED,
4834 Elm_Widget_Item_Data *item EINA_UNUSED,
4835 const char *text)
4836{
4837 elm_widget_item_internal_tooltip_text_set(item, text);
4627} 4838}
4628 4839
4629EAPI void 4840EAPI void
4630_elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item, 4841elm_widget_item_internal_tooltip_translatable_text_set(Elm_Widget_Item *item,
4631 const char *text) 4842 const char *text)
4632{ 4843{
4633 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4844 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4635,13 +4846,27 @@ _elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item,
4635 EINA_SAFETY_ON_NULL_RETURN(text); 4846 EINA_SAFETY_ON_NULL_RETURN(text);
4636 4847
4637 text = eina_stringshare_add(text); 4848 text = eina_stringshare_add(text);
4638 _elm_widget_item_tooltip_content_cb_set 4849 if (item->eo_obj)
4639 (item, _elm_widget_item_tooltip_trans_label_create, text, 4850 eo_do(item->eo_obj, elm_wdg_item_tooltip_content_cb_set(
4640 _elm_widget_item_tooltip_label_del_cb); 4851 elm_widget_item_internal_tooltip_trans_label_create,
4852 text,
4853 elm_widget_item_internal_tooltip_label_del_cb));
4854 else
4855 elm_widget_item_internal_tooltip_content_cb_set
4856 (item, elm_widget_item_internal_tooltip_trans_label_create, text,
4857 elm_widget_item_internal_tooltip_label_del_cb);
4858}
4859
4860EOLIAN static void
4861_elm_widget_item_tooltip_translatable_text_set(Eo *obj EINA_UNUSED,
4862 Elm_Widget_Item_Data *item EINA_UNUSED,
4863 const char *text)
4864{
4865 elm_widget_item_internal_tooltip_translatable_text_set(item, text);
4641} 4866}
4642 4867
4643static Evas_Object * 4868static Evas_Object *
4644_elm_widget_item_tooltip_create(void *data, 4869elm_widget_item_internal_tooltip_create(void *data,
4645 Evas_Object *obj, 4870 Evas_Object *obj,
4646 Evas_Object *tooltip) 4871 Evas_Object *tooltip)
4647{ 4872{
@@ -4649,8 +4874,9 @@ _elm_widget_item_tooltip_create(void *data,
4649 return wit->func((void *)wit->data, obj, tooltip, wit->item); 4874 return wit->func((void *)wit->data, obj, tooltip, wit->item);
4650} 4875}
4651 4876
4877
4652static void 4878static void
4653_elm_widget_item_tooltip_del_cb(void *data, 4879elm_widget_item_internal_tooltip_del_cb(void *data,
4654 Evas_Object *obj, 4880 Evas_Object *obj,
4655 void *event_info EINA_UNUSED) 4881 void *event_info EINA_UNUSED)
4656{ 4882{
@@ -4682,7 +4908,7 @@ _elm_widget_item_tooltip_del_cb(void *data,
4682 * @ingroup Widget 4908 * @ingroup Widget
4683 */ 4909 */
4684EAPI void 4910EAPI void
4685_elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item, 4911elm_widget_item_internal_tooltip_content_cb_set(Elm_Widget_Item *item,
4686 Elm_Tooltip_Item_Content_Cb func, 4912 Elm_Tooltip_Item_Content_Cb func,
4687 const void *data, 4913 const void *data,
4688 Evas_Smart_Cb del_cb) 4914 Evas_Smart_Cb del_cb)
@@ -4694,7 +4920,10 @@ _elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item,
4694 4920
4695 if (!func) 4921 if (!func)
4696 { 4922 {
4697 _elm_widget_item_tooltip_unset(item); 4923 if (item->eo_obj)
4924 eo_do(item->eo_obj, elm_wdg_item_tooltip_unset());
4925 else
4926 elm_widget_item_internal_tooltip_unset(item);
4698 return; 4927 return;
4699 } 4928 }
4700 4929
@@ -4706,8 +4935,8 @@ _elm_widget_item_tooltip_content_cb_set(Elm_Widget_Item *item,
4706 wit->del_cb = del_cb; 4935 wit->del_cb = del_cb;
4707 4936
4708 elm_object_sub_tooltip_content_cb_set 4937 elm_object_sub_tooltip_content_cb_set
4709 (item->view, item->widget, _elm_widget_item_tooltip_create, wit, 4938 (item->view, item->widget, elm_widget_item_internal_tooltip_create, wit,
4710 _elm_widget_item_tooltip_del_cb); 4939 elm_widget_item_internal_tooltip_del_cb);
4711 4940
4712 return; 4941 return;
4713 4942
@@ -4718,6 +4947,16 @@ error:
4718 if (del_cb) del_cb((void *)data, item->widget, item); 4947 if (del_cb) del_cb((void *)data, item->widget, item);
4719} 4948}
4720 4949
4950EOLIAN static void
4951_elm_widget_item_tooltip_content_cb_set(Eo *obj EINA_UNUSED,
4952 Elm_Widget_Item_Data *item,
4953 Elm_Tooltip_Item_Content_Cb func,
4954 const void *data,
4955 Evas_Smart_Cb del_cb)
4956{
4957 elm_widget_item_internal_tooltip_content_cb_set(item, func, data, del_cb);
4958}
4959
4721/** 4960/**
4722 * @internal 4961 * @internal
4723 * 4962 *
@@ -4734,7 +4973,7 @@ error:
4734 * @ingroup Widget 4973 * @ingroup Widget
4735 */ 4974 */
4736EAPI void 4975EAPI void
4737_elm_widget_item_tooltip_unset(Elm_Widget_Item *item) 4976elm_widget_item_internal_tooltip_unset(Elm_Widget_Item *item)
4738{ 4977{
4739 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 4978 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4740 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 4979 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4742,6 +4981,12 @@ _elm_widget_item_tooltip_unset(Elm_Widget_Item *item)
4742 elm_object_tooltip_unset(item->view); 4981 elm_object_tooltip_unset(item->view);
4743} 4982}
4744 4983
4984EOLIAN static void
4985_elm_widget_item_tooltip_unset(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
4986{
4987 elm_widget_item_internal_tooltip_unset(item);
4988}
4989
4745/** 4990/**
4746 * @internal 4991 * @internal
4747 * 4992 *
@@ -4757,7 +5002,7 @@ _elm_widget_item_tooltip_unset(Elm_Widget_Item *item)
4757 * @ingroup Widget 5002 * @ingroup Widget
4758 */ 5003 */
4759EAPI void 5004EAPI void
4760_elm_widget_item_tooltip_style_set(Elm_Widget_Item *item, 5005elm_widget_item_internal_tooltip_style_set(Elm_Widget_Item *item,
4761 const char *style) 5006 const char *style)
4762{ 5007{
4763 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5008 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4766,8 +5011,16 @@ _elm_widget_item_tooltip_style_set(Elm_Widget_Item *item,
4766 elm_object_tooltip_style_set(item->view, style); 5011 elm_object_tooltip_style_set(item->view, style);
4767} 5012}
4768 5013
5014EOLIAN static void
5015_elm_widget_item_tooltip_style_set(Eo *obj EINA_UNUSED,
5016 Elm_Widget_Item_Data *item,
5017 const char *style)
5018{
5019 elm_widget_item_internal_tooltip_style_set(item, style);
5020}
5021
4769EAPI Eina_Bool 5022EAPI Eina_Bool
4770_elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item, 5023elm_widget_item_internal_tooltip_window_mode_set(Elm_Widget_Item *item,
4771 Eina_Bool disable) 5024 Eina_Bool disable)
4772{ 5025{
4773 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5026 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
@@ -4776,8 +5029,16 @@ _elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item,
4776 return elm_object_tooltip_window_mode_set(item->view, disable); 5029 return elm_object_tooltip_window_mode_set(item->view, disable);
4777} 5030}
4778 5031
5032EOLIAN static Eina_Bool
5033_elm_widget_item_tooltip_window_mode_set(Eo *obj EINA_UNUSED,
5034 Elm_Widget_Item_Data *item,
5035 Eina_Bool disable)
5036{
5037 return elm_widget_item_internal_tooltip_window_mode_set(item, disable);
5038}
5039
4779EAPI Eina_Bool 5040EAPI Eina_Bool
4780_elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item) 5041elm_widget_item_internal_tooltip_window_mode_get(const Elm_Widget_Item *item)
4781{ 5042{
4782 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5043 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4783 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, EINA_FALSE); 5044 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item, EINA_FALSE);
@@ -4785,6 +5046,12 @@ _elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item)
4785 return elm_object_tooltip_window_mode_get(item->view); 5046 return elm_object_tooltip_window_mode_get(item->view);
4786} 5047}
4787 5048
5049EOLIAN static Eina_Bool
5050_elm_widget_item_tooltip_window_mode_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5051{
5052 return elm_widget_item_internal_tooltip_window_mode_get(item);
5053}
5054
4788/** 5055/**
4789 * @internal 5056 * @internal
4790 * 5057 *
@@ -4797,15 +5064,21 @@ _elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item)
4797 * @ingroup Widget 5064 * @ingroup Widget
4798 */ 5065 */
4799EAPI const char * 5066EAPI const char *
4800_elm_widget_item_tooltip_style_get(const Elm_Widget_Item *item) 5067elm_widget_item_internal_tooltip_style_get(const Elm_Widget_Item *item)
4801{ 5068{
4802 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5069 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4803 5070
4804 return elm_object_tooltip_style_get(item->view); 5071 return elm_object_tooltip_style_get(item->view);
4805} 5072}
4806 5073
5074EOLIAN static const char *
5075_elm_widget_item_tooltip_style_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5076{
5077 return elm_widget_item_internal_tooltip_style_get(item);
5078}
5079
4807EAPI void 5080EAPI void
4808_elm_widget_item_cursor_set(Elm_Widget_Item *item, 5081elm_widget_item_internal_cursor_set(Elm_Widget_Item *item,
4809 const char *cursor) 5082 const char *cursor)
4810{ 5083{
4811 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5084 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4814,15 +5087,29 @@ _elm_widget_item_cursor_set(Elm_Widget_Item *item,
4814 elm_object_sub_cursor_set(item->view, item->widget, cursor); 5087 elm_object_sub_cursor_set(item->view, item->widget, cursor);
4815} 5088}
4816 5089
5090EOLIAN static void
5091_elm_widget_item_cursor_set(Eo *obj EINA_UNUSED,
5092 Elm_Widget_Item_Data *item,
5093 const char *cursor)
5094{
5095 elm_widget_item_internal_cursor_set(item, cursor);
5096}
5097
4817EAPI const char * 5098EAPI const char *
4818_elm_widget_item_cursor_get(const Elm_Widget_Item *item) 5099elm_widget_item_internal_cursor_get(const Elm_Widget_Item *item)
4819{ 5100{
4820 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5101 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4821 return elm_object_cursor_get(item->view); 5102 return elm_object_cursor_get(item->view);
4822} 5103}
4823 5104
5105EOLIAN static const char *
5106_elm_widget_item_cursor_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5107{
5108 return elm_widget_item_internal_cursor_get(item);
5109}
5110
4824EAPI void 5111EAPI void
4825_elm_widget_item_cursor_unset(Elm_Widget_Item *item) 5112elm_widget_item_internal_cursor_unset(Elm_Widget_Item *item)
4826{ 5113{
4827 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5114 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
4828 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5115 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -4830,6 +5117,12 @@ _elm_widget_item_cursor_unset(Elm_Widget_Item *item)
4830 elm_object_cursor_unset(item->view); 5117 elm_object_cursor_unset(item->view);
4831} 5118}
4832 5119
5120EOLIAN static void
5121_elm_widget_item_cursor_unset(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5122{
5123 elm_widget_item_internal_cursor_unset(item);
5124}
5125
4833/** 5126/**
4834 * @internal 5127 * @internal
4835 * 5128 *
@@ -4844,7 +5137,7 @@ _elm_widget_item_cursor_unset(Elm_Widget_Item *item)
4844 * @ingroup Widget 5137 * @ingroup Widget
4845 */ 5138 */
4846EAPI void 5139EAPI void
4847_elm_widget_item_cursor_style_set(Elm_Widget_Item *item, 5140elm_widget_item_internal_cursor_style_set(Elm_Widget_Item *item,
4848 const char *style) 5141 const char *style)
4849{ 5142{
4850 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5143 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4853,6 +5146,14 @@ _elm_widget_item_cursor_style_set(Elm_Widget_Item *item,
4853 elm_object_cursor_style_set(item->view, style); 5146 elm_object_cursor_style_set(item->view, style);
4854} 5147}
4855 5148
5149EOLIAN static void
5150_elm_widget_item_cursor_style_set(Eo *obj EINA_UNUSED,
5151 Elm_Widget_Item_Data *item,
5152 const char *style)
5153{
5154 elm_widget_item_internal_cursor_style_set(item, style);
5155}
5156
4856/** 5157/**
4857 * @internal 5158 * @internal
4858 * 5159 *
@@ -4865,12 +5166,19 @@ _elm_widget_item_cursor_style_set(Elm_Widget_Item *item,
4865 * @ingroup Widget 5166 * @ingroup Widget
4866 */ 5167 */
4867EAPI const char * 5168EAPI const char *
4868_elm_widget_item_cursor_style_get(const Elm_Widget_Item *item) 5169elm_widget_item_internal_cursor_style_get(const Elm_Widget_Item *item)
4869{ 5170{
4870 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5171 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
4871 return elm_object_cursor_style_get(item->view); 5172 return elm_object_cursor_style_get(item->view);
4872} 5173}
4873 5174
5175EOLIAN static const char *
5176_elm_widget_item_cursor_style_get(Eo *obj EINA_UNUSED,
5177 Elm_Widget_Item_Data *item)
5178{
5179 return elm_widget_item_internal_cursor_style_get(item);
5180}
5181
4874/** 5182/**
4875 * @internal 5183 * @internal
4876 * 5184 *
@@ -4888,7 +5196,7 @@ _elm_widget_item_cursor_style_get(const Elm_Widget_Item *item)
4888 * @ingroup Widget 5196 * @ingroup Widget
4889 */ 5197 */
4890EAPI void 5198EAPI void
4891_elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, 5199elm_widget_item_internal_cursor_engine_only_set(Elm_Widget_Item *item,
4892 Eina_Bool engine_only) 5200 Eina_Bool engine_only)
4893{ 5201{
4894 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5202 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -4897,6 +5205,14 @@ _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item,
4897 elm_object_cursor_theme_search_enabled_set(item->view, !engine_only); 5205 elm_object_cursor_theme_search_enabled_set(item->view, !engine_only);
4898} 5206}
4899 5207
5208EOLIAN static void
5209_elm_widget_item_cursor_engine_only_set(Eo *obj EINA_UNUSED,
5210 Elm_Widget_Item_Data *item,
5211 Eina_Bool engine_only)
5212{
5213 elm_widget_item_internal_cursor_engine_only_set(item, engine_only);
5214}
5215
4900/** 5216/**
4901 * @internal 5217 * @internal
4902 * 5218 *
@@ -4910,14 +5226,20 @@ _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item,
4910 * @ingroup Widget 5226 * @ingroup Widget
4911 */ 5227 */
4912EAPI Eina_Bool 5228EAPI Eina_Bool
4913_elm_widget_item_cursor_engine_only_get(const Elm_Widget_Item *item) 5229elm_widget_item_internal_cursor_engine_only_get(const Elm_Widget_Item *item)
4914{ 5230{
4915 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE); 5231 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, EINA_FALSE);
4916 return !elm_object_cursor_theme_search_enabled_get(item->view); 5232 return !elm_object_cursor_theme_search_enabled_get(item->view);
4917} 5233}
4918 5234
5235EOLIAN static Eina_Bool
5236_elm_widget_item_cursor_engine_only_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5237{
5238 return elm_widget_item_internal_cursor_engine_only_get(item);
5239}
5240
4919EAPI void 5241EAPI void
4920_elm_widget_item_part_content_set(Elm_Widget_Item *item, 5242elm_widget_item_internal_part_content_set(Elm_Widget_Item *item,
4921 const char *part, 5243 const char *part,
4922 Evas_Object *content) 5244 Evas_Object *content)
4923{ 5245{
@@ -4932,8 +5254,17 @@ _elm_widget_item_part_content_set(Elm_Widget_Item *item,
4932 item->content_set_func((Elm_Object_Item *)item, part, content); 5254 item->content_set_func((Elm_Object_Item *)item, part, content);
4933} 5255}
4934 5256
5257EOLIAN static void
5258_elm_widget_item_part_content_set(Eo *obj EINA_UNUSED,
5259 Elm_Widget_Item_Data *item,
5260 const char *part EINA_UNUSED,
5261 Evas_Object *content EINA_UNUSED)
5262{
5263 ERR_NOT_SUPPORTED(item, "elm_object_part_content_set()");
5264}
5265
4935EAPI Evas_Object * 5266EAPI Evas_Object *
4936_elm_widget_item_part_content_get(const Elm_Widget_Item *item, 5267elm_widget_item_internal_part_content_get(const Elm_Widget_Item *item,
4937 const char *part) 5268 const char *part)
4938{ 5269{
4939 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5270 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -4947,8 +5278,17 @@ _elm_widget_item_part_content_get(const Elm_Widget_Item *item,
4947 return item->content_get_func((Elm_Object_Item *)item, part); 5278 return item->content_get_func((Elm_Object_Item *)item, part);
4948} 5279}
4949 5280
5281EOLIAN static Evas_Object *
5282_elm_widget_item_part_content_get(Eo *obj EINA_UNUSED,
5283 Elm_Widget_Item_Data *item,
5284 const char *part EINA_UNUSED)
5285{
5286 ERR_NOT_SUPPORTED(item, "elm_object_part_content_get()");
5287 return NULL;
5288}
5289
4950EAPI Evas_Object * 5290EAPI Evas_Object *
4951_elm_widget_item_part_content_unset(Elm_Widget_Item *item, 5291elm_widget_item_internal_part_content_unset(Elm_Widget_Item *item,
4952 const char *part) 5292 const char *part)
4953{ 5293{
4954 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5294 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -4962,8 +5302,17 @@ _elm_widget_item_part_content_unset(Elm_Widget_Item *item,
4962 return item->content_unset_func((Elm_Object_Item *)item, part); 5302 return item->content_unset_func((Elm_Object_Item *)item, part);
4963} 5303}
4964 5304
5305EOLIAN static Evas_Object *
5306_elm_widget_item_part_content_unset(Eo *obj EINA_UNUSED,
5307 Elm_Widget_Item_Data *item,
5308 const char *part EINA_UNUSED)
5309{
5310 ERR_NOT_SUPPORTED(item, "elm_object_part_content_unset()");
5311 return NULL;
5312}
5313
4965EAPI void 5314EAPI void
4966_elm_widget_item_part_text_set(Elm_Widget_Item *item, 5315elm_widget_item_internal_part_text_set(Elm_Widget_Item *item,
4967 const char *part, 5316 const char *part,
4968 const char *label) 5317 const char *label)
4969{ 5318{
@@ -4978,8 +5327,17 @@ _elm_widget_item_part_text_set(Elm_Widget_Item *item,
4978 item->text_set_func((Elm_Object_Item *)item, part, label); 5327 item->text_set_func((Elm_Object_Item *)item, part, label);
4979} 5328}
4980 5329
5330EOLIAN static void
5331_elm_widget_item_part_text_set(Eo *obj EINA_UNUSED,
5332 Elm_Widget_Item_Data *item,
5333 const char *part EINA_UNUSED,
5334 const char *label EINA_UNUSED)
5335{
5336 ERR_NOT_SUPPORTED(item, "elm_object_part_text_set()");
5337}
5338
4981EAPI const char * 5339EAPI const char *
4982_elm_widget_item_part_text_get(const Elm_Widget_Item *item, 5340elm_widget_item_internal_part_text_get(const Elm_Widget_Item *item,
4983 const char *part) 5341 const char *part)
4984{ 5342{
4985 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL); 5343 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
@@ -4993,8 +5351,17 @@ _elm_widget_item_part_text_get(const Elm_Widget_Item *item,
4993 return item->text_get_func((Elm_Object_Item *)item, part); 5351 return item->text_get_func((Elm_Object_Item *)item, part);
4994} 5352}
4995 5353
5354EOLIAN static const char *
5355_elm_widget_item_part_text_get(Eo *obj EINA_UNUSED,
5356 Elm_Widget_Item_Data *item,
5357 const char *part EINA_UNUSED)
5358{
5359 ERR_NOT_SUPPORTED(item, "elm_object_part_text_get()");
5360 return NULL;
5361}
5362
4996static void 5363static void
4997_elm_widget_item_part_text_custom_free(void *data) 5364elm_widget_item_internal_part_text_custom_free(void *data)
4998{ 5365{
4999 Elm_Label_Data *label; 5366 Elm_Label_Data *label;
5000 label = data; 5367 label = data;
@@ -5004,7 +5371,7 @@ _elm_widget_item_part_text_custom_free(void *data)
5004} 5371}
5005 5372
5006EAPI void 5373EAPI void
5007_elm_widget_item_part_text_custom_set(Elm_Widget_Item *item, 5374elm_widget_item_internal_part_text_custom_set(Elm_Widget_Item *item,
5008 const char *part, 5375 const char *part,
5009 const char *text) 5376 const char *text)
5010{ 5377{
@@ -5020,7 +5387,7 @@ _elm_widget_item_part_text_custom_set(Elm_Widget_Item *item,
5020 } 5387 }
5021 if (!item->labels) 5388 if (!item->labels)
5022 item->labels = 5389 item->labels =
5023 eina_hash_stringshared_new(_elm_widget_item_part_text_custom_free); 5390 eina_hash_stringshared_new(elm_widget_item_internal_part_text_custom_free);
5024 label = eina_hash_find(item->labels, part); 5391 label = eina_hash_find(item->labels, part);
5025 if (!label) 5392 if (!label)
5026 { 5393 {
@@ -5033,8 +5400,17 @@ _elm_widget_item_part_text_custom_set(Elm_Widget_Item *item,
5033 eina_stringshare_replace(&label->text, text); 5400 eina_stringshare_replace(&label->text, text);
5034} 5401}
5035 5402
5403EOLIAN static void
5404_elm_widget_item_part_text_custom_set(Eo *obj EINA_UNUSED,
5405 Elm_Widget_Item_Data *item,
5406 const char *part,
5407 const char *text)
5408{
5409 elm_widget_item_internal_part_text_custom_set(item, part, text);
5410}
5411
5036EAPI const char * 5412EAPI const char *
5037_elm_widget_item_part_text_custom_get(Elm_Widget_Item *item, 5413elm_widget_item_internal_part_text_custom_get(Elm_Widget_Item *item,
5038 const char *part) 5414 const char *part)
5039{ 5415{
5040 Elm_Label_Data *label; 5416 Elm_Label_Data *label;
@@ -5043,8 +5419,16 @@ _elm_widget_item_part_text_custom_get(Elm_Widget_Item *item,
5043 return label ? label->text : NULL; 5419 return label ? label->text : NULL;
5044} 5420}
5045 5421
5422EOLIAN static const char *
5423_elm_widget_item_part_text_custom_get(Eo *obj EINA_UNUSED,
5424 Elm_Widget_Item_Data *item,
5425 const char *part)
5426{
5427 return elm_widget_item_internal_part_text_custom_get(item, part);
5428}
5429
5046static Eina_Bool 5430static Eina_Bool
5047_elm_widget_item_part_text_custom_foreach(const Eina_Hash *labels EINA_UNUSED, 5431elm_widget_item_internal_part_text_custom_foreach(const Eina_Hash *labels EINA_UNUSED,
5048 const void *key EINA_UNUSED, 5432 const void *key EINA_UNUSED,
5049 void *data, 5433 void *data,
5050 void *func_data) 5434 void *func_data)
@@ -5053,22 +5437,33 @@ _elm_widget_item_part_text_custom_foreach(const Eina_Hash *labels EINA_UNUSED,
5053 Elm_Widget_Item *item; 5437 Elm_Widget_Item *item;
5054 label = data; 5438 label = data;
5055 item = func_data; 5439 item = func_data;
5056 item->text_set_func((Elm_Object_Item *)item, label->part, label->text); 5440
5441 if (item->eo_obj)
5442 eo_do(item->eo_obj, elm_wdg_item_part_text_set(label->part, label->text));
5443 else
5444 item->text_set_func((Elm_Object_Item *)item, label->part, label->text);
5445
5057 return EINA_TRUE; 5446 return EINA_TRUE;
5058} 5447}
5059 5448
5060EAPI void 5449EAPI void
5061_elm_widget_item_part_text_custom_update(Elm_Widget_Item *item) 5450elm_widget_item_internal_part_text_custom_update(Elm_Widget_Item *item)
5062{ 5451{
5063 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5452 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
5064 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5453 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
5065 if (item->labels) 5454 if (item->labels)
5066 eina_hash_foreach(item->labels, 5455 eina_hash_foreach(item->labels,
5067 _elm_widget_item_part_text_custom_foreach, item); 5456 elm_widget_item_internal_part_text_custom_foreach, item);
5457}
5458
5459EOLIAN static void
5460_elm_widget_item_part_text_custom_update(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5461{
5462 elm_widget_item_internal_part_text_custom_update(item);
5068} 5463}
5069 5464
5070EAPI void 5465EAPI void
5071_elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, 5466elm_widget_item_internal_content_set_hook_set(Elm_Widget_Item *item,
5072 Elm_Widget_Content_Set_Cb func) 5467 Elm_Widget_Content_Set_Cb func)
5073{ 5468{
5074 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5469 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5078,7 +5473,7 @@ _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item,
5078} 5473}
5079 5474
5080EAPI void 5475EAPI void
5081_elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, 5476elm_widget_item_internal_content_get_hook_set(Elm_Widget_Item *item,
5082 Elm_Widget_Content_Get_Cb func) 5477 Elm_Widget_Content_Get_Cb func)
5083{ 5478{
5084 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5479 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5088,7 +5483,7 @@ _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item,
5088} 5483}
5089 5484
5090EAPI void 5485EAPI void
5091_elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item, 5486elm_widget_item_internal_content_unset_hook_set(Elm_Widget_Item *item,
5092 Elm_Widget_Content_Unset_Cb func) 5487 Elm_Widget_Content_Unset_Cb func)
5093{ 5488{
5094 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5489 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5098,7 +5493,7 @@ _elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item,
5098} 5493}
5099 5494
5100EAPI void 5495EAPI void
5101_elm_widget_item_text_set_hook_set(Elm_Widget_Item *item, 5496elm_widget_item_internal_text_set_hook_set(Elm_Widget_Item *item,
5102 Elm_Widget_Text_Set_Cb func) 5497 Elm_Widget_Text_Set_Cb func)
5103{ 5498{
5104 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5499 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5108,7 +5503,7 @@ _elm_widget_item_text_set_hook_set(Elm_Widget_Item *item,
5108} 5503}
5109 5504
5110EAPI void 5505EAPI void
5111_elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, 5506elm_widget_item_internal_text_get_hook_set(Elm_Widget_Item *item,
5112 Elm_Widget_Text_Get_Cb func) 5507 Elm_Widget_Text_Get_Cb func)
5113{ 5508{
5114 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5509 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5118,7 +5513,7 @@ _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item,
5118} 5513}
5119 5514
5120EAPI void 5515EAPI void
5121_elm_widget_item_signal_emit(Elm_Widget_Item *item, 5516elm_widget_item_internal_signal_emit(Elm_Widget_Item *item,
5122 const char *emission, 5517 const char *emission,
5123 const char *source) 5518 const char *source)
5124{ 5519{
@@ -5129,8 +5524,17 @@ _elm_widget_item_signal_emit(Elm_Widget_Item *item,
5129 item->signal_emit_func((Elm_Object_Item *)item, emission, source); 5524 item->signal_emit_func((Elm_Object_Item *)item, emission, source);
5130} 5525}
5131 5526
5527EOLIAN static void
5528_elm_widget_item_signal_emit(Eo *obj EINA_UNUSED,
5529 Elm_Widget_Item_Data *item EINA_UNUSED,
5530 const char *emission EINA_UNUSED,
5531 const char *source EINA_UNUSED)
5532{
5533
5534}
5535
5132EAPI void 5536EAPI void
5133_elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item, 5537elm_widget_item_internal_signal_emit_hook_set(Elm_Widget_Item *item,
5134 Elm_Widget_Signal_Emit_Cb func) 5538 Elm_Widget_Signal_Emit_Cb func)
5135{ 5539{
5136 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5540 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5140,7 +5544,7 @@ _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item,
5140} 5544}
5141 5545
5142EAPI void 5546EAPI void
5143_elm_widget_item_signal_callback_add(Elm_Widget_Item *item, 5547elm_widget_item_internal_signal_callback_add(Elm_Widget_Item *item,
5144 const char *emission, 5548 const char *emission,
5145 const char *source, 5549 const char *source,
5146 Elm_Widget_Item_Signal_Cb func, 5550 Elm_Widget_Item_Signal_Cb func,
@@ -5162,9 +5566,9 @@ _elm_widget_item_signal_callback_add(Elm_Widget_Item *item,
5162 wisd->source = eina_stringshare_add(source); 5566 wisd->source = eina_stringshare_add(source);
5163 5567
5164 if (_elm_widget_is(item->view)) 5568 if (_elm_widget_is(item->view))
5165 elm_object_signal_callback_add(item->view, emission, source, _elm_widget_item_signal_cb, wisd); 5569 elm_object_signal_callback_add(item->view, emission, source, elm_widget_item_internal_signal_cb, wisd);
5166 else if (!strcmp(eo_class_name_get(eo_class_get(item->view)), "edje")) 5570 else if (!strcmp(eo_class_name_get(eo_class_get(item->view)), "edje"))
5167 edje_object_signal_callback_add(item->view, emission, source, _elm_widget_item_signal_cb, wisd); 5571 edje_object_signal_callback_add(item->view, emission, source, elm_widget_item_internal_signal_cb, wisd);
5168 else 5572 else
5169 { 5573 {
5170 WRN("The %s widget item doesn't support signal callback add!", 5574 WRN("The %s widget item doesn't support signal callback add!",
@@ -5176,8 +5580,19 @@ _elm_widget_item_signal_callback_add(Elm_Widget_Item *item,
5176 item->signals = eina_list_append(item->signals, wisd); 5580 item->signals = eina_list_append(item->signals, wisd);
5177} 5581}
5178 5582
5583EOLIAN static void
5584_elm_widget_item_signal_callback_add(Eo *obj EINA_UNUSED,
5585 Elm_Widget_Item_Data *item,
5586 const char *emission,
5587 const char *source,
5588 Elm_Object_Item_Signal_Cb func,
5589 void *data)
5590{
5591 elm_widget_item_internal_signal_callback_add(item, emission, source,(Elm_Widget_Item_Signal_Cb)func, data);
5592}
5593
5179EAPI void * 5594EAPI void *
5180_elm_widget_item_signal_callback_del(Elm_Widget_Item *item, 5595elm_widget_item_internal_signal_callback_del(Elm_Widget_Item *item,
5181 const char *emission, 5596 const char *emission,
5182 const char *source, 5597 const char *source,
5183 Elm_Widget_Item_Signal_Cb func) 5598 Elm_Widget_Item_Signal_Cb func)
@@ -5194,14 +5609,24 @@ _elm_widget_item_signal_callback_del(Elm_Widget_Item *item,
5194 if ((wisd->func == func) && 5609 if ((wisd->func == func) &&
5195 !strcmp(wisd->emission, emission) && 5610 !strcmp(wisd->emission, emission) &&
5196 !strcmp(wisd->source, source)) 5611 !strcmp(wisd->source, source))
5197 return _elm_widget_item_signal_callback_list_get(item, l); 5612 return elm_widget_item_internal_signal_callback_list_get(item, l);
5198 } 5613 }
5199 5614
5200 return NULL; 5615 return NULL;
5201} 5616}
5202 5617
5618EOLIAN static void *
5619_elm_widget_item_signal_callback_del(Eo *obj EINA_UNUSED,
5620 Elm_Widget_Item_Data *item,
5621 const char *emission,
5622 const char *source,
5623 Elm_Object_Item_Signal_Cb func)
5624{
5625 return elm_widget_item_internal_signal_callback_del(item, emission, source, (Elm_Widget_Item_Signal_Cb)func);
5626}
5627
5203EAPI void 5628EAPI void
5204_elm_widget_item_access_info_set(Elm_Widget_Item *item, 5629elm_widget_item_internal_access_info_set(Elm_Widget_Item *item,
5205 const char *txt) 5630 const char *txt)
5206{ 5631{
5207 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5632 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
@@ -5212,8 +5637,16 @@ _elm_widget_item_access_info_set(Elm_Widget_Item *item,
5212 else item->access_info = eina_stringshare_add(txt); 5637 else item->access_info = eina_stringshare_add(txt);
5213} 5638}
5214 5639
5640EOLIAN static void
5641_elm_widget_item_access_info_set(Eo *obj EINA_UNUSED,
5642 Elm_Widget_Item_Data *item,
5643 const char *txt)
5644{
5645 elm_widget_item_internal_access_info_set(item, txt);
5646}
5647
5215EAPI void 5648EAPI void
5216_elm_widget_item_translate(Elm_Widget_Item *item) 5649elm_widget_item_internal_translate(Elm_Widget_Item *item)
5217{ 5650{
5218 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item); 5651 ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
5219 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item); 5652 ELM_WIDGET_ITEM_RETURN_IF_ONDEL(item);
@@ -5225,12 +5658,60 @@ _elm_widget_item_translate(Elm_Widget_Item *item)
5225 if (!ts->string) continue; 5658 if (!ts->string) continue;
5226 const char *s = dgettext(ts->domain, ts->string); 5659 const char *s = dgettext(ts->domain, ts->string);
5227 item->on_translate = EINA_TRUE; 5660 item->on_translate = EINA_TRUE;
5228 _elm_widget_item_part_text_set(item, ts->id, s); 5661 if (item->eo_obj)
5662 eo_do(item->eo_obj, elm_wdg_item_part_text_set(ts->id, s));
5663 else
5664 elm_widget_item_internal_part_text_set(item, ts->id, s);
5229 item->on_translate = EINA_FALSE; 5665 item->on_translate = EINA_FALSE;
5230 } 5666 }
5231#endif 5667#endif
5232} 5668}
5233 5669
5670EOLIAN static void
5671_elm_widget_item_translate(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5672{
5673 elm_widget_item_internal_translate(item);
5674}
5675
5676EOLIAN static void
5677_elm_widget_item_access_order_set(Eo *obj EINA_UNUSED,
5678 Elm_Widget_Item_Data *item,
5679 Eina_List *objs)
5680{
5681 _elm_access_widget_item_access_order_set(item, objs);
5682}
5683
5684EOLIAN static const Eina_List *
5685_elm_widget_item_access_order_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5686{
5687 return _elm_access_widget_item_access_order_get(item);
5688}
5689
5690EOLIAN static void
5691_elm_widget_item_access_order_unset(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5692{
5693 _elm_access_widget_item_access_order_unset(item);
5694}
5695
5696EOLIAN static Evas_Object*
5697_elm_widget_item_access_register(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5698{
5699 _elm_access_widget_item_register(item);
5700 return item->access_obj;
5701}
5702
5703EOLIAN static void
5704_elm_widget_item_access_unregister(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5705{
5706 _elm_access_widget_item_unregister(item);
5707}
5708
5709EOLIAN static Evas_Object*
5710_elm_widget_item_access_object_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *item)
5711{
5712 return item->access_obj;
5713}
5714
5234/* happy debug functions */ 5715/* happy debug functions */
5235#ifdef ELM_DEBUG 5716#ifdef ELM_DEBUG
5236static void 5717static void
@@ -5417,4 +5898,5 @@ _elm_widget_class_constructor(Eo_Class *klass)
5417 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass); 5898 evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
5418} 5899}
5419 5900
5901#include "elm_widget_item.eo.c"
5420#include "elm_widget.eo.c" 5902#include "elm_widget.eo.c"
diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h
index 1fe5ab4bf..8fbcd89d6 100644
--- a/src/lib/elm_widget.h
+++ b/src/lib/elm_widget.h
@@ -605,6 +605,9 @@ struct _Elm_Widget_Item
605 Eina_Bool disabled : 1; 605 Eina_Bool disabled : 1;
606 Eina_Bool on_deletion : 1; 606 Eina_Bool on_deletion : 1;
607 Eina_Bool on_translate : 1; 607 Eina_Bool on_translate : 1;
608
609 // Just for Eo migration purposes, will be removed
610 Eo *eo_obj;
608}; 611};
609 612
610struct _Elm_Object_Item 613struct _Elm_Object_Item
@@ -758,70 +761,70 @@ EAPI Elm_Object_Item *elm_widget_focused_item_get(const Evas_Object *obj);
758EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled); 761EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
759EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj); 762EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj);
760EAPI void elm_widget_focus_highlight_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); 763EAPI void elm_widget_focus_highlight_geometry_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
761EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size); 764EAPI Elm_Widget_Item *elm_widget_item_internal_new(Evas_Object *parent, size_t alloc_size);
762EAPI void _elm_widget_item_free(Elm_Widget_Item *item); 765EAPI void elm_widget_item_internal_free(Elm_Widget_Item *item);
763EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item); 766EAPI Evas_Object *elm_widget_item_internal_widget_get(const Elm_Widget_Item *item);
764EAPI void _elm_widget_item_del(Elm_Widget_Item *item); 767EAPI void elm_widget_item_internal_del(Elm_Widget_Item *item);
765EAPI void _elm_widget_item_pre_notify_del(Elm_Widget_Item *item); 768EAPI void elm_widget_item_internal_pre_notify_del(Elm_Widget_Item *item);
766EAPI void _elm_widget_item_del_cb_set(Elm_Widget_Item *item, Evas_Smart_Cb del_cb); 769EAPI void elm_widget_item_internal_del_cb_set(Elm_Widget_Item *item, Evas_Smart_Cb del_cb);
767EAPI void _elm_widget_item_data_set(Elm_Widget_Item *item, const void *data); 770EAPI void elm_widget_item_internal_data_set(Elm_Widget_Item *item, const void *data);
768EAPI void *_elm_widget_item_data_get(const Elm_Widget_Item *item); 771EAPI void *elm_widget_item_internal_data_get(const Elm_Widget_Item *item);
769EAPI void _elm_widget_item_tooltip_text_set(Elm_Widget_Item *item, const char *text); 772EAPI void elm_widget_item_internal_tooltip_text_set(Elm_Widget_Item *item, const char *text);
770EAPI void _elm_widget_item_tooltip_translatable_text_set(Elm_Widget_Item *item, const char *text); 773EAPI void elm_widget_item_internal_tooltip_translatable_text_set(Elm_Widget_Item *item, const char *text);
771EAPI 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); 774EAPI void elm_widget_item_internal_tooltip_content_cb_set(Elm_Widget_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
772EAPI void _elm_widget_item_tooltip_unset(Elm_Widget_Item *item); 775EAPI void elm_widget_item_internal_tooltip_unset(Elm_Widget_Item *item);
773EAPI void _elm_widget_item_tooltip_style_set(Elm_Widget_Item *item, const char *style); 776EAPI void elm_widget_item_internal_tooltip_style_set(Elm_Widget_Item *item, const char *style);
774EAPI Eina_Bool _elm_widget_item_tooltip_window_mode_set(Elm_Widget_Item *item, Eina_Bool disable); 777EAPI Eina_Bool elm_widget_item_internal_tooltip_window_mode_set(Elm_Widget_Item *item, Eina_Bool disable);
775EAPI Eina_Bool _elm_widget_item_tooltip_window_mode_get(const Elm_Widget_Item *item); 778EAPI Eina_Bool elm_widget_item_internal_tooltip_window_mode_get(const Elm_Widget_Item *item);
776EAPI const char *_elm_widget_item_tooltip_style_get(const Elm_Widget_Item *item); 779EAPI const char *elm_widget_item_internal_tooltip_style_get(const Elm_Widget_Item *item);
777EAPI void _elm_widget_item_cursor_set(Elm_Widget_Item *item, const char *cursor); 780EAPI void elm_widget_item_internal_cursor_set(Elm_Widget_Item *item, const char *cursor);
778EAPI const char *_elm_widget_item_cursor_get(const Elm_Widget_Item *item); 781EAPI const char *elm_widget_item_internal_cursor_get(const Elm_Widget_Item *item);
779EAPI void _elm_widget_item_cursor_unset(Elm_Widget_Item *item); 782EAPI void elm_widget_item_internal_cursor_unset(Elm_Widget_Item *item);
780EAPI void _elm_widget_item_cursor_style_set(Elm_Widget_Item *item, const char *style); 783EAPI void elm_widget_item_internal_cursor_style_set(Elm_Widget_Item *item, const char *style);
781EAPI const char *_elm_widget_item_cursor_style_get(const Elm_Widget_Item *item); 784EAPI const char *elm_widget_item_internal_cursor_style_get(const Elm_Widget_Item *item);
782EAPI void _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, Eina_Bool engine_only); 785EAPI void elm_widget_item_internal_cursor_engine_only_set(Elm_Widget_Item *item, Eina_Bool engine_only);
783EAPI Eina_Bool _elm_widget_item_cursor_engine_only_get(const Elm_Widget_Item *item); 786EAPI Eina_Bool elm_widget_item_internal_cursor_engine_only_get(const Elm_Widget_Item *item);
784EAPI void _elm_widget_item_part_content_set(Elm_Widget_Item *item, const char *part, Evas_Object *content); 787EAPI void elm_widget_item_internal_part_content_set(Elm_Widget_Item *item, const char *part, Evas_Object *content);
785EAPI Evas_Object *_elm_widget_item_part_content_get(const Elm_Widget_Item *item, const char *part); 788EAPI Evas_Object *elm_widget_item_internal_part_content_get(const Elm_Widget_Item *item, const char *part);
786EAPI Evas_Object *_elm_widget_item_part_content_unset(Elm_Widget_Item *item, const char *part); 789EAPI Evas_Object *elm_widget_item_internal_part_content_unset(Elm_Widget_Item *item, const char *part);
787EAPI void _elm_widget_item_part_text_set(Elm_Widget_Item *item, const char *part, const char *label); 790EAPI void elm_widget_item_internal_part_text_set(Elm_Widget_Item *item, const char *part, const char *label);
788EAPI const char *_elm_widget_item_part_text_get(const Elm_Widget_Item *item, const char *part); 791EAPI const char *elm_widget_item_internal_part_text_get(const Elm_Widget_Item *item, const char *part);
789EAPI void _elm_widget_item_part_text_custom_set(Elm_Widget_Item *item, const char *part, const char *label); 792EAPI void elm_widget_item_internal_part_text_custom_set(Elm_Widget_Item *item, const char *part, const char *label);
790EAPI const char *_elm_widget_item_part_text_custom_get(Elm_Widget_Item *item, const char *part); 793EAPI const char *elm_widget_item_internal_part_text_custom_get(Elm_Widget_Item *item, const char *part);
791EAPI void _elm_widget_item_part_text_custom_update(Elm_Widget_Item *item); 794EAPI void elm_widget_item_internal_part_text_custom_update(Elm_Widget_Item *item);
792EAPI void _elm_widget_item_focus_set(Elm_Widget_Item *item, Eina_Bool focused); 795EAPI void elm_widget_item_internal_focus_set(Elm_Widget_Item *item, Eina_Bool focused);
793EAPI Eina_Bool _elm_widget_item_focus_get(const Elm_Widget_Item *item); 796EAPI Eina_Bool elm_widget_item_internal_focus_get(const Elm_Widget_Item *item);
794EAPI void _elm_widget_item_style_set(Elm_Widget_Item *item, const char *style); 797EAPI void elm_widget_item_internal_style_set(Elm_Widget_Item *item, const char *style);
795EAPI const char *_elm_widget_item_style_get(Elm_Widget_Item *item); 798EAPI const char *elm_widget_item_internal_style_get(Elm_Widget_Item *item);
796 799
797EAPI 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); 800EAPI void elm_widget_item_internal_signal_callback_add(Elm_Widget_Item *item, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func, void *data);
798EAPI void *_elm_widget_item_signal_callback_del(Elm_Widget_Item *it, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func); 801EAPI void *elm_widget_item_internal_signal_callback_del(Elm_Widget_Item *it, const char *emission, const char *source, Elm_Widget_Item_Signal_Cb func);
799EAPI void _elm_widget_item_signal_emit(Elm_Widget_Item *item, const char *emission, const char *source); 802EAPI void elm_widget_item_internal_signal_emit(Elm_Widget_Item *item, const char *emission, const char *source);
800EAPI void _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Set_Cb func); 803EAPI void elm_widget_item_internal_content_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Set_Cb func);
801EAPI void _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Get_Cb func); 804EAPI void elm_widget_item_internal_content_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Get_Cb func);
802EAPI void _elm_widget_item_content_unset_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Unset_Cb func); 805EAPI void elm_widget_item_internal_content_unset_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Unset_Cb func);
803EAPI void _elm_widget_item_text_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Set_Cb func); 806EAPI void elm_widget_item_internal_text_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Set_Cb func);
804EAPI void _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Get_Cb func); 807EAPI void elm_widget_item_internal_text_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Text_Get_Cb func);
805EAPI void _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *it, Elm_Widget_Signal_Emit_Cb func); 808EAPI void elm_widget_item_internal_signal_emit_hook_set(Elm_Widget_Item *it, Elm_Widget_Signal_Emit_Cb func);
806EAPI void _elm_widget_item_access_info_set(Elm_Widget_Item *item, const char *txt); 809EAPI void elm_widget_item_internal_access_info_set(Elm_Widget_Item *item, const char *txt);
807EAPI void _elm_widget_item_disabled_set(Elm_Widget_Item *item, Eina_Bool disabled); 810EAPI void elm_widget_item_internal_disabled_set(Elm_Widget_Item *item, Eina_Bool disabled);
808EAPI Eina_Bool _elm_widget_item_disabled_get(const Elm_Widget_Item *item); 811EAPI Eina_Bool elm_widget_item_internal_disabled_get(const Elm_Widget_Item *item);
809EAPI void _elm_widget_item_disable_hook_set(Elm_Widget_Item *item, Elm_Widget_Disable_Cb func); 812EAPI void elm_widget_item_internal_disable_hook_set(Elm_Widget_Item *item, Elm_Widget_Disable_Cb func);
810EAPI void _elm_widget_item_del_pre_hook_set(Elm_Widget_Item *item, Elm_Widget_Del_Pre_Cb func); 813EAPI void elm_widget_item_internal_del_pre_hook_set(Elm_Widget_Item *item, Elm_Widget_Del_Pre_Cb func);
811EAPI void _elm_widget_item_style_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Set_Cb func); 814EAPI void elm_widget_item_internal_style_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Set_Cb func);
812EAPI void _elm_widget_item_style_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Get_Cb func); 815EAPI void elm_widget_item_internal_style_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Style_Get_Cb func);
813EAPI void _elm_widget_item_focus_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Get_Cb func); 816EAPI void elm_widget_item_internal_focus_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Get_Cb func);
814EAPI void _elm_widget_item_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func); 817EAPI void elm_widget_item_internal_focus_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Focus_Set_Cb func);
815EAPI void _elm_widget_item_domain_translatable_part_text_set(Elm_Widget_Item *item, const char *part, const char *domain, const char *label); 818EAPI void elm_widget_item_internal_domain_translatable_part_text_set(Elm_Widget_Item *item, const char *part, const char *domain, const char *label);
816EAPI const char * _elm_widget_item_translatable_part_text_get(const Elm_Widget_Item *item, const char *part); 819EAPI const char * elm_widget_item_internal_translatable_part_text_get(const Elm_Widget_Item *item, const char *part);
817EAPI void _elm_widget_item_translate(Elm_Widget_Item *item); 820EAPI void elm_widget_item_internal_translate(Elm_Widget_Item *item);
818EAPI void _elm_widget_item_domain_part_text_translatable_set(Elm_Widget_Item *item, const char *part, const char *domain, Eina_Bool translatable); 821EAPI void elm_widget_item_internal_domain_part_text_translatable_set(Elm_Widget_Item *item, const char *part, const char *domain, Eina_Bool translatable);
819 822
820EAPI Evas_Object *elm_widget_item_track(Elm_Widget_Item *item); 823EAPI Evas_Object *elm_widget_item_track(Elm_Widget_Item *item);
821EAPI void elm_widget_item_untrack(Elm_Widget_Item *item); 824EAPI void elm_widget_item_untrack(Elm_Widget_Item *item);
822EAPI int elm_widget_item_track_get(const Elm_Widget_Item *item); 825EAPI int elm_widget_item_track_get(const Elm_Widget_Item *item);
823EAPI void _elm_widget_item_track_cancel(Elm_Widget_Item *item); 826EAPI void elm_widget_item_internal_track_cancel(Elm_Widget_Item *item);
824void _elm_widget_item_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it); 827void elm_widget_item_internal_highlight_in_theme(Evas_Object *obj, Elm_Object_Item *it);
825 828
826/** 829/**
827 * Function to operate on a given widget's scrollabe children when necessary. 830 * Function to operate on a given widget's scrollabe children when necessary.
@@ -849,287 +852,287 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
849 852
850/** 853/**
851 * Convenience macro to create new widget item, doing casts for you. 854 * Convenience macro to create new widget item, doing casts for you.
852 * @see _elm_widget_item_new() 855 * @see elm_widget_item_internal_new()
853 * @param parent a valid elm_widget variant. 856 * @param parent a valid elm_widget variant.
854 * @param type the C type that extends Elm_Widget_Item 857 * @param type the C type that extends Elm_Widget_Item
855 */ 858 */
856#define elm_widget_item_new(parent, type) \ 859#define elm_widget_item_new(parent, type) \
857 (type *)_elm_widget_item_new((parent), sizeof(type)) 860 (type *)elm_widget_item_internal_new((parent), sizeof(type))
858/** 861/**
859 * Convenience macro to free widget item, doing casts for you. 862 * Convenience macro to free widget item, doing casts for you.
860 * @see _elm_widget_item_free() 863 * @see elm_widget_item_internal_free()
861 * @param item a valid item. 864 * @param item a valid item.
862 */ 865 */
863#define elm_widget_item_free(item) \ 866#define elm_widget_item_free(item) \
864 _elm_widget_item_free((Elm_Widget_Item *)item) 867 elm_widget_item_internal_free((Elm_Widget_Item *)item)
865 868
866/** 869/**
867 * Convenience macro to delete widget item, doing casts for you. 870 * Convenience macro to delete widget item, doing casts for you.
868 * @see _elm_widget_item_del() 871 * @see elm_widget_item_internal_del()
869 * @param item a valid item. 872 * @param item a valid item.
870 */ 873 */
871#define elm_widget_item_del(item) \ 874#define elm_widget_item_del(item) \
872 _elm_widget_item_del((Elm_Widget_Item *)item) 875 elm_widget_item_internal_del((Elm_Widget_Item *)item)
873/** 876/**
874 * Convenience macro to notify deletion of widget item, doing casts for you. 877 * Convenience macro to notify deletion of widget item, doing casts for you.
875 * @see _elm_widget_item_pre_notify_del() 878 * @see elm_widget_item_internal_pre_notify_del()
876 */ 879 */
877#define elm_widget_item_pre_notify_del(item) \ 880#define elm_widget_item_pre_notify_del(item) \
878 _elm_widget_item_pre_notify_del((Elm_Widget_Item *)item) 881 elm_widget_item_internal_pre_notify_del((Elm_Widget_Item *)item)
879/** 882/**
880 * Convenience macro to set deletion callback of widget item, doing casts for you. 883 * Convenience macro to set deletion callback of widget item, doing casts for you.
881 * @see _elm_widget_item_del_cb_set() 884 * @see elm_widget_item_internal_del_cb_set()
882 */ 885 */
883#define elm_widget_item_del_cb_set(item, del_cb) \ 886#define elm_widget_item_del_cb_set(item, del_cb) \
884 _elm_widget_item_del_cb_set((Elm_Widget_Item *)item, del_cb) 887 elm_widget_item_internal_del_cb_set((Elm_Widget_Item *)item, del_cb)
885 888
886/** 889/**
887 * Get item's owner widget 890 * Get item's owner widget
888 * @see _elm_widget_item_widget_get() 891 * @see elm_widget_item_internal_widget_get()
889 */ 892 */
890#define elm_widget_item_widget_get(item) \ 893#define elm_widget_item_widget_get(item) \
891 _elm_widget_item_widget_get((const Elm_Widget_Item *)item) 894 elm_widget_item_internal_widget_get((const Elm_Widget_Item *)item)
892 895
893/** 896/**
894 * Set item's data 897 * Set item's data
895 * @see _elm_widget_item_data_set() 898 * @see elm_widget_item_internal_data_set()
896 */ 899 */
897#define elm_widget_item_data_set(item, data) \ 900#define elm_widget_item_data_set(item, data) \
898 _elm_widget_item_data_set((Elm_Widget_Item *)item, data) 901 elm_widget_item_internal_data_set((Elm_Widget_Item *)item, data)
899/** 902/**
900 * Get item's data 903 * Get item's data
901 * @see _elm_widget_item_data_get() 904 * @see elm_widget_item_internal_data_get()
902 */ 905 */
903#define elm_widget_item_data_get(item) \ 906#define elm_widget_item_data_get(item) \
904 _elm_widget_item_data_get((const Elm_Widget_Item *)item) 907 elm_widget_item_internal_data_get((const Elm_Widget_Item *)item)
905 908
906/** 909/**
907 * Convenience function to set widget item tooltip as a text string. 910 * Convenience function to set widget item tooltip as a text string.
908 * @see _elm_widget_item_tooltip_text_set() 911 * @see elm_widget_item_internal_tooltip_text_set()
909 */ 912 */
910#define elm_widget_item_tooltip_text_set(item, text) \ 913#define elm_widget_item_tooltip_text_set(item, text) \
911 _elm_widget_item_tooltip_text_set((Elm_Widget_Item *)item, text) 914 elm_widget_item_internal_tooltip_text_set((Elm_Widget_Item *)item, text)
912/** 915/**
913 * Convenience function to set widget item tooltip as a text string. 916 * Convenience function to set widget item tooltip as a text string.
914 * @see _elm_widget_item_tooltip_text_set() 917 * @see elm_widget_item_internal_tooltip_text_set()
915 */ 918 */
916#define elm_widget_item_tooltip_translatable_text_set(item, text) \ 919#define elm_widget_item_tooltip_translatable_text_set(item, text) \
917 _elm_widget_item_tooltip_translatable_text_set((Elm_Widget_Item *)item, text) 920 elm_widget_item_internal_tooltip_translatable_text_set((Elm_Widget_Item *)item, text)
918/** 921/**
919 * Convenience function to set widget item tooltip. 922 * Convenience function to set widget item tooltip.
920 * @see _elm_widget_item_tooltip_content_cb_set() 923 * @see elm_widget_item_internal_tooltip_content_cb_set()
921 */ 924 */
922#define elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb) \ 925#define elm_widget_item_tooltip_content_cb_set(item, func, data, del_cb) \
923 _elm_widget_item_tooltip_content_cb_set((Elm_Widget_Item *)item, \ 926 elm_widget_item_internal_tooltip_content_cb_set((Elm_Widget_Item *)item, \
924 func, data, del_cb) 927 func, data, del_cb)
925/** 928/**
926 * Convenience function to unset widget item tooltip. 929 * Convenience function to unset widget item tooltip.
927 * @see _elm_widget_item_tooltip_unset() 930 * @see elm_widget_item_internal_tooltip_unset()
928 */ 931 */
929#define elm_widget_item_tooltip_unset(item) \ 932#define elm_widget_item_tooltip_unset(item) \
930 _elm_widget_item_tooltip_unset((Elm_Widget_Item *)item) 933 elm_widget_item_internal_tooltip_unset((Elm_Widget_Item *)item)
931/** 934/**
932 * Convenience function to change item's tooltip style. 935 * Convenience function to change item's tooltip style.
933 * @see _elm_widget_item_tooltip_style_set() 936 * @see elm_widget_item_internal_tooltip_style_set()
934 */ 937 */
935#define elm_widget_item_tooltip_style_set(item, style) \ 938#define elm_widget_item_tooltip_style_set(item, style) \
936 _elm_widget_item_tooltip_style_set((Elm_Widget_Item *)item, style) 939 elm_widget_item_internal_tooltip_style_set((Elm_Widget_Item *)item, style)
937 940
938#define elm_widget_item_tooltip_window_mode_set(item, disable) \ 941#define elm_widget_item_tooltip_window_mode_set(item, disable) \
939 _elm_widget_item_tooltip_window_mode_set((Elm_Widget_Item *)item, disable) 942 elm_widget_item_internal_tooltip_window_mode_set((Elm_Widget_Item *)item, disable)
940 943
941#define elm_widget_item_tooltip_window_mode_get(item) \ 944#define elm_widget_item_tooltip_window_mode_get(item) \
942 _elm_widget_item_tooltip_window_mode_get((Elm_Widget_Item *)item) 945 elm_widget_item_internal_tooltip_window_mode_get((Elm_Widget_Item *)item)
943/** 946/**
944 * Convenience function to query item's tooltip style. 947 * Convenience function to query item's tooltip style.
945 * @see _elm_widget_item_tooltip_style_get() 948 * @see elm_widget_item_internal_tooltip_style_get()
946 */ 949 */
947#define elm_widget_item_tooltip_style_get(item) \ 950#define elm_widget_item_tooltip_style_get(item) \
948 _elm_widget_item_tooltip_style_get((const Elm_Widget_Item *)item) 951 elm_widget_item_internal_tooltip_style_get((const Elm_Widget_Item *)item)
949/** 952/**
950 * Convenience function to set widget item cursor. 953 * Convenience function to set widget item cursor.
951 * @see _elm_widget_item_cursor_set() 954 * @see elm_widget_item_internal_cursor_set()
952 */ 955 */
953#define elm_widget_item_cursor_set(item, cursor) \ 956#define elm_widget_item_cursor_set(item, cursor) \
954 _elm_widget_item_cursor_set((Elm_Widget_Item *)item, cursor) 957 elm_widget_item_internal_cursor_set((Elm_Widget_Item *)item, cursor)
955/** 958/**
956 * Convenience function to get widget item cursor. 959 * Convenience function to get widget item cursor.
957 * @see _elm_widget_item_cursor_get() 960 * @see elm_widget_item_internal_cursor_get()
958 */ 961 */
959#define elm_widget_item_cursor_get(item) \ 962#define elm_widget_item_cursor_get(item) \
960 _elm_widget_item_cursor_get((const Elm_Widget_Item *)item) 963 elm_widget_item_internal_cursor_get((const Elm_Widget_Item *)item)
961/** 964/**
962 * Convenience function to unset widget item cursor. 965 * Convenience function to unset widget item cursor.
963 * @see _elm_widget_item_cursor_unset() 966 * @see elm_widget_item_internal_cursor_unset()
964 */ 967 */
965#define elm_widget_item_cursor_unset(item) \ 968#define elm_widget_item_cursor_unset(item) \
966 _elm_widget_item_cursor_unset((Elm_Widget_Item *)item) 969 elm_widget_item_internal_cursor_unset((Elm_Widget_Item *)item)
967/** 970/**
968 * Convenience function to change item's cursor style. 971 * Convenience function to change item's cursor style.
969 * @see _elm_widget_item_cursor_style_set() 972 * @see elm_widget_item_internal_cursor_style_set()
970 */ 973 */
971#define elm_widget_item_cursor_style_set(item, style) \ 974#define elm_widget_item_cursor_style_set(item, style) \
972 _elm_widget_item_cursor_style_set((Elm_Widget_Item *)item, style) 975 elm_widget_item_internal_cursor_style_set((Elm_Widget_Item *)item, style)
973/** 976/**
974 * Convenience function to query item's cursor style. 977 * Convenience function to query item's cursor style.
975 * @see _elm_widget_item_cursor_style_get() 978 * @see elm_widget_item_internal_cursor_style_get()
976 */ 979 */
977#define elm_widget_item_cursor_style_get(item) \ 980#define elm_widget_item_cursor_style_get(item) \
978 _elm_widget_item_cursor_style_get((const Elm_Widget_Item *)item) 981 elm_widget_item_internal_cursor_style_get((const Elm_Widget_Item *)item)
979/** 982/**
980 * Convenience function to change item's cursor engine_only. 983 * Convenience function to change item's cursor engine_only.
981 * @see _elm_widget_item_cursor_engine_only_set() 984 * @see elm_widget_item_internal_cursor_engine_only_set()
982 */ 985 */
983#define elm_widget_item_cursor_engine_only_set(item, engine_only) \ 986#define elm_widget_item_cursor_engine_only_set(item, engine_only) \
984 _elm_widget_item_cursor_engine_only_set((Elm_Widget_Item *)item, engine_only) 987 elm_widget_item_internal_cursor_engine_only_set((Elm_Widget_Item *)item, engine_only)
985/** 988/**
986 * Convenience function to query item's cursor engine_only. 989 * Convenience function to query item's cursor engine_only.
987 * @see _elm_widget_item_cursor_engine_only_get() 990 * @see elm_widget_item_internal_cursor_engine_only_get()
988 */ 991 */
989#define elm_widget_item_cursor_engine_only_get(item) \ 992#define elm_widget_item_cursor_engine_only_get(item) \
990 _elm_widget_item_cursor_engine_only_get((const Elm_Widget_Item *)item) 993 elm_widget_item_internal_cursor_engine_only_get((const Elm_Widget_Item *)item)
991/** 994/**
992 * Convenience function to query item's content set hook. 995 * Convenience function to query item's content set hook.
993 * @see _elm_widget_item_content_set_hook_set() 996 * @see elm_widget_item_internal_content_set_hook_set()
994 */ 997 */
995#define elm_widget_item_content_set_hook_set(item, func) \ 998#define elm_widget_item_content_set_hook_set(item, func) \
996 _elm_widget_item_content_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Set_Cb)func) 999 elm_widget_item_internal_content_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Set_Cb)func)
997/** 1000/**
998 * Convenience function to query item's content get hook. 1001 * Convenience function to query item's content get hook.
999 * @see _elm_widget_item_content_get_hook_set() 1002 * @see elm_widget_item_internal_content_get_hook_set()
1000 */ 1003 */
1001#define elm_widget_item_content_get_hook_set(item, func) \ 1004#define elm_widget_item_content_get_hook_set(item, func) \
1002 _elm_widget_item_content_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Get_Cb)func) 1005 elm_widget_item_internal_content_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Get_Cb)func)
1003/** 1006/**
1004 * Convenience function to query item's content unset hook. 1007 * Convenience function to query item's content unset hook.
1005 * @see _elm_widget_item_content_unset_hook_set() 1008 * @see elm_widget_item_internal_content_unset_hook_set()
1006 */ 1009 */
1007#define elm_widget_item_content_unset_hook_set(item, func) \ 1010#define elm_widget_item_content_unset_hook_set(item, func) \
1008 _elm_widget_item_content_unset_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Unset_Cb)func) 1011 elm_widget_item_internal_content_unset_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Content_Unset_Cb)func)
1009/** 1012/**
1010 * Convenience function to query item's text set hook. 1013 * Convenience function to query item's text set hook.
1011 * @see _elm_widget_item_text_set_hook_set() 1014 * @see elm_widget_item_internal_text_set_hook_set()
1012 */ 1015 */
1013#define elm_widget_item_text_set_hook_set(item, func) \ 1016#define elm_widget_item_text_set_hook_set(item, func) \
1014 _elm_widget_item_text_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Set_Cb)func) 1017 elm_widget_item_internal_text_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Set_Cb)func)
1015/** 1018/**
1016 * Convenience function to query item's text get hook. 1019 * Convenience function to query item's text get hook.
1017 * @see _elm_widget_item_text_get_hook_set() 1020 * @see elm_widget_item_internal_text_get_hook_set()
1018 */ 1021 */
1019#define elm_widget_item_text_get_hook_set(item, func) \ 1022#define elm_widget_item_text_get_hook_set(item, func) \
1020 _elm_widget_item_text_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Get_Cb)func) 1023 elm_widget_item_internal_text_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Text_Get_Cb)func)
1021/** 1024/**
1022 * Convenience function to query item's signal emit hook. 1025 * Convenience function to query item's signal emit hook.
1023 * @see _elm_widget_item_signal_emit_hook_set() 1026 * @see elm_widget_item_internal_signal_emit_hook_set()
1024 */ 1027 */
1025#define elm_widget_item_signal_emit_hook_set(item, func) \ 1028#define elm_widget_item_signal_emit_hook_set(item, func) \
1026 _elm_widget_item_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Signal_Emit_Cb)func) 1029 elm_widget_item_internal_signal_emit_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Signal_Emit_Cb)func)
1027/** 1030/**
1028 * Convenience function to query disable get hook. 1031 * Convenience function to query disable get hook.
1029 * @see _elm_widget_item_disabled_get() 1032 * @see elm_widget_item_internal_disabled_get()
1030 */ 1033 */
1031#define elm_widget_item_disabled_get(item) \ 1034#define elm_widget_item_disabled_get(item) \
1032 _elm_widget_item_disabled_get((Elm_Widget_Item *)item) 1035 elm_widget_item_internal_disabled_get((Elm_Widget_Item *)item)
1033/** 1036/**
1034 * Convenience function to query disable set hook. 1037 * Convenience function to query disable set hook.
1035 * @see _elm_widget_item_disable_hook_set() 1038 * @see elm_widget_item_internal_disable_hook_set()
1036 */ 1039 */
1037#define elm_widget_item_disable_hook_set(item, func) \ 1040#define elm_widget_item_disable_hook_set(item, func) \
1038 _elm_widget_item_disable_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Disable_Cb)func) 1041 elm_widget_item_internal_disable_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Disable_Cb)func)
1039/** 1042/**
1040 * Convenience function to query del pre hook. 1043 * Convenience function to query del pre hook.
1041 * @see _elm_widget_item_del_pre_hook_set() 1044 * @see elm_widget_item_internal_del_pre_hook_set()
1042 */ 1045 */
1043#define elm_widget_item_del_pre_hook_set(item, func) \ 1046#define elm_widget_item_del_pre_hook_set(item, func) \
1044 _elm_widget_item_del_pre_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Del_Pre_Cb)func) 1047 elm_widget_item_internal_del_pre_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Del_Pre_Cb)func)
1045/** 1048/**
1046 * Convenience function to query style set hook. 1049 * Convenience function to query style set hook.
1047 * @see _elm_widget_item_style_set_hook_set() 1050 * @see elm_widget_item_internal_style_set_hook_set()
1048 */ 1051 */
1049#define elm_widget_item_style_set_hook_set(item, func) \ 1052#define elm_widget_item_style_set_hook_set(item, func) \
1050 _elm_widget_item_style_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Set_Cb)func) 1053 elm_widget_item_internal_style_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Set_Cb)func)
1051/** 1054/**
1052 * Convenience function to query style get hook. 1055 * Convenience function to query style get hook.
1053 * @see _elm_widget_item_style_get_hook_set() 1056 * @see elm_widget_item_internal_style_get_hook_set()
1054 */ 1057 */
1055#define elm_widget_item_style_get_hook_set(item, func) \ 1058#define elm_widget_item_style_get_hook_set(item, func) \
1056 _elm_widget_item_style_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Get_Cb)func) 1059 elm_widget_item_internal_style_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Style_Get_Cb)func)
1057 1060
1058/** 1061/**
1059 * Convenience function to set style . 1062 * Convenience function to set style .
1060 * @see _elm_widget_item_style_set() 1063 * @see elm_widget_item_internal_style_set()
1061 */ 1064 */
1062#define elm_widget_item_style_set(item, style) \ 1065#define elm_widget_item_style_set(item, style) \
1063 _elm_widget_item_style_set((Elm_Widget_Item *)item, style) 1066 elm_widget_item_internal_style_set((Elm_Widget_Item *)item, style)
1064/** 1067/**
1065 * Convenience function to get style . 1068 * Convenience function to get style .
1066 * @see _elm_widget_item_style_get() 1069 * @see elm_widget_item_internal_style_get()
1067 */ 1070 */
1068#define elm_widget_item_style_get(item) \ 1071#define elm_widget_item_style_get(item) \
1069 _elm_widget_item_style_get((Elm_Widget_Item *)item) 1072 elm_widget_item_internal_style_get((Elm_Widget_Item *)item)
1070 1073
1071/** 1074/**
1072 * Convenience function to query focus set hook. 1075 * Convenience function to query focus set hook.
1073 * @see _elm_widget_item_focus_set_hook_set() 1076 * @see elm_widget_item_internal_focus_set_hook_set()
1074 */ 1077 */
1075#define elm_widget_item_focus_set_hook_set(item, func) \ 1078#define elm_widget_item_focus_set_hook_set(item, func) \
1076 _elm_widget_item_focus_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Set_Cb)func) 1079 elm_widget_item_internal_focus_set_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Set_Cb)func)
1077 1080
1078/** 1081/**
1079 * Convenience function to query focus get hook. 1082 * Convenience function to query focus get hook.
1080 * @see _elm_widget_item_focus_get_hook_set() 1083 * @see elm_widget_item_internal_focus_get_hook_set()
1081 */ 1084 */
1082#define elm_widget_item_focus_get_hook_set(item, func) \ 1085#define elm_widget_item_focus_get_hook_set(item, func) \
1083 _elm_widget_item_focus_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Get_Cb)func) 1086 elm_widget_item_internal_focus_get_hook_set((Elm_Widget_Item *)item, (Elm_Widget_Focus_Get_Cb)func)
1084 1087
1085/** 1088/**
1086 * Convenience function to query track_cancel. 1089 * Convenience function to query track_cancel.
1087 * @see _elm_widget_item_del_pre_hook_set() 1090 * @see elm_widget_item_internal_del_pre_hook_set()
1088 */ 1091 */
1089#define elm_widget_item_track_cancel(item) \ 1092#define elm_widget_item_track_cancel(item) \
1090 _elm_widget_item_track_cancel((Elm_Widget_Item *)item) 1093 elm_widget_item_internal_track_cancel((Elm_Widget_Item *)item)
1091 1094
1092/** 1095/**
1093 * Convenience function to query translate hook. 1096 * Convenience function to query translate hook.
1094 * @see _elm_widget_item_track_cancel() 1097 * @see elm_widget_item_internal_track_cancel()
1095 */ 1098 */
1096#define elm_widget_item_translate(item) \ 1099#define elm_widget_item_translate(item) \
1097 _elm_widget_item_translate((Elm_Widget_Item *)item) 1100 elm_widget_item_internal_translate((Elm_Widget_Item *)item)
1098 1101
1099/** 1102/**
1100 * Convenience function to save additional text part content. 1103 * Convenience function to save additional text part content.
1101 * @see _elm_widget_item_part_text_custom_set() 1104 * @see elm_widget_item_internal_part_text_custom_set()
1102 */ 1105 */
1103#define elm_widget_item_part_text_custom_set(item, part, text) \ 1106#define elm_widget_item_part_text_custom_set(item, part, text) \
1104 _elm_widget_item_part_text_custom_set((Elm_Widget_Item *)item, part, text) 1107 elm_widget_item_internal_part_text_custom_set((Elm_Widget_Item *)item, part, text)
1105 1108
1106/** 1109/**
1107 * Convenience function to get additional text part content. 1110 * Convenience function to get additional text part content.
1108 * @see _elm_widget_item_part_text_custom_set() 1111 * @see elm_widget_item_internal_part_text_custom_set()
1109 */ 1112 */
1110#define elm_widget_item_part_text_custom_get(item, part) \ 1113#define elm_widget_item_part_text_custom_get(item, part) \
1111 _elm_widget_item_part_text_custom_get((Elm_Widget_Item *)item, part) 1114 elm_widget_item_internal_part_text_custom_get((Elm_Widget_Item *)item, part)
1112 1115
1113/** 1116/**
1114 * Convenience function to update additional text part content. 1117 * Convenience function to update additional text part content.
1115 * @see _elm_widget_item_part_text_custom_set() 1118 * @see elm_widget_item_internal_part_text_custom_set()
1116 */ 1119 */
1117#define elm_widget_item_part_text_custom_update(item) \ 1120#define elm_widget_item_part_text_custom_update(item) \
1118 _elm_widget_item_part_text_custom_update((Elm_Widget_Item *)item) 1121 elm_widget_item_internal_part_text_custom_update((Elm_Widget_Item *)item)
1119 1122
1120/** 1123/**
1121 * Convenience function to set the focus on widget item. 1124 * Convenience function to set the focus on widget item.
1122 * @see _elm_widget_item_focus_set() 1125 * @see elm_widget_item_internal_focus_set()
1123 */ 1126 */
1124#define elm_widget_item_focus_set(item, focused) \ 1127#define elm_widget_item_focus_set(item, focused) \
1125 _elm_widget_item_focus_set((Elm_Widget_Item *)item, focused) 1128 elm_widget_item_internal_focus_set((Elm_Widget_Item *)item, focused)
1126 1129
1127/** 1130/**
1128 * Convenience function to query focus set hook. 1131 * Convenience function to query focus set hook.
1129 * @see _elm_widget_item_focus_get() 1132 * @see elm_widget_item_internal_focus_get()
1130 */ 1133 */
1131#define elm_widget_item_focus_get(item) \ 1134#define elm_widget_item_focus_get(item) \
1132 _elm_widget_item_focus_get((const Elm_Widget_Item *)item) 1135 elm_widget_item_internal_focus_get((const Elm_Widget_Item *)item)
1133 1136
1134#define ELM_WIDGET_CHECK_OR_RETURN(obj, ...) \ 1137#define ELM_WIDGET_CHECK_OR_RETURN(obj, ...) \
1135 do { \ 1138 do { \
@@ -1154,6 +1157,8 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
1154 CRI("Elm_Widget_Item " # item " is NULL"); \ 1157 CRI("Elm_Widget_Item " # item " is NULL"); \
1155 return __VA_ARGS__; \ 1158 return __VA_ARGS__; \
1156 } \ 1159 } \
1160 if ((item)->eo_obj && \
1161 eo_isa((item)->eo_obj, ELM_WIDGET_ITEM_CLASS)) break; \
1157 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \ 1162 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \
1158 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \ 1163 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \
1159 return __VA_ARGS__; \ 1164 return __VA_ARGS__; \
@@ -1166,6 +1171,8 @@ EAPI void elm_widget_tree_dot_dump(const Evas_Object *top, FILE *out
1166 CRI("Elm_Widget_Item " # item " is NULL"); \ 1171 CRI("Elm_Widget_Item " # item " is NULL"); \
1167 goto label; \ 1172 goto label; \
1168 } \ 1173 } \
1174 if ((item)->eo_obj && \
1175 eo_isa((item)->eo_obj, ELM_WIDGET_ITEM_CLASS)) break; \
1169 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \ 1176 if (!EINA_MAGIC_CHECK(item, ELM_WIDGET_ITEM_MAGIC)) { \
1170 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \ 1177 EINA_MAGIC_FAIL(item, ELM_WIDGET_ITEM_MAGIC); \
1171 goto label; \ 1178 goto label; \
@@ -1183,4 +1190,9 @@ typedef void * (*list_data_get_func_type)(const Eina_List * l);
1183 1190
1184#include "elm_widget.eo.h" 1191#include "elm_widget.eo.h"
1185 1192
1193#define ELM_WIDGET_ITEM_PROTECTED
1194#include "elm_widget_item.eo.h"
1195
1196typedef Elm_Widget_Item Elm_Widget_Item_Data;
1197
1186#endif 1198#endif
diff --git a/src/lib/elm_widget_item.eo b/src/lib/elm_widget_item.eo
new file mode 100644
index 000000000..93de0f6d5
--- /dev/null
+++ b/src/lib/elm_widget_item.eo
@@ -0,0 +1,289 @@
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 set {
10 data: const;
11 }
12 values {
13 void *data;
14 }
15 }
16 tooltip_window_mode {
17 get {
18
19 }
20 set {
21 return Eina_Bool;
22 }
23 values {
24 Eina_Bool disable;
25 }
26 }
27 tooltip_style {
28 get {
29
30 }
31 set {
32
33 }
34 values {
35 const char *style;
36 }
37 }
38 cursor {
39 get {
40
41 }
42 set {
43
44 }
45 values {
46 const char *cursor;
47 }
48 }
49 cursor_style {
50 get {
51
52 }
53 set {
54
55 }
56 values {
57 const char *style;
58 }
59 }
60 cursor_engine_only {
61 get {
62
63 }
64 set {
65
66 }
67 values {
68 Eina_Bool engine_only;
69 }
70 }
71 part_content {
72 get {
73
74 }
75 set {
76
77 }
78 keys {
79 const char *part;
80 }
81 values {
82 Evas_Object *content;
83 }
84 }
85 part_text {
86 get {
87
88 }
89 set {
90
91 }
92 keys {
93 const char *part;
94 }
95 values {
96 const char *label;
97 }
98 }
99 protected part_text_custom {
100 get {
101 legacy null;
102 }
103 set {
104 legacy null;
105 }
106 keys {
107 const char *part;
108 }
109 values {
110 const char *label;
111 }
112 }
113 focus {
114 get {
115
116 }
117 set {
118
119 }
120 values {
121 Eina_Bool focused;
122 }
123 }
124 style {
125 get {
126
127 }
128 set {
129
130 }
131 values {
132 const char *style;
133 }
134 }
135 disabled {
136 get {
137
138 }
139 set {
140
141 }
142 values {
143 Eina_Bool disable;
144 }
145 }
146 access_order {
147 get {
148 objs: const;
149 }
150 set {
151
152 }
153 values {
154 Eina_List *objs;
155 }
156 }
157 }
158 methods {
159 widget_get {
160 const;
161 return Evas_Object*;
162 }
163 del {
164 }
165 protected pre_notify_del {
166 legacy null;
167 }
168 tooltip_text_set {
169 params {
170 const char *text;
171 }
172 }
173 protected tooltip_translatable_text_set {
174 legacy null;
175 params {
176 const char *text;
177 }
178 }
179 tooltip_unset {
180 }
181 cursor_unset {
182 }
183 part_content_unset {
184 params {
185 const char *part;
186 }
187 return Evas_Object*;
188 }
189 protected part_text_custom_update {
190 legacy null;
191 }
192 signal_callback_add {
193 params {
194 const char *emission;
195 const char *source;
196 Elm_Object_Item_Signal_Cb func;
197 void *data;
198 }
199 }
200 signal_callback_del {
201 params {
202 const char *emission;
203 const char *source;
204 Elm_Object_Item_Signal_Cb func;
205 }
206 return void*;
207 }
208 signal_emit {
209 params {
210 const char *emission;
211 const char *source;
212 }
213 }
214 access_info_set {
215 params {
216 const char *txt;
217 }
218 }
219 access_object_get {
220 return Evas_Object*;
221 }
222 domain_translatable_part_text_set {
223 params {
224 const char *part;
225 const char *domain;
226 const char *label;
227 }
228 }
229 translatable_part_text_get {
230 const;
231 params {
232 const char *part;
233 }
234 return const char*;
235 }
236 protected translate {
237 legacy null;
238 }
239 domain_part_text_translatable_set {
240 params {
241 const char *part;
242 const char *domain;
243 Eina_Bool translatable;
244 }
245 }
246 track {
247 return Evas_Object*;
248 }
249 untrack {
250 }
251 track_get {
252 const;
253 return int;
254 }
255 protected track_cancel {
256 legacy null;
257 }
258 del_cb_set {
259 params {
260 Evas_Smart_Cb del_cb;
261 }
262 }
263 tooltip_content_cb_set {
264 params {
265 Elm_Tooltip_Item_Content_Cb func;
266 const void *data;
267 Evas_Smart_Cb del_cb;
268 }
269 }
270 access_register {
271 return Evas_Object*;
272 }
273 access_unregister {
274 }
275 access_order_unset {
276 }
277 protected disable {
278 legacy null;
279 }
280 protected del_pre {
281 legacy null;
282 return Eina_Bool;
283 }
284 }
285 implements {
286 Eo_Base::constructor;
287 Eo_Base::destructor;
288 }
289} \ No newline at end of file