1 #ifndef _ELM_LIST_ITEM_EO_H_
2 #define _ELM_LIST_ITEM_EO_H_
3 
4 #ifndef _ELM_LIST_ITEM_EO_CLASS_TYPE
5 #define _ELM_LIST_ITEM_EO_CLASS_TYPE
6 
7 typedef Eo Elm_List_Item;
8 
9 #endif
10 
11 #ifndef _ELM_LIST_ITEM_EO_TYPES
12 #define _ELM_LIST_ITEM_EO_TYPES
13 
14 
15 #endif
16 /** Elementary list item class
17  *
18  * @ingroup Elm_List_Item
19  */
20 #define ELM_LIST_ITEM_CLASS elm_list_item_class_get()
21 
22 EWAPI const Efl_Class *elm_list_item_class_get(void) EINA_CONST;
23 
24 /**
25  * @brief Set or unset item as a separator.
26  *
27  * Items aren't set as separator by default.
28  *
29  * If set as separator it will display separator theme, so won't display icons
30  * or label.
31  *
32  * @param[in] obj The object.
33  * @param[in] setting @c true means item @c it is a separator. @c false
34  * indicates it's not.
35  *
36  * @ingroup Elm_List_Item
37  */
38 EOAPI void elm_obj_list_item_separator_set(Eo *obj, Eina_Bool setting);
39 
40 /**
41  * @brief Get a value whether item is a separator or not.
42  *
43  * @param[in] obj The object.
44  *
45  * @return @c true means item @c it is a separator. @c false indicates it's
46  * not.
47  *
48  * @ingroup Elm_List_Item
49  */
50 EOAPI Eina_Bool elm_obj_list_item_separator_get(const Eo *obj);
51 
52 /**
53  * @brief Set the selected state of an item.
54  *
55  * This sets the selected state of the given item.
56  *
57  * If a new item is selected the previously selected will be unselected, unless
58  * multiple selection is enabled with @ref elm_list_multi_select_set.
59  * Previously selected item can be get with function @ref
60  * elm_list_selected_item_get.
61  *
62  * Selected items will be highlighted.
63  *
64  * @param[in] obj The object.
65  * @param[in] selected The selected state.
66  *
67  * @ingroup Elm_List_Item
68  */
69 EOAPI void elm_obj_list_item_selected_set(Eo *obj, Eina_Bool selected);
70 
71 /**
72  * @brief Get whether the item is selected or not.
73  *
74  * @param[in] obj The object.
75  *
76  * @return The selected state.
77  *
78  * @ingroup Elm_List_Item
79  */
80 EOAPI Eina_Bool elm_obj_list_item_selected_get(const Eo *obj);
81 
82 /**
83  * @brief Get the real Evas(Edje) object created to implement the view of a
84  * given list item.
85  *
86  * Base object is the @c Evas_Object that represents that item.
87  *
88  * @param[in] obj The object.
89  *
90  * @return The base Edje object associated with the item.
91  *
92  * @ingroup Elm_List_Item
93  */
94 EOAPI Efl_Canvas_Object *elm_obj_list_item_object_get(const Eo *obj);
95 
96 /**
97  * @brief Get the item before the item in list.
98  *
99  * @note If it is the first item, @c null will be returned.
100  *
101  * @param[in] obj The object.
102  *
103  * @return The item before or @c null.
104  *
105  * @ingroup Elm_List_Item
106  */
107 EOAPI Elm_Widget_Item *elm_obj_list_item_prev_get(const Eo *obj);
108 
109 /**
110  * @brief Get the item after the item in list.
111  *
112  * @note If it is the last item, @c null will be returned.
113  *
114  * @param[in] obj The object.
115  *
116  * @return The item after or @c null.
117  *
118  * @ingroup Elm_List_Item
119  */
120 EOAPI Elm_Widget_Item *elm_obj_list_item_next_get(const Eo *obj);
121 
122 /**
123  * @brief Show item in the list view.
124  *
125  * It won't animate list until item is visible. If such behavior is wanted, use
126  * @ref elm_obj_list_item_bring_in instead.
127  * @param[in] obj The object.
128  *
129  * @ingroup Elm_List_Item
130  */
131 EOAPI void elm_obj_list_item_show(Eo *obj);
132 
133 /**
134  * @brief Bring in the given item to list view.
135  *
136  * This causes list to jump to the given item and show it (by scrolling), if it
137  * is not fully visible.
138  *
139  * This may use animation to do so and take a period of time.
140  *
141  * If animation isn't wanted, @ref elm_obj_list_item_show can be used.
142  * @param[in] obj The object.
143  *
144  * @ingroup Elm_List_Item
145  */
146 EOAPI void elm_obj_list_item_bring_in(Eo *obj);
147 
148 #endif
149