summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_gengrid_item_eo.legacy.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_gengrid_item_eo.legacy.h')
-rw-r--r--src/lib/elementary/elm_gengrid_item_eo.legacy.h308
1 files changed, 308 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_gengrid_item_eo.legacy.h b/src/lib/elementary/elm_gengrid_item_eo.legacy.h
new file mode 100644
index 0000000..01f1a63
--- /dev/null
+++ b/src/lib/elementary/elm_gengrid_item_eo.legacy.h
@@ -0,0 +1,308 @@
1#ifndef _ELM_GENGRID_ITEM_EO_LEGACY_H_
2#define _ELM_GENGRID_ITEM_EO_LEGACY_H_
3
4#ifndef _ELM_GENGRID_ITEM_EO_CLASS_TYPE
5#define _ELM_GENGRID_ITEM_EO_CLASS_TYPE
6
7typedef Eo Elm_Gengrid_Item;
8
9#endif
10
11#ifndef _ELM_GENGRID_ITEM_EO_TYPES
12#define _ELM_GENGRID_ITEM_EO_TYPES
13
14
15#endif
16
17/**
18 * @brief Get the previous item in a gengrid widget's internal list of items,
19 * given a handle to one of those items.
20 *
21 * This returns the item placed before the @c item, on the container gengrid.
22 *
23 * @param[in] obj The object.
24 *
25 * @return The item before @c item, or @c NULL if there's none (and on errors)
26 *
27 * @ingroup Elm_Gengrid_Item_Group
28 */
29EAPI Elm_Widget_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *obj);
30
31/**
32 * @brief Get the next item in a gengrid widget's internal list of items, given
33 * a handle to one of those items.
34 *
35 * This returns the item placed after the @c item, on the container gengrid.
36 *
37 * @param[in] obj The object.
38 *
39 * @return The item after @c item, or @c NULL if there's none (and on errors)
40 *
41 * @ingroup Elm_Gengrid_Item_Group
42 */
43EAPI Elm_Widget_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *obj);
44
45/**
46 * @brief Control whether a given gengrid item is selected or not
47 *
48 * This API returns true for all the items selected in multi-select mode as
49 * well.
50 *
51 * This sets the selected state of an item. If multi-selection is not enabled
52 * on the containing gengrid and @c selected is true, any other previously
53 * selected items will get unselected in favor of this new one.
54 *
55 * @param[in] obj The object.
56 * @param[in] selected The selected state ($true selected, @c false not
57 * selected)
58 *
59 * @ingroup Elm_Gengrid_Item_Group
60 */
61EAPI void elm_gengrid_item_selected_set(Elm_Gengrid_Item *obj, Eina_Bool selected);
62
63/**
64 * @brief Control whether a given gengrid item is selected or not
65 *
66 * This API returns true for all the items selected in multi-select mode as
67 * well.
68 *
69 * This sets the selected state of an item. If multi-selection is not enabled
70 * on the containing gengrid and @c selected is true, any other previously
71 * selected items will get unselected in favor of this new one.
72 *
73 * @param[in] obj The object.
74 *
75 * @return The selected state ($true selected, @c false not selected)
76 *
77 * @ingroup Elm_Gengrid_Item_Group
78 */
79EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Gengrid_Item *obj);
80
81/**
82 * @brief Get the Gengrid Item class for the given Gengrid Item.
83 *
84 * This returns the Gengrid_Item_Class for the given item. It can be used to
85 * examine the function pointers and item_style.
86 *
87 * @param[in] obj The object.
88 *
89 * @return Gengrid Item class for the given item
90 *
91 * @ingroup Elm_Gengrid_Item_Group
92 */
93EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Gengrid_Item *obj);
94
95/**
96 * @brief Get the index of the item. It is only valid once displayed.
97 *
98 * @param[in] obj The object.
99 *
100 * @return The position inside the list of item.
101 *
102 * @ingroup Elm_Gengrid_Item_Group
103 */
104EAPI int elm_gengrid_item_index_get(const Elm_Gengrid_Item *obj);
105
106/**
107 * @brief Get a given gengrid item's position, relative to the whole gengrid's
108 * grid area.
109 *
110 * This returns the "logical" position of the item within the gengrid. For
111 * example, $(0, 1) would stand for first row, second column.
112 *
113 * @param[in] obj The object.
114 * @param[out] x Pointer to variable to store the item's <b>row number</b>.
115 * @param[out] y Pointer to variable to store the item's <b>column number</b>.
116 *
117 * @ingroup Elm_Gengrid_Item_Group
118 */
119EAPI void elm_gengrid_item_pos_get(const Elm_Gengrid_Item *obj, unsigned int *x, unsigned int *y);
120
121/**
122 * @brief Control the gengrid item's select mode.
123 *
124 * (If getting mode fails, it returns ELM_OBJECT_SELECT_MODE_MAX)
125 *
126 * elm_gengrid_select_mode_set() changes item's select mode. -
127 * ELM_OBJECT_SELECT_MODE_DEFAULT : The item will only call their selection
128 * func and callback when first becoming selected. Any further clicks will do
129 * nothing, unless you set always select mode. - ELM_OBJECT_SELECT_MODE_ALWAYS
130 * : This means that, even if selected, every click will make the selected
131 * callbacks be called. - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the
132 * ability to select the item entirely and they will neither appear selected
133 * nor call selected callback functions. - ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
134 * : This will apply no-finger-size rule with ELM_OBJECT_SELECT_MODE_NONE.
135 * No-finger-size rule makes an item can be smaller than lower limit. Clickable
136 * objects should be bigger than human touch point device (your finger) for
137 * some touch or small screen devices. So it is enabled, the item can be shrink
138 * than predefined finger-size value. And the item will be updated.
139 *
140 * @param[in] obj The object.
141 * @param[in] mode The selected mode
142 *
143 * @ingroup Elm_Gengrid_Item_Group
144 */
145EAPI void elm_gengrid_item_select_mode_set(Elm_Gengrid_Item *obj, Elm_Object_Select_Mode mode);
146
147/**
148 * @brief Control the gengrid item's select mode.
149 *
150 * (If getting mode fails, it returns ELM_OBJECT_SELECT_MODE_MAX)
151 *
152 * elm_gengrid_select_mode_set() changes item's select mode. -
153 * ELM_OBJECT_SELECT_MODE_DEFAULT : The item will only call their selection
154 * func and callback when first becoming selected. Any further clicks will do
155 * nothing, unless you set always select mode. - ELM_OBJECT_SELECT_MODE_ALWAYS
156 * : This means that, even if selected, every click will make the selected
157 * callbacks be called. - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the
158 * ability to select the item entirely and they will neither appear selected
159 * nor call selected callback functions. - ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
160 * : This will apply no-finger-size rule with ELM_OBJECT_SELECT_MODE_NONE.
161 * No-finger-size rule makes an item can be smaller than lower limit. Clickable
162 * objects should be bigger than human touch point device (your finger) for
163 * some touch or small screen devices. So it is enabled, the item can be shrink
164 * than predefined finger-size value. And the item will be updated.
165 *
166 * @param[in] obj The object.
167 *
168 * @return The selected mode
169 *
170 * @ingroup Elm_Gengrid_Item_Group
171 */
172EAPI Elm_Object_Select_Mode elm_gengrid_item_select_mode_get(const Elm_Gengrid_Item *obj);
173
174/**
175 * @brief Custom size mode for non-homogeneous gengrid.
176 *
177 * Resize dimensions of a gengrid item.
178 *
179 * In case of a horizontal grid, only the widths only be resized and in case of
180 * vertical only the heights can be resized. Item size should be set by
181 * elm_gengrid_item_size_set() beforehand.
182 *
183 * The values set by elm_gengrid_item_size_set() will be used for the dimension
184 * that remains fixed.
185 *
186 * @param[in] obj The object.
187 * @param[in] w The item's width.
188 * @param[in] h The item's height.
189 *
190 * @since 1.19
191 *
192 * @ingroup Elm_Gengrid_Item_Group
193 */
194EAPI void elm_gengrid_item_custom_size_set(Elm_Gengrid_Item *obj, int w, int h);
195
196/**
197 * @brief Custom size mode for non-homogeneous gengrid.
198 *
199 * Get the dimensions of a gengrid item.
200 *
201 * Gives the dimensions set with elm_gengrid_item_custom_size_set(). If the
202 * item has not been modified values set with elm_gengrid_item_size_set() are
203 * obtained.
204 *
205 * @param[in] obj The object.
206 * @param[out] w The item's width.
207 * @param[out] h The item's height.
208 *
209 * @since 1.19
210 *
211 * @ingroup Elm_Gengrid_Item_Group
212 */
213EAPI void elm_gengrid_item_custom_size_get(const Elm_Gengrid_Item *obj, int *w, int *h);
214
215/**
216 * @brief Show the portion of a gengrid's internal grid containing a given
217 * item, immediately.
218 *
219 * This causes gengrid to redraw its viewport's contents to the region
220 * containing the given @c item item, if it is not fully visible.
221 *
222 * @param[in] obj The object.
223 * @param[in] type Where to position the item in the viewport.
224 *
225 * @ingroup Elm_Gengrid_Item_Group
226 */
227EAPI void elm_gengrid_item_show(Elm_Gengrid_Item *obj, Elm_Gengrid_Item_Scrollto_Type type);
228
229/**
230 * @brief Animatedly bring in, to the visible area of a gengrid, a given item
231 * on it.
232 *
233 * This causes gengrid to jump to the given @c item and show it (by scrolling),
234 * if it is not fully visible. This will use animation to do so and take a
235 * period of time to complete.
236 *
237 * @param[in] obj The object.
238 * @param[in] type Where to position the item in the viewport.
239 *
240 * @ingroup Elm_Gengrid_Item_Group
241 */
242EAPI void elm_gengrid_item_bring_in(Elm_Gengrid_Item *obj, Elm_Gengrid_Item_Scrollto_Type type);
243
244/**
245 * @brief Update the contents of a given gengrid item
246 *
247 * This updates an item by calling all the item class functions again to get
248 * the contents, texts and states. Use this when the original item data has
249 * changed and you want the changes to be reflected.
250 * @param[in] obj The object.
251 *
252 * @ingroup Elm_Gengrid_Item_Group
253 */
254EAPI void elm_gengrid_item_update(Elm_Gengrid_Item *obj);
255
256/**
257 * @brief Update the part of an item
258 *
259 * This updates an item's part by calling item's fetching functions again to
260 * get the contents, texts and states. Use this when the original item data has
261 * changed and the changes are desired to be reflected. Second parts argument
262 * is used for globbing to match '*', '?', and '.' It can be used at updating
263 * multi fields.
264 *
265 * Use elm_gengrid_realized_items_update() to update an item's all property.
266 *
267 * @param[in] obj The object.
268 * @param[in] parts The name of item's part
269 * @param[in] itf The type of item's part type
270 *
271 * @since 1.15
272 *
273 * @ingroup Elm_Gengrid_Item_Group
274 */
275EAPI void elm_gengrid_item_fields_update(Elm_Gengrid_Item *obj, const char *parts, Elm_Gengrid_Item_Field_Type itf);
276
277/**
278 * @brief Update the item class of a gengrid item.
279 *
280 * This sets another class of the item, changing the way that it is displayed.
281 * After changing the item class, elm_gengrid_item_update() is called on the
282 * item @c it.
283 *
284 * @param[in] obj The object.
285 * @param[in] itc The gengrid item class describing the function pointers and
286 * the item style.
287 *
288 * @ingroup Elm_Gengrid_Item_Group
289 */
290EAPI void elm_gengrid_item_item_class_update(Elm_Gengrid_Item *obj, const Elm_Gengrid_Item_Class *itc);
291
292/**
293 * @brief Unset all contents fetched by the item class
294 *
295 * This instructs gengrid to release references to contents in the item,
296 * meaning that they will no longer be managed by gengrid and are floating
297 * "orphans" that can be re-used elsewhere if the user wants to.
298 *
299 * @param[in] obj The object.
300 * @param[out] l The contents list to return.
301 *
302 * @since 1.18
303 *
304 * @ingroup Elm_Gengrid_Item_Group
305 */
306EAPI void elm_gengrid_item_all_contents_unset(Elm_Gengrid_Item *obj, Eina_List **l);
307
308#endif