1 #ifndef _ELM_GENGRID_EO_H_
2 #define _ELM_GENGRID_EO_H_
3 
4 #ifndef _ELM_GENGRID_EO_CLASS_TYPE
5 #define _ELM_GENGRID_EO_CLASS_TYPE
6 
7 typedef Eo Elm_Gengrid;
8 
9 #endif
10 
11 #ifndef _ELM_GENGRID_EO_TYPES
12 #define _ELM_GENGRID_EO_TYPES
13 
14 /** Gengrid reorder modes
15  *
16  * @ingroup Elm_Gengrid_Group
17  */
18 typedef enum
19 {
20   ELM_GENGRID_REORDER_TYPE_NORMAL = 0, /**< Normal reorder type */
21   ELM_GENGRID_REORDER_TYPE_SWAP /**< Swap reorder type */
22 } Elm_Gengrid_Reorder_Type;
23 
24 
25 #endif
26 /** Elementary gengrid class
27  *
28  * @ingroup Elm_Gengrid_Group
29  */
30 #define ELM_GENGRID_CLASS elm_gengrid_class_get()
31 
32 EWAPI const Efl_Class *elm_gengrid_class_get(void) EINA_CONST;
33 
34 /**
35  * @brief Set the items grid's alignment within a given gengrid widget.
36  *
37  * This sets the alignment of the whole grid of items of a gengrid within its
38  * given viewport. By default, those values are both 0.5, meaning that the
39  * gengrid will have its items grid placed exactly in the middle of its
40  * viewport.
41  *
42  * @note If given alignment values are out of the cited ranges, they'll be
43  * changed to the nearest boundary values on the valid ranges.
44  *
45  * @param[in] obj The object.
46  * @param[in] align_x Alignment in the horizontal axis (0 <= align_x <= 1).
47  * @param[in] align_y Alignment in the vertical axis (0 <= align_y <= 1).
48  *
49  * @ingroup Elm_Gengrid_Group
50  */
51 EOAPI void elm_obj_gengrid_align_set(Eo *obj, double align_x, double align_y);
52 
53 /**
54  * @brief Get the items grid's alignment values within a given gengrid widget.
55  *
56  * @note Use @c null pointers on the alignment values you're not interested in:
57  * they'll be ignored by the function.
58  *
59  * @param[in] obj The object.
60  * @param[out] align_x Alignment in the horizontal axis (0 <= align_x <= 1).
61  * @param[out] align_y Alignment in the vertical axis (0 <= align_y <= 1).
62  *
63  * @ingroup Elm_Gengrid_Group
64  */
65 EOAPI void elm_obj_gengrid_align_get(const Eo *obj, double *align_x, double *align_y);
66 
67 /**
68  * @brief Set how the items grid's filled within a given gengrid widget
69  *
70  * This sets the fill state of the whole grid of items of a gengrid within its
71  * given viewport. By default, this value is false, meaning that if the first
72  * line of items grid's isn't filled, the items are centered with the
73  * alignment.
74  *
75  * @param[in] obj The object.
76  * @param[in] fill @c true if the grid is filled, @c false otherwise
77  *
78  * @ingroup Elm_Gengrid_Group
79  */
80 EOAPI void elm_obj_gengrid_filled_set(Eo *obj, Eina_Bool fill);
81 
82 /**
83  * @brief Get how the items grid's filled within a given gengrid widget
84  *
85  * @note Use @c null pointers on the alignment values you're not interested in:
86  * they'll be ignored by the function.
87  *
88  * @param[in] obj The object.
89  *
90  * @return @c true if the grid is filled, @c false otherwise
91  *
92  * @ingroup Elm_Gengrid_Group
93  */
94 EOAPI Eina_Bool elm_obj_gengrid_filled_get(const Eo *obj);
95 
96 /**
97  * @brief Enable or disable multi-selection in a given gengrid widget.
98  *
99  * Multi-selection is the ability to have more than one item selected, on a
100  * given gengrid, simultaneously. When it is enabled, a sequence of clicks on
101  * different items will make them all selected, progressively. A click on an
102  * already selected item will unselect it. If interacting via the keyboard,
103  * multi-selection is enabled while holding the "Shift" key.
104  *
105  * @note By default, multi-selection is disabled on gengrids.
106  *
107  * @param[in] obj The object.
108  * @param[in] multi @c true if multislect is enabled, @c false otherwise
109  *
110  * @ingroup Elm_Gengrid_Group
111  */
112 EOAPI void elm_obj_gengrid_multi_select_set(Eo *obj, Eina_Bool multi);
113 
114 /**
115  * @brief Get whether multi-selection is enabled or disabled for a given
116  * gengrid widget.
117  *
118  * @param[in] obj The object.
119  *
120  * @return @c true if multislect is enabled, @c false otherwise
121  *
122  * @ingroup Elm_Gengrid_Group
123  */
124 EOAPI Eina_Bool elm_obj_gengrid_multi_select_get(const Eo *obj);
125 
126 /**
127  * @brief Set the size for the group items of a given gengrid widget.
128  *
129  * A gengrid, after creation, has still no information on the size to give to
130  * each of its cells. So, you most probably will end up with squares one @ref
131  * Fingers "finger" wide, the default size. Use this function to force a custom
132  * size for you group items, making them as big as you wish.
133  *
134  * @param[in] obj The object.
135  * @param[in] w The group items' width.
136  * @param[in] h The group items' height.
137  *
138  * @ingroup Elm_Gengrid_Group
139  */
140 EOAPI void elm_obj_gengrid_group_item_size_set(Eo *obj, int w, int h);
141 
142 /**
143  * @brief Get the size set for the group items of a given gengrid widget.
144  *
145  * @note Use @c null pointers on the size values you're not interested in:
146  * they'll be ignored by the function.
147  *
148  * @param[in] obj The object.
149  * @param[out] w The group items' width.
150  * @param[out] h The group items' height.
151  *
152  * @ingroup Elm_Gengrid_Group
153  */
154 EOAPI void elm_obj_gengrid_group_item_size_get(const Eo *obj, int *w, int *h);
155 
156 /**
157  * @brief Set the gengrid select mode.
158  *
159  * This changes item select mode in the gengrid widget.
160  * #ELM_OBJECT_SELECT_MODE_DEFAULT means that items will only call their
161  * selection func and callback when first becoming selected. Any further clicks
162  * will do nothing, unless you set always select mode.
163  * #ELM_OBJECT_SELECT_MODE_ALWAYS means that even if selected, every click will
164  * make the selected callbacks be called. #ELM_OBJECT_SELECT_MODE_NONE will
165  * turn off the ability to select items entirely and they will neither appear
166  * selected nor call selected callback functions.
167  *
168  * @param[in] obj The object.
169  * @param[in] mode The select mode.
170  *
171  * @ingroup Elm_Gengrid_Group
172  */
173 EOAPI void elm_obj_gengrid_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
174 
175 /**
176  * @brief Get the gengrid select mode.
177  *
178  * @param[in] obj The object.
179  *
180  * @return The select mode.
181  *
182  * @ingroup Elm_Gengrid_Group
183  */
184 EOAPI Elm_Object_Select_Mode elm_obj_gengrid_select_mode_get(const Eo *obj);
185 
186 /**
187  * @brief Set whether a given gengrid widget is or not able have items
188  * reordered.
189  *
190  * If a gengrid is set to allow reordering, a click held for more than 0.5 over
191  * a given item will highlight it specially, signaling the gengrid has entered
192  * the reordering state. From that time on, the user will be able to, while
193  * still holding the mouse button down, move the item freely in the gengrid's
194  * viewport, replacing to said item to the locations it goes to. The
195  * replacements will be animated and, whenever the user releases the mouse
196  * button, the item being replaced gets a new definitive place in the grid.
197  *
198  * @param[in] obj The object.
199  * @param[in] reorder_mode Use @c true to turn reordering on, @c false to turn
200  * it off.
201  *
202  * @ingroup Elm_Gengrid_Group
203  */
204 EOAPI void elm_obj_gengrid_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
205 
206 /**
207  * @brief Get whether a given gengrid widget is or not able have items
208  * reordered.
209  *
210  * @param[in] obj The object.
211  *
212  * @return Use @c true to turn reordering on, @c false to turn it off.
213  *
214  * @ingroup Elm_Gengrid_Group
215  */
216 EOAPI Eina_Bool elm_obj_gengrid_reorder_mode_get(const Eo *obj);
217 
218 /**
219  * @brief Control whether the gengrid items' should be highlighted when item
220  * selected.
221  *
222  * @param[in] obj The object.
223  * @param[in] highlight @c true if item will be highlighted, @c false otherwise
224  *
225  * @ingroup Elm_Gengrid_Group
226  */
227 EOAPI void elm_obj_gengrid_highlight_mode_set(Eo *obj, Eina_Bool highlight);
228 
229 /**
230  * @brief Control whether the gengrid items' should be highlighted when item
231  * selected.
232  *
233  * @param[in] obj The object.
234  *
235  * @return @c true if item will be highlighted, @c false otherwise
236  *
237  * @ingroup Elm_Gengrid_Group
238  */
239 EOAPI Eina_Bool elm_obj_gengrid_highlight_mode_get(const Eo *obj);
240 
241 /**
242  * @brief Set the Gengrid reorder type
243  *
244  * @param[in] obj The object.
245  * @param[in] type Reorder type value
246  *
247  * @since 1.11
248  *
249  * @ingroup Elm_Gengrid_Group
250  */
251 EOAPI void elm_obj_gengrid_reorder_type_set(Eo *obj, Elm_Gengrid_Reorder_Type type);
252 
253 /**
254  * @brief Set the size for the items of a given gengrid widget.
255  *
256  * A gengrid, after creation, has still no information on the size to give to
257  * each of its cells. So, you most probably will end up with squares one @ref
258  * Fingers "finger" wide, the default size. Use this function to force a custom
259  * size for you items, making them as big as you wish.
260  *
261  * @param[in] obj The object.
262  * @param[in] w The items' width.
263  * @param[in] h The items' height.
264  *
265  * @ingroup Elm_Gengrid_Group
266  */
267 EOAPI void elm_obj_gengrid_item_size_set(Eo *obj, int w, int h);
268 
269 /**
270  * @brief Get the size set for the items of a given gengrid widget.
271  *
272  * @note Use @c null pointers on the size values you're not interested in:
273  * they'll be ignored by the function.
274  *
275  * @param[in] obj The object.
276  * @param[out] w The items' width.
277  * @param[out] h The items' height.
278  *
279  * @ingroup Elm_Gengrid_Group
280  */
281 EOAPI void elm_obj_gengrid_item_size_get(const Eo *obj, int *w, int *h);
282 
283 /**
284  * @brief Set the gengrid multi select mode.
285  *
286  * #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT means that select/unselect items
287  * whenever each item is clicked. #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
288  * means that only one item will be selected although multi-selection is
289  * enabled, if clicked without pressing control key. This mode is only
290  * available with multi-selection.
291  *
292  * @param[in] obj The object.
293  * @param[in] mode The multi select mode.
294  *
295  * @since 1.8
296  *
297  * @ingroup Elm_Gengrid_Group
298  */
299 EOAPI void elm_obj_gengrid_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Select_Mode mode);
300 
301 /**
302  * @brief Get the gengrid multi select mode.
303  *
304  * If getting mode fails, it returns #ELM_OBJECT_MULTI_SELECT_MODE_MAX.
305  *
306  * @param[in] obj The object.
307  *
308  * @return The multi select mode.
309  *
310  * @since 1.8
311  *
312  * @ingroup Elm_Gengrid_Group
313  */
314 EOAPI Elm_Object_Multi_Select_Mode elm_obj_gengrid_multi_select_mode_get(const Eo *obj);
315 
316 /**
317  * @brief Set the direction in which a given gengrid widget will expand while
318  * placing its items.
319  *
320  * When in "horizontal mode" ($true), items will be placed in columns, from top
321  * to bottom and, when the space for a column is filled, another one is started
322  * on the right, thus expanding the grid horizontally. When in "vertical mode"
323  * ($false), though, items will be placed in rows, from left to right and, when
324  * the space for a row is filled, another one is started below, thus expanding
325  * the grid vertically.
326  *
327  * @note By default, gengrid is in vertical mode, @c false.
328  *
329  * @param[in] obj The object.
330  * @param[in] horizontal @c true to make the gengrid expand horizontally,
331  * @c false to expand vertically.
332  *
333  * @ingroup Elm_Gengrid_Group
334  */
335 EOAPI void elm_obj_gengrid_horizontal_set(Eo *obj, Eina_Bool horizontal);
336 
337 /**
338  * @brief Get for what direction a given gengrid widget will expand while
339  * placing its items.
340  *
341  * @param[in] obj The object.
342  *
343  * @return @c true to make the gengrid expand horizontally, @c false to expand
344  * vertically.
345  *
346  * @ingroup Elm_Gengrid_Group
347  */
348 EOAPI Eina_Bool elm_obj_gengrid_horizontal_get(const Eo *obj);
349 
350 /**
351  * @brief Get the selected item in a given gengrid widget.
352  *
353  * This returns the selected item in @c obj. If multi selection is enabled on
354  * @c obj (See @ref elm_obj_gengrid_multi_select_set), only the first item in
355  * the list is selected, which might not be very useful. For that case, see
356  * @ref elm_obj_gengrid_selected_items_get.
357  *
358  * @param[in] obj The object.
359  *
360  * @return The selected item's handle or @c null if none is selected at the
361  * moment (and on errors).
362  *
363  * @ingroup Elm_Gengrid_Group
364  */
365 EOAPI Elm_Widget_Item *elm_obj_gengrid_selected_item_get(const Eo *obj);
366 
367 /**
368  * @brief Get a list of realized items in gengrid.
369  *
370  * This returns a list of the realized items in the gengrid. The list contains
371  * gengrid item pointers. The list must be freed by the caller when done with
372  * eina_list_free(). The item pointers in the list are only valid so long as
373  * those items are not deleted or the gengrid is not deleted.
374  *
375  * @param[in] obj The object.
376  *
377  * @return The list of realized items or @c null if none are realized.
378  *
379  * @ingroup Elm_Gengrid_Group
380  */
381 EOAPI Eina_List *elm_obj_gengrid_realized_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
382 
383 /**
384  * @brief Get the first item in a given gengrid widget.
385  *
386  * This returns the first item in the @c obj's internal list of items.
387  *
388  * @param[in] obj The object.
389  *
390  * @return The first item's handle or @c null, if there are no items in @c obj
391  * (and on errors)
392  *
393  * @ingroup Elm_Gengrid_Group
394  */
395 EOAPI Elm_Widget_Item *elm_obj_gengrid_first_item_get(const Eo *obj);
396 
397 /**
398  * @brief Get a list of selected items in a given gengrid.
399  *
400  * This returns a list of the selected items, in the order that they appear in
401  * the grid. This list is only valid as long as no more items are selected or
402  * unselected (or unselected implicitly by deletion). The list contains Gengrid
403  * item pointers as data, naturally.
404  *
405  * @param[in] obj The object.
406  *
407  * @return The list of selected items or @c null, if none is selected at the
408  * moment (and on errors).
409  *
410  * @ingroup Elm_Gengrid_Group
411  */
412 EOAPI const Eina_List *elm_obj_gengrid_selected_items_get(const Eo *obj);
413 
414 /**
415  * @brief Get the last item in a given gengrid widget.
416  *
417  * This returns the last item in the @c obj's internal list of items.
418  *
419  * @param[in] obj The object.
420  *
421  * @return The last item's handle or @c null if there are no  items in @c obj
422  * (and on errors).
423  *
424  * @ingroup Elm_Gengrid_Group
425  */
426 EOAPI Elm_Widget_Item *elm_obj_gengrid_last_item_get(const Eo *obj);
427 
428 /**
429  * @brief Insert an item before another in a gengrid widget.
430  *
431  * This inserts an item before another in the gengrid.
432  *
433  * @param[in] obj The object.
434  * @param[in] itc The item class for the item.
435  * @param[in] data The item data.
436  * @param[in] relative The item to place this new one before.
437  * @param[in] func Convenience function called when the item is selected.
438  * @param[in] func_data Data to be passed to @c func.
439  *
440  * @return A handle to the item added or @c null on errors.
441  *
442  * @ingroup Elm_Gengrid_Group
443  */
444 EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_before(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Elm_Widget_Item *relative, Evas_Smart_Cb func, const void *func_data);
445 
446 /**
447  * @brief Update the contents of all realized items.
448  *
449  * This updates all realized items by calling all the item class functions
450  * again to get the contents, texts and states. Use this when the original item
451  * data has changed and the changes are desired to be reflected.
452  *
453  * To update just one item, use @ref elm_gengrid_item_update.
454  * @param[in] obj The object.
455  *
456  * @ingroup Elm_Gengrid_Group
457  */
458 EOAPI void elm_obj_gengrid_realized_items_update(Eo *obj);
459 
460 /**
461  * @brief Insert an item after another in a gengrid widget.
462  *
463  * This inserts an item after another in the gengrid.
464  *
465  * @param[in] obj The object.
466  * @param[in] itc The item class for the item.
467  * @param[in] data The item data.
468  * @param[in] relative The item to place this new one after.
469  * @param[in] func Convenience function called when the item is selected.
470  * @param[in] func_data Data to be passed to @c func.
471  *
472  * @return A handle to the item added or @c null on error.
473  *
474  * @ingroup Elm_Gengrid_Group
475  */
476 EOAPI Elm_Widget_Item *elm_obj_gengrid_item_insert_after(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Elm_Widget_Item *relative, Evas_Smart_Cb func, const void *func_data);
477 
478 /**
479  * @brief Return how many items are currently in a list
480  *
481  * This behavior is O(1) and includes items which may or may not be realized.
482  *
483  * @param[in] obj The object.
484  *
485  * @return Items in list
486  *
487  * @ingroup Elm_Gengrid_Group
488  */
489 EOAPI unsigned int elm_obj_gengrid_items_count(const Eo *obj);
490 
491 /**
492  * @brief Get the item that is at the x, y canvas coords.
493  *
494  * This returns the item at the given coordinates (which are canvas relative,
495  * not object-relative). If an item is at that coordinate, that item handle is
496  * returned, and if @c xposret is not @c null, the integer pointed to is set to
497  * a value of -1, 0 or 1, depending if the coordinate is on the left portion of
498  * that item (-1), on the middle section (0) or on the right part (1).
499  *
500  * If @c yposret is not @c null, the integer pointed to is set to a value of
501  * -1, 0 or 1, depending if the coordinate is on the upper portion of that item
502  * (-1), on the middle section (0) or on the lower part (1). If NULL is
503  * returned as an item (no item found there), then posret may indicate -1 or 1
504  * based if the coordinate is above or below all items respectively in the
505  * gengrid.
506  *
507  * @param[in] obj The object.
508  * @param[in] x The input x coordinate.
509  * @param[in] y The input y coordinate.
510  * @param[out] xposret The position relative to the item returned here.
511  * @param[out] yposret The position relative to the item returned here.
512  *
513  * @return The item at the coordinates or @c null if none.
514  *
515  * @ingroup Elm_Gengrid_Group
516  */
517 EOAPI Elm_Widget_Item *elm_obj_gengrid_at_xy_item_get(const Eo *obj, int x, int y, int *xposret, int *yposret);
518 
519 /**
520  * @brief Append a new item in a given gengrid widget.
521  *
522  * This adds an item to the beginning of the gengrid.
523  *
524  * @param[in] obj The object.
525  * @param[in] itc The item class for the item.
526  * @param[in] data The item data.
527  * @param[in] func Convenience function called when the item is selected.
528  * @param[in] func_data Data to be passed to @c func.
529  *
530  * @return A handle to the item added or @c null on errors.
531  *
532  * @ingroup Elm_Gengrid_Group
533  */
534 EOAPI Elm_Widget_Item *elm_obj_gengrid_item_append(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void *func_data);
535 
536 /**
537  * @brief Prepend a new item in a given gengrid widget.
538  *
539  * This adds an item to the end of the gengrid.
540  *
541  * @param[in] obj The object.
542  * @param[in] itc The item class for the item.
543  * @param[in] data The item data.
544  * @param[in] func Convenience function called when the item is selected.
545  * @param[in] func_data Data to be passed to @c func.
546  *
547  * @return A handle to the item added or @c null on errors.
548  *
549  * @ingroup Elm_Gengrid_Group
550  */
551 EOAPI Elm_Widget_Item *elm_obj_gengrid_item_prepend(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Evas_Smart_Cb func, const void *func_data);
552 
553 /**
554  * @brief Remove all items from a given gengrid widget.
555  *
556  * This removes (and deletes) all items in @c obj, leaving it empty.
557  *
558  * See @ref elm_gengrid_item_del to remove just one item.
559  * @param[in] obj The object.
560  *
561  * @ingroup Elm_Gengrid_Group
562  */
563 EOAPI void elm_obj_gengrid_clear(Eo *obj);
564 
565 /**
566  * @brief Insert an item in a gengrid widget using a user-defined sort
567  * function.
568  *
569  * This inserts an item in the gengrid based on user defined comparison
570  * function. The two arguments passed to the function @c func are gengrid item
571  * handles to compare.
572  *
573  * @param[in] obj The object.
574  * @param[in] itc The item class for the item.
575  * @param[in] data The item data.
576  * @param[in] comp User defined comparison function that defines the sort order
577  * based on gengrid item and its data.
578  * @param[in] func Convenience function called when the item is selected.
579  * @param[in] func_data Data to be passed to @c func.
580  *
581  * @return A handle to the item added or @c null on errors.
582  *
583  * @ingroup Elm_Gengrid_Group
584  */
585 EOAPI Elm_Widget_Item *elm_obj_gengrid_item_sorted_insert(Eo *obj, const Elm_Gengrid_Item_Class *itc, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
586 
587 /**
588  * @brief Get gengrid item by given string.
589  *
590  * It takes pointer to the gengrid item that will be used to start search from
591  * it.
592  *
593  * This function uses globs (like "*.jpg") for searching and takes search flags
594  * as last parameter That is a bitfield with values to be ored together or 0
595  * for no flags.
596  *
597  * @param[in] obj The object.
598  * @param[in] item_to_search_from Pointer to item to start search from. If
599  * @c null, search will be started from the first item of the gengrid.
600  * @param[in] part_name Name of the TEXT part of gengrid item to search string
601  * in. If @c null, search by "elm.text" parts.
602  * @param[in] pattern The search pattern.
603  * @param[in] flags Search flags.
604  *
605  * @return Pointer to the gengrid item which matches search_string in case of
606  * success, otherwise @c null.
607  *
608  * @since 1.11
609  *
610  * @ingroup Elm_Gengrid_Group
611  */
612 EOAPI Elm_Widget_Item *elm_obj_gengrid_search_by_text_item_get(Eo *obj, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
613 
614 /**
615  * @brief Starts the reorder mode of Gengrid
616  *
617  * @param[in] obj The object.
618  * @param[in] tween_mode Position mappings for animation
619  *
620  * @since 1.10
621  *
622  * @ingroup Elm_Gengrid_Group
623  */
624 EOAPI void elm_obj_gengrid_reorder_mode_start(Eo *obj, Ecore_Pos_Map tween_mode);
625 
626 /** Stops the reorder mode of Gengrid
627  *
628  * @since 1.10
629  *
630  * @ingroup Elm_Gengrid_Group
631  */
632 EOAPI void elm_obj_gengrid_reorder_mode_stop(Eo *obj);
633 
634 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_REALIZED;
635 
636 /** Called when gengrid realized
637  * @return Efl_Object *
638  *
639  * @ingroup Elm_Gengrid_Group
640  */
641 #define ELM_GENGRID_EVENT_REALIZED (&(_ELM_GENGRID_EVENT_REALIZED))
642 
643 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_UNREALIZED;
644 
645 /** Called when gengrid unrealized
646  * @return Efl_Object *
647  *
648  * @ingroup Elm_Gengrid_Group
649  */
650 #define ELM_GENGRID_EVENT_UNREALIZED (&(_ELM_GENGRID_EVENT_UNREALIZED))
651 
652 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_INDEX_UPDATE;
653 
654 /** Called on gengrid index update
655  * @return Efl_Object *
656  *
657  * @ingroup Elm_Gengrid_Group
658  */
659 #define ELM_GENGRID_EVENT_INDEX_UPDATE (&(_ELM_GENGRID_EVENT_INDEX_UPDATE))
660 
661 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED;
662 
663 /** Called when scroll page changed
664  *
665  * @ingroup Elm_Gengrid_Group
666  */
667 #define ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED (&(_ELM_GENGRID_EVENT_SCROLL_PAGE_CHANGED))
668 
669 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_BOTTOM;
670 
671 /** Called when bottom edge is reached
672  *
673  * @ingroup Elm_Gengrid_Group
674  */
675 #define ELM_GENGRID_EVENT_EDGE_BOTTOM (&(_ELM_GENGRID_EVENT_EDGE_BOTTOM))
676 
677 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_TOP;
678 
679 /** Called when top edge is reached
680  *
681  * @ingroup Elm_Gengrid_Group
682  */
683 #define ELM_GENGRID_EVENT_EDGE_TOP (&(_ELM_GENGRID_EVENT_EDGE_TOP))
684 
685 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_RIGHT;
686 
687 /** Called when right edge is reached
688  *
689  * @ingroup Elm_Gengrid_Group
690  */
691 #define ELM_GENGRID_EVENT_EDGE_RIGHT (&(_ELM_GENGRID_EVENT_EDGE_RIGHT))
692 
693 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_EDGE_LEFT;
694 
695 /** Called when left edge is reached
696  *
697  * @ingroup Elm_Gengrid_Group
698  */
699 #define ELM_GENGRID_EVENT_EDGE_LEFT (&(_ELM_GENGRID_EVENT_EDGE_LEFT))
700 
701 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_FOCUSED;
702 
703 /** Called when item got focus
704  * @return Efl_Object *
705  *
706  * @ingroup Elm_Gengrid_Group
707  */
708 #define ELM_GENGRID_EVENT_ITEM_FOCUSED (&(_ELM_GENGRID_EVENT_ITEM_FOCUSED))
709 
710 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_UNFOCUSED;
711 
712 /** Called when item no longer has focus
713  * @return Efl_Object *
714  *
715  * @ingroup Elm_Gengrid_Group
716  */
717 #define ELM_GENGRID_EVENT_ITEM_UNFOCUSED (&(_ELM_GENGRID_EVENT_ITEM_UNFOCUSED))
718 
719 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_START;
720 
721 /** Called when item reorder animation started
722  * @return Efl_Object *
723  *
724  * @ingroup Elm_Gengrid_Group
725  */
726 #define ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_START (&(_ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_START))
727 
728 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_STOP;
729 
730 /** Called when item reorder animation stopped
731  * @return Efl_Object *
732  *
733  * @ingroup Elm_Gengrid_Group
734  */
735 #define ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_STOP (&(_ELM_GENGRID_EVENT_ITEM_REORDER_ANIM_STOP))
736 
737 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_ACTIVATED;
738 
739 /** Called when gengrid got activated
740  * @return Efl_Object *
741  *
742  * @ingroup Elm_Gengrid_Group
743  */
744 #define ELM_GENGRID_EVENT_ACTIVATED (&(_ELM_GENGRID_EVENT_ACTIVATED))
745 
746 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_HIGHLIGHTED;
747 
748 /** Called when gengrid is highlighted
749  * @return Efl_Object *
750  *
751  * @ingroup Elm_Gengrid_Group
752  */
753 #define ELM_GENGRID_EVENT_HIGHLIGHTED (&(_ELM_GENGRID_EVENT_HIGHLIGHTED))
754 
755 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_UNHIGHLIGHTED;
756 
757 /** Called when gengrid is no longer highlighted
758  * @return Efl_Object *
759  *
760  * @ingroup Elm_Gengrid_Group
761  */
762 #define ELM_GENGRID_EVENT_UNHIGHLIGHTED (&(_ELM_GENGRID_EVENT_UNHIGHLIGHTED))
763 
764 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_RELEASED;
765 
766 /** Called when gengrid is released
767  * @return Efl_Object *
768  *
769  * @ingroup Elm_Gengrid_Group
770  */
771 #define ELM_GENGRID_EVENT_RELEASED (&(_ELM_GENGRID_EVENT_RELEASED))
772 
773 EWAPI extern const Efl_Event_Description _ELM_GENGRID_EVENT_MOVED;
774 
775 /** Called when gengrid item moved
776  * @return Efl_Object *
777  *
778  * @ingroup Elm_Gengrid_Group
779  */
780 #define ELM_GENGRID_EVENT_MOVED (&(_ELM_GENGRID_EVENT_MOVED))
781 
782 #endif
783