class Elm.List_Item(Elm.Widget_Item)
{
      eo_prefix: elm_obj_list_item;
      methods {
           @property separator {
                get {
                     [[Get a value whether item is a separator or not.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                }
                set {
                     [[Set or unset item as a separator.

                       Items aren't set as separator by default.

                       If set as separator it will display separator theme,
                       so won't display icons or label.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                }
                values {
                     setting: bool; [[$true means item $it is a separator.
                                      $false indicates it's not.]]
                }
           }
           @property selected {
                get {
                     [[Get whether the item is selected or not.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                }
                set {
                     [[Set the selected state of an item.

                       This sets the selected state of the given item.

                       If a new item is selected the previously selected
                       will be unselected, unless multiple selection is
                       enabled with \@ref elm_list_multi_select_set.
                       Previously selected item can be get with function
                       \@ref elm_list_selected_item_get.

                       Selected items will be highlighted.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                }
                values {
                     selected: bool; [[The selected state.]]
                }
           }
           @property object {
                get {
                     [[Get the real Evas(Edje) object created to implement
                       the view of a given list item.

                       Base object is the $Evas_Object that represents that
                       item.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                }
                values {
                     obj: Evas.Object *; [[The base Edje object associated with the item.]]
                }
           }
           @property prev {
                get {
                     [[Get the item before the item in list.

                       Note: If it is the first item, $null will be returned.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                     legacy: elm_list_item_prev;
                }
                values {
                     item: Elm.Widget_Item *; [[The item before or $null.]]
                }
           }
           @property next {
                get {
                     [[Get the item after the item in list.

                       Note: If it is the last item, $null will be returned.

                       \@if MOBILE \@since_tizen 2.3
                       \@elseif WEARABLE \@since_tizen 2.3.1
                       \@endif
                     ]]
                     legacy: elm_list_item_next;
                }
                values {
                     item: Elm.Widget_Item *; [[The item after or $null.]]
                }
           }
           /*      init { FIXME
                   params {
                   Evas_Smart_Cb func;
                   const(void)* data;
                   }
                   }*/
           show {
                [[Show item in the list view.

                  It won't animate list until item is visible. If such
                  behavior is wanted, use @.bring_in instead.

                  \@if MOBILE \@since_tizen 2.3
                  \@elseif WEARABLE \@since_tizen 2.3.1
                  \@endif
                ]]
           }
           bring_in {
                [[Bring in the given item to list view.

                  This causes list to jump to the given item and show it
                  (by scrolling), if it is not fully visible.

                  This may use animation to do so and take a period of time.

                  If animation isn't wanted, @.show can be used.

                  \@if MOBILE \@since_tizen 2.3
                  \@elseif WEARABLE \@since_tizen 2.3.1
                  \@endif
                ]]
           }
      }
      implements {
           Eo.Base.constructor;
           Elm.Widget_Item.disable;
           Elm.Widget_Item.del_pre;
           Elm.Widget_Item.signal_emit;
           Elm.Widget_Item.focus.set;
           Elm.Widget_Item.focus.get;
           Elm.Widget_Item.part_text.get;
           Elm.Widget_Item.part_text.set;
           Elm.Widget_Item.part_content.get;
           Elm.Widget_Item.part_content.set;
           Elm.Widget_Item.part_content_unset;
           Elm_Interface_Atspi_Accessible.name.get;
           Elm_Interface_Atspi_Accessible.state_set.get;
           Elm_Interface_Atspi_Accessible.children.get;
           //TIZEN_ONLY(20160329): list: enhance accessibility scroll and highlight (02c20ee39a0ebbe67b9e1491ccfc46dd681821c9)
           Elm_Interface_Atspi_Component.highlight_grab;
           Elm_Interface_Atspi_Component.highlight_clear;
           //
      }
}

