#ifndef ELM_WIDGET_ITEM_IMPL_HH
#define ELM_WIDGET_ITEM_IMPL_HH

#include "elm_widget_item.eo.hh"

namespace elm { namespace widget { 
inline ::efl::eolian::return_traits<bool>::type Item::tooltip_window_mode_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_tooltip_window_mode_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::tooltip_window_mode_set( ::efl::eolian::in_traits<bool>::type disable) const
{
   Eina_Bool __return_value =  ::elm_wdg_item_tooltip_window_mode_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disable));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::tooltip_style_get() const
{
   const char * __return_value =  ::elm_wdg_item_tooltip_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::tooltip_style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_tooltip_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::cursor_get() const
{
   const char * __return_value =  ::elm_wdg_item_cursor_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type cursor) const
{
    ::elm_wdg_item_cursor_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(cursor));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::cursor_style_get() const
{
   const char * __return_value =  ::elm_wdg_item_cursor_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_cursor_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits<bool>::type Item::cursor_engine_only_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_cursor_engine_only_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_engine_only_set( ::efl::eolian::in_traits<bool>::type engine_only) const
{
    ::elm_wdg_item_cursor_engine_only_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(engine_only));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::part_content_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_part_content_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::part_content_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type content) const
{
    ::elm_wdg_item_part_content_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(content));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::part_text_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_part_text_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::part_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_part_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::part_text_custom_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_part_text_custom_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::part_text_custom_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_part_text_custom_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#endif
inline ::efl::eolian::return_traits<bool>::type Item::item_focus_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_focus_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::item_focus_set( ::efl::eolian::in_traits<bool>::type focused) const
{
    ::elm_wdg_item_focus_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(focused));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::style_get() const
{
   const char * __return_value =  ::elm_wdg_item_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits<bool>::type Item::disabled_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_disabled_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::disabled_set( ::efl::eolian::in_traits<bool>::type disable) const
{
    ::elm_wdg_item_disabled_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disable));
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::efl::canvas::Object>>::type Item::access_order_get() const
{
   const Eina_List * __return_value =  ::elm_wdg_item_access_order_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::efl::canvas::Object>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::access_order_set( ::efl::eolian::in_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type objs) const
{
    ::elm_wdg_item_access_order_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_List *,  ::efl::eolian::in_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type, true>(objs));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::widget_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_widget_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::pre_notify_del() const
{
    ::elm_wdg_item_pre_notify_del(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::tooltip_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    ::elm_wdg_item_tooltip_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::tooltip_translatable_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    ::elm_wdg_item_tooltip_translatable_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::tooltip_unset() const
{
    ::elm_wdg_item_tooltip_unset(_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_unset() const
{
    ::elm_wdg_item_cursor_unset(_eo_ptr());
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::part_content_unset( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_part_content_unset(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::part_text_custom_update() const
{
    ::elm_wdg_item_part_text_custom_update(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::signal_callback_add( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type func,  ::efl::eolian::in_traits<void*>::type data) const
{
    ::elm_wdg_item_signal_callback_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source)
      ,  ::efl::eolian::convert_to_c<Elm_Object_Item_Signal_Cb,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type>(func)
      ,  ::efl::eolian::convert_to_c<void *,  ::efl::eolian::in_traits<void*>::type>(data));
}
inline ::efl::eolian::return_traits<void*>::type Item::signal_callback_del( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type func) const
{
   void * __return_value =  ::elm_wdg_item_signal_callback_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source)
      ,  ::efl::eolian::convert_to_c<Elm_Object_Item_Signal_Cb,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type>(func));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::signal_emit( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source) const
{
    ::elm_wdg_item_signal_emit(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source));
}
inline ::efl::eolian::return_traits<void>::type Item::access_info_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type txt) const
{
    ::elm_wdg_item_access_info_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(txt));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::access_object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_access_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::domain_translatable_part_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type domain,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_domain_translatable_part_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(domain)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::translatable_part_text_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_translatable_part_text_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::translate() const
{
    ::elm_wdg_item_translate(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::domain_part_text_translatable_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type domain,  ::efl::eolian::in_traits<bool>::type translatable) const
{
    ::elm_wdg_item_domain_part_text_translatable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(domain)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(translatable));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::track() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_track(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::untrack() const
{
    ::elm_wdg_item_untrack(_eo_ptr());
}
inline ::efl::eolian::return_traits<int>::type Item::track_get() const
{
   int __return_value =  ::elm_wdg_item_track_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::track_cancel() const
{
    ::elm_wdg_item_track_cancel(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::del_cb_set( ::efl::eolian::in_traits<Evas_Smart_Cb>::type del_cb) const
{
    ::elm_wdg_item_del_cb_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits<Evas_Smart_Cb>::type>(del_cb));
}
inline ::efl::eolian::return_traits<void>::type Item::tooltip_content_cb_set( ::efl::eolian::in_traits<Elm_Tooltip_Item_Content_Cb>::type func,  ::efl::eolian::in_traits<void const*>::type data,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type del_cb) const
{
    ::elm_wdg_item_tooltip_content_cb_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Tooltip_Item_Content_Cb,  ::efl::eolian::in_traits<Elm_Tooltip_Item_Content_Cb>::type>(func)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data)
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type>(del_cb));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::access_register() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_access_register(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::access_unregister() const
{
    ::elm_wdg_item_access_unregister(_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::access_order_unset() const
{
    ::elm_wdg_item_access_order_unset(_eo_ptr());
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::disable() const
{
    ::elm_wdg_item_disable(_eo_ptr());
}
#endif
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::del_pre() const
{
    ::elm_wdg_item_del_pre(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::focus_next_object_get( ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_focus_next_object_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::focus_next_object_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type next,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::elm_wdg_item_focus_next_object_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(next)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::focus_next_item_get( ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_wdg_item_focus_next_item_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::focus_next_item_set( ::efl::eolian::in_traits< ::elm::widget::Item>::type next_item,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::elm_wdg_item_focus_next_item_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Elm_Widget_Item*,  ::efl::eolian::in_traits< ::elm::widget::Item>::type>(next_item)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
}
} } 
namespace eo_cxx {
namespace elm { namespace widget { 
inline ::efl::eolian::return_traits<bool>::type Item::tooltip_window_mode_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_tooltip_window_mode_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<bool>::type Item::tooltip_window_mode_set( ::efl::eolian::in_traits<bool>::type disable) const
{
   Eina_Bool __return_value =  ::elm_wdg_item_tooltip_window_mode_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disable));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::tooltip_style_get() const
{
   const char * __return_value =  ::elm_wdg_item_tooltip_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::tooltip_style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_tooltip_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::cursor_get() const
{
   const char * __return_value =  ::elm_wdg_item_cursor_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type cursor) const
{
    ::elm_wdg_item_cursor_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(cursor));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::cursor_style_get() const
{
   const char * __return_value =  ::elm_wdg_item_cursor_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_cursor_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits<bool>::type Item::cursor_engine_only_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_cursor_engine_only_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_engine_only_set( ::efl::eolian::in_traits<bool>::type engine_only) const
{
    ::elm_wdg_item_cursor_engine_only_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(engine_only));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::part_content_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_part_content_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::part_content_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type content) const
{
    ::elm_wdg_item_part_content_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(content));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::part_text_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_part_text_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::part_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_part_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::part_text_custom_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_part_text_custom_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#endif
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::part_text_custom_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_part_text_custom_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
#endif
inline ::efl::eolian::return_traits<bool>::type Item::item_focus_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_focus_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::item_focus_set( ::efl::eolian::in_traits<bool>::type focused) const
{
    ::elm_wdg_item_focus_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(focused));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::style_get() const
{
   const char * __return_value =  ::elm_wdg_item_style_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::style_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type style) const
{
    ::elm_wdg_item_style_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(style));
}
inline ::efl::eolian::return_traits<bool>::type Item::disabled_get() const
{
   Eina_Bool __return_value =  ::elm_wdg_item_disabled_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<bool>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::disabled_set( ::efl::eolian::in_traits<bool>::type disable) const
{
    ::elm_wdg_item_disabled_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(disable));
}
inline ::efl::eolian::return_traits<  ::efl::eina::range_list< ::efl::canvas::Object>>::type Item::access_order_get() const
{
   const Eina_List * __return_value =  ::elm_wdg_item_access_order_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<  ::efl::eina::range_list< ::efl::canvas::Object>>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::access_order_set( ::efl::eolian::in_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type objs) const
{
    ::elm_wdg_item_access_order_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Eina_List *,  ::efl::eolian::in_traits<  ::efl::eina::list< ::efl::canvas::Object>>::type, true>(objs));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::widget_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_widget_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::pre_notify_del() const
{
    ::elm_wdg_item_pre_notify_del(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::tooltip_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    ::elm_wdg_item_tooltip_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::tooltip_translatable_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type text) const
{
    ::elm_wdg_item_tooltip_translatable_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(text));
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::tooltip_unset() const
{
    ::elm_wdg_item_tooltip_unset(_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::cursor_unset() const
{
    ::elm_wdg_item_cursor_unset(_eo_ptr());
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::part_content_unset( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_part_content_unset(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::part_text_custom_update() const
{
    ::elm_wdg_item_part_text_custom_update(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::signal_callback_add( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type func,  ::efl::eolian::in_traits<void*>::type data) const
{
    ::elm_wdg_item_signal_callback_add(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source)
      ,  ::efl::eolian::convert_to_c<Elm_Object_Item_Signal_Cb,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type>(func)
      ,  ::efl::eolian::convert_to_c<void *,  ::efl::eolian::in_traits<void*>::type>(data));
}
inline ::efl::eolian::return_traits<void*>::type Item::signal_callback_del( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type func) const
{
   void * __return_value =  ::elm_wdg_item_signal_callback_del(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source)
      ,  ::efl::eolian::convert_to_c<Elm_Object_Item_Signal_Cb,  ::efl::eolian::in_traits<Elm_Object_Item_Signal_Cb>::type>(func));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<void*>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::signal_emit( ::efl::eolian::in_traits< ::efl::eina::string_view>::type emission,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type source) const
{
    ::elm_wdg_item_signal_emit(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(emission)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(source));
}
inline ::efl::eolian::return_traits<void>::type Item::access_info_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type txt) const
{
    ::elm_wdg_item_access_info_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(txt));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::access_object_get() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_access_object_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::domain_translatable_part_text_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type domain,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type label) const
{
    ::elm_wdg_item_domain_translatable_part_text_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(domain)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(label));
}
inline ::efl::eolian::return_traits< ::efl::eina::string_view>::type Item::translatable_part_text_get( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part) const
{
   const char * __return_value =  ::elm_wdg_item_translatable_part_text_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::eina::string_view>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::translate() const
{
    ::elm_wdg_item_translate(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::domain_part_text_translatable_set( ::efl::eolian::in_traits< ::efl::eina::string_view>::type part,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type domain,  ::efl::eolian::in_traits<bool>::type translatable) const
{
    ::elm_wdg_item_domain_part_text_translatable_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(part)
      ,  ::efl::eolian::convert_to_c<const char *,  ::efl::eolian::in_traits< ::efl::eina::string_view>::type>(domain)
      ,  ::efl::eolian::convert_to_c<Eina_Bool,  ::efl::eolian::in_traits<bool>::type>(translatable));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::track() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_track(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::untrack() const
{
    ::elm_wdg_item_untrack(_eo_ptr());
}
inline ::efl::eolian::return_traits<int>::type Item::track_get() const
{
   int __return_value =  ::elm_wdg_item_track_get(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits<int>::type>(__return_value);
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::track_cancel() const
{
    ::elm_wdg_item_track_cancel(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits<void>::type Item::del_cb_set( ::efl::eolian::in_traits<Evas_Smart_Cb>::type del_cb) const
{
    ::elm_wdg_item_del_cb_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits<Evas_Smart_Cb>::type>(del_cb));
}
inline ::efl::eolian::return_traits<void>::type Item::tooltip_content_cb_set( ::efl::eolian::in_traits<Elm_Tooltip_Item_Content_Cb>::type func,  ::efl::eolian::in_traits<void const*>::type data,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type del_cb) const
{
    ::elm_wdg_item_tooltip_content_cb_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Elm_Tooltip_Item_Content_Cb,  ::efl::eolian::in_traits<Elm_Tooltip_Item_Content_Cb>::type>(func)
      ,  ::efl::eolian::convert_to_c<const void *,  ::efl::eolian::in_traits<void const*>::type>(data)
      ,  ::efl::eolian::convert_to_c<Evas_Smart_Cb,  ::efl::eolian::in_traits< ::efl::eina::optional<Evas_Smart_Cb>>::type>(del_cb));
}
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::access_register() const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_access_register(_eo_ptr());
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::access_unregister() const
{
    ::elm_wdg_item_access_unregister(_eo_ptr());
}
inline ::efl::eolian::return_traits<void>::type Item::access_order_unset() const
{
    ::elm_wdg_item_access_order_unset(_eo_ptr());
}
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::disable() const
{
    ::elm_wdg_item_disable(_eo_ptr());
}
#endif
#ifdef ELM_WIDGET_ITEM_PROTECTED
inline ::efl::eolian::return_traits<void>::type Item::del_pre() const
{
    ::elm_wdg_item_del_pre(_eo_ptr());
}
#endif
inline ::efl::eolian::return_traits< ::efl::canvas::Object>::type Item::focus_next_object_get( ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::Efl_Canvas_Object* __return_value =  ::elm_wdg_item_focus_next_object_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::efl::canvas::Object>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::focus_next_object_set( ::efl::eolian::in_traits< ::efl::canvas::Object>::type next,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::elm_wdg_item_focus_next_object_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Efl_Canvas_Object*,  ::efl::eolian::in_traits< ::efl::canvas::Object>::type>(next)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
}
inline ::efl::eolian::return_traits< ::elm::widget::Item>::type Item::focus_next_item_get( ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::Elm_Widget_Item* __return_value =  ::elm_wdg_item_focus_next_item_get(_eo_ptr()
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
   return ::efl::eolian::convert_to_return< ::efl::eolian::return_traits< ::elm::widget::Item>::type>(__return_value);
}
inline ::efl::eolian::return_traits<void>::type Item::focus_next_item_set( ::efl::eolian::in_traits< ::elm::widget::Item>::type next_item,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type dir) const
{
    ::elm_wdg_item_focus_next_item_set(_eo_ptr()
      ,  ::efl::eolian::convert_to_c< ::Elm_Widget_Item*,  ::efl::eolian::in_traits< ::elm::widget::Item>::type>(next_item)
      ,  ::efl::eolian::convert_to_c<Efl_Ui_Focus_Direction,  ::efl::eolian::in_traits<Efl_Ui_Focus_Direction>::type>(dir));
}
inline elm::widget::Item::operator ::elm::widget::Item() const { return *static_cast< ::elm::widget::Item const*>(static_cast<void const*>(this)); }
inline elm::widget::Item::operator ::elm::widget::Item&() { return *static_cast< ::elm::widget::Item*>(static_cast<void*>(this)); }
inline elm::widget::Item::operator ::elm::widget::Item const&() const { return *static_cast< ::elm::widget::Item const*>(static_cast<void const*>(this)); }
} } }
#endif
