summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_genlist_eo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_genlist_eo.h')
-rw-r--r--src/lib/elementary/elm_genlist_eo.h1014
1 files changed, 1014 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_genlist_eo.h b/src/lib/elementary/elm_genlist_eo.h
new file mode 100644
index 0000000..f132027
--- /dev/null
+++ b/src/lib/elementary/elm_genlist_eo.h
@@ -0,0 +1,1014 @@
1#ifndef _ELM_GENLIST_EO_H_
2#define _ELM_GENLIST_EO_H_
3
4#ifndef _ELM_GENLIST_EO_CLASS_TYPE
5#define _ELM_GENLIST_EO_CLASS_TYPE
6
7typedef Eo Elm_Genlist;
8
9#endif
10
11#ifndef _ELM_GENLIST_EO_TYPES
12#define _ELM_GENLIST_EO_TYPES
13
14
15#endif
16/** Elementary genlist class
17 *
18 * @ingroup Elm_Genlist
19 */
20#define ELM_GENLIST_CLASS elm_genlist_class_get()
21
22EWAPI const Efl_Class *elm_genlist_class_get(void);
23
24/**
25 * @brief Enable/disable homogeneous mode.
26 *
27 * This will enable the homogeneous mode where items are of the same height and
28 * width so that genlist may do the lazy-loading at its maximum (which
29 * increases the performance for scrolling the list). In the normal mode,
30 * genlist will pre-calculate all the items' sizes even though they are not in
31 * use. So items' callbacks are called many times than expected. But
32 * homogeneous mode will skip the item size pre-calculation process so items'
33 * callbacks are called only when the item is needed.
34 *
35 * @note This also works well with group index.
36 *
37 * @param[in] obj The object.
38 * @param[in] homogeneous Assume the items within the genlist are of the same
39 * height and width. Default is @c false.
40 *
41 * @ingroup Elm_Genlist
42 */
43EOAPI void elm_obj_genlist_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
44
45/**
46 * @brief Get whether the homogeneous mode is enabled.
47 *
48 * @param[in] obj The object.
49 *
50 * @return Assume the items within the genlist are of the same height and
51 * width. Default is @c false.
52 *
53 * @ingroup Elm_Genlist
54 */
55EOAPI Eina_Bool elm_obj_genlist_homogeneous_get(const Eo *obj);
56
57/**
58 * @brief Set the genlist select mode.
59 *
60 * #ELM_OBJECT_SELECT_MODE_DEFAULT means that items will call their selection
61 * func and callback once when first becoming selected. Any further clicks will
62 * do nothing, unless you set always select mode. ELM_OBJECT_SELECT_MODE_ALWAYS
63 * means that even if selected, every click will make the selected callbacks be
64 * called. #ELM_OBJECT_SELECT_MODE_NONE will turn off the ability to select
65 * items entirely and they will neither appear selected nor call selected
66 * callback functions.
67 *
68 * @param[in] obj The object.
69 * @param[in] mode The select mode.
70 *
71 * @ingroup Elm_Genlist
72 */
73EOAPI void elm_obj_genlist_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
74
75/**
76 * @brief Get the genlist select mode.
77 *
78 * @param[in] obj The object.
79 *
80 * @return The select mode.
81 *
82 * @ingroup Elm_Genlist
83 */
84EOAPI Elm_Object_Select_Mode elm_obj_genlist_select_mode_get(const Eo *obj);
85
86/**
87 * @brief Set focus upon items selection mode
88 *
89 * When enabled, every selection of an item inside the genlist will
90 * automatically set focus to its first focusable widget from the left. This is
91 * true of course if the selection was made by clicking an unfocusable area in
92 * an item or selecting it with a key movement. Clicking on a focusable widget
93 * inside an item will cause this particular item to get focus as usual.
94 *
95 * @param[in] obj The object.
96 * @param[in] enabled The tree effect status.
97 *
98 * @ingroup Elm_Genlist
99 */
100EOAPI void elm_obj_genlist_focus_on_selection_set(Eo *obj, Eina_Bool enabled);
101
102/**
103 * @brief Get whether focus upon item's selection mode is enabled.
104 *
105 * @param[in] obj The object.
106 *
107 * @return The tree effect status.
108 *
109 * @ingroup Elm_Genlist
110 */
111EOAPI Eina_Bool elm_obj_genlist_focus_on_selection_get(const Eo *obj);
112
113/**
114 * @brief Set the timeout in seconds for the longpress event.
115 *
116 * This option will change how long it takes to send an event "longpressed"
117 * after the mouse down signal is sent to the list. If this event occurs, no
118 * "clicked" event will be sent.
119 *
120 * @warning If you set the longpress timeout value with this API, your genlist
121 * will not be affected by the longpress value of elementary config value
122 * later.
123 *
124 * @param[in] obj The object.
125 * @param[in] timeout Timeout in seconds. Default is elm config value (1.0).
126 *
127 * @ingroup Elm_Genlist
128 */
129EOAPI void elm_obj_genlist_longpress_timeout_set(Eo *obj, double timeout);
130
131/**
132 * @brief Get the timeout in seconds for the longpress event.
133 *
134 * @param[in] obj The object.
135 *
136 * @return Timeout in seconds. Default is elm config value (1.0).
137 *
138 * @ingroup Elm_Genlist
139 */
140EOAPI double elm_obj_genlist_longpress_timeout_get(const Eo *obj);
141
142/**
143 * @brief Enable or disable multi-selection in the genlist.
144 *
145 * This enables ($true) or disables ($false) multi-selection in the list. This
146 * allows more than 1 item to be selected. To retrieve the list of selected
147 * items, use @ref elm_obj_genlist_selected_items_get.
148 *
149 * @param[in] obj The object.
150 * @param[in] multi Multi-select enable/disable. Default is disabled.
151 *
152 * @ingroup Elm_Genlist
153 */
154EOAPI void elm_obj_genlist_multi_select_set(Eo *obj, Eina_Bool multi);
155
156/**
157 * @brief Get if multi-selection in genlist is enabled or disabled.
158 *
159 * @param[in] obj The object.
160 *
161 * @return Multi-select enable/disable. Default is disabled.
162 *
163 * @ingroup Elm_Genlist
164 */
165EOAPI Eina_Bool elm_obj_genlist_multi_select_get(const Eo *obj);
166
167/**
168 * @brief Set reorder mode.
169 *
170 * After turning on the reorder mode, longpress on normal item will trigger
171 * reordering of the item. You can move the item up and down. However, reorder
172 * does not work with group item.
173 *
174 * @param[in] obj The object.
175 * @param[in] reorder_mode The reorder mode.
176 *
177 * @ingroup Elm_Genlist
178 */
179EOAPI void elm_obj_genlist_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
180
181/**
182 * @brief Get the reorder mode.
183 *
184 * @param[in] obj The object.
185 *
186 * @return The reorder mode.
187 *
188 * @ingroup Elm_Genlist
189 */
190EOAPI Eina_Bool elm_obj_genlist_reorder_mode_get(const Eo *obj);
191
192/**
193 * @brief Set Genlist decorate mode.
194 *
195 * This sets Genlist decorate mode to all items.
196 *
197 * @param[in] obj The object.
198 * @param[in] decorated The decorate mode status.
199 *
200 * @ingroup Elm_Genlist
201 */
202EOAPI void elm_obj_genlist_decorate_mode_set(Eo *obj, Eina_Bool decorated);
203
204/**
205 * @brief Get Genlist decorate mode.
206 *
207 * @param[in] obj The object.
208 *
209 * @return The decorate mode status.
210 *
211 * @ingroup Elm_Genlist
212 */
213EOAPI Eina_Bool elm_obj_genlist_decorate_mode_get(const Eo *obj);
214
215/**
216 * @brief Set the genlist multi select mode.
217 *
218 * #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT means that select/unselect items
219 * whenever each item is clicked. #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
220 * means that only one item will be selected although multi-selection is
221 * enabled, if clicked without pressing control key. This mode is only
222 * available with multi-selection.
223 *
224 * @param[in] obj The object.
225 * @param[in] mode The multi select mode
226 *
227 * @since 1.8
228 *
229 * @ingroup Elm_Genlist
230 */
231EOAPI void elm_obj_genlist_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Select_Mode mode);
232
233/**
234 * @brief Get the genlist multi select mode.
235 *
236 * @param[in] obj The object.
237 *
238 * @return The multi select mode
239 *
240 * @since 1.8
241 *
242 * @ingroup Elm_Genlist
243 */
244EOAPI Elm_Object_Multi_Select_Mode elm_obj_genlist_multi_select_mode_get(const Eo *obj);
245
246/**
247 * @brief Set the maximum number of items within an item block.
248 *
249 * This will configure the block count to tune to the target with particular
250 * performance matrix.
251 *
252 * A block of objects will be used to reduce the number of operations due to
253 * many objects in the screen. It can determine the visibility, or if the
254 * object has changed, it theme needs to be updated, etc. doing this kind of
255 * calculation to the entire block, instead of per object.
256 *
257 * The default value for the block count is enough for most lists, so unless
258 * you know you will have a lot of objects visible in the screen at the same
259 * time, don't try to change this.
260 *
261 * @param[in] obj The object.
262 * @param[in] count Maximum number of items within an item block. Default is
263 * 32.
264 *
265 * @ingroup Elm_Genlist
266 */
267EOAPI void elm_obj_genlist_block_count_set(Eo *obj, int count);
268
269/**
270 * @brief Get the maximum number of items within an item block.
271 *
272 * @param[in] obj The object.
273 *
274 * @return Maximum number of items within an item block. Default is 32.
275 *
276 * @ingroup Elm_Genlist
277 */
278EOAPI int elm_obj_genlist_block_count_get(const Eo *obj);
279
280/**
281 * @brief Control genlist tree effect.
282 *
283 * @param[in] obj The object.
284 * @param[in] enabled The tree effect status.
285 *
286 * @ingroup Elm_Genlist
287 */
288EOAPI void elm_obj_genlist_tree_effect_enabled_set(Eo *obj, Eina_Bool enabled);
289
290/**
291 * @brief Control genlist tree effect.
292 *
293 * @param[in] obj The object.
294 *
295 * @return The tree effect status.
296 *
297 * @ingroup Elm_Genlist
298 */
299EOAPI Eina_Bool elm_obj_genlist_tree_effect_enabled_get(const Eo *obj);
300
301/**
302 * @brief Set whether the genlist items should be highlighted on item
303 * selection.
304 *
305 * This will turn on/off the highlight effect on item selection. The selected
306 * and clicked callback functions will still be called.
307 *
308 * Highlight is enabled by default.
309 *
310 * @param[in] obj The object.
311 * @param[in] highlight @c true to enable highlighting or @c false to disable
312 * it.
313 *
314 * @ingroup Elm_Genlist
315 */
316EOAPI void elm_obj_genlist_highlight_mode_set(Eo *obj, Eina_Bool highlight);
317
318/**
319 * @brief Get whether the genlist items' should be highlighted when item
320 * selected.
321 *
322 * @param[in] obj The object.
323 *
324 * @return @c true to enable highlighting or @c false to disable it.
325 *
326 * @ingroup Elm_Genlist
327 */
328EOAPI Eina_Bool elm_obj_genlist_highlight_mode_get(const Eo *obj);
329
330/**
331 * @brief This sets the horizontal stretching mode.
332 *
333 * This sets the mode used for sizing items horizontally. Valid modes are
334 * @ref ELM_LIST_LIMIT, @ref ELM_LIST_SCROLL, and @ref ELM_LIST_COMPRESS. The
335 * default is @ref ELM_LIST_SCROLL. This mode means that if items are too wide
336 * to fit, the scroller will scroll horizontally. Otherwise items are expanded
337 * to fill the width of the viewport of the scroller. If it is
338 * @ref ELM_LIST_LIMIT, items will be expanded to the viewport width and
339 * limited to that size. If it is @ref ELM_LIST_COMPRESS, the item width will
340 * be fixed (restricted to a minimum of) to the list width when calculating its
341 * size in order to allow the height to be calculated based on it. This allows,
342 * for instance, text block to wrap lines if the Edje part is configured with
343 * "text.min: 0 1".
344 *
345 * @note @ref ELM_LIST_COMPRESS will make list resize slower as it will have to
346 * recalculate every item height again whenever the list width changes!
347 *
348 * @note Homogeneous mode gives all items in the genlist the same width/height.
349 * With @ref ELM_LIST_COMPRESS, genlist items initialize fast, but there cannot
350 * be any sub-objects in the genlist which require on-the-fly resizing (such as
351 * TEXTBLOCK). In this case some dynamic resizable objects in the genlist might
352 * not diplay properly.
353 *
354 * @param[in] obj The object.
355 * @param[in] mode The mode to use (one of @ref ELM_LIST_SCROLL or
356 * @ref ELM_LIST_LIMIT).
357 *
358 * @ingroup Elm_Genlist
359 */
360EOAPI void elm_obj_genlist_mode_set(Eo *obj, Elm_List_Mode mode);
361
362/**
363 * @brief Get the horizontal stretching mode.
364 *
365 * @param[in] obj The object.
366 *
367 * @return The mode to use (one of @ref ELM_LIST_SCROLL or
368 * @ref ELM_LIST_LIMIT).
369 *
370 * @ingroup Elm_Genlist
371 */
372EOAPI Elm_List_Mode elm_obj_genlist_mode_get(const Eo *obj);
373
374/**
375 * @brief Get active genlist mode item.
376 *
377 * This function returns the item that was activated with a mode, by the
378 * function @ref elm_obj_genlist_decorate_mode_set.
379 *
380 * @param[in] obj The object.
381 *
382 * @return The active item for that current mode. Or @c null if no item is
383 * activated with any mode.
384 *
385 * @ingroup Elm_Genlist
386 */
387EOAPI Elm_Widget_Item *elm_obj_genlist_decorated_item_get(const Eo *obj);
388
389/**
390 * @brief Get the selected item in the genlist.
391 *
392 * This gets the selected item in the list (if multi-selection is enabled, only
393 * the item that was first selected in the list is returned - which is not very
394 * useful, so see @ref elm_obj_genlist_selected_items_get for when
395 * multi-selection is used).
396 *
397 * If no item is selected, @c null is returned.
398 *
399 * @param[in] obj The object.
400 *
401 * @return The selected item, or @c null if none is selected.
402 *
403 * @ingroup Elm_Genlist
404 */
405EOAPI Elm_Widget_Item *elm_obj_genlist_selected_item_get(const Eo *obj);
406
407/**
408 * @brief Get the first item in the genlist.
409 *
410 * This returns the first item in the list.
411 *
412 * If filter is set on genlist, it returns the first filtered item in the list.
413 *
414 * @param[in] obj The object.
415 *
416 * @return The first item or @c null.
417 *
418 * @ingroup Elm_Genlist
419 */
420EOAPI Elm_Widget_Item *elm_obj_genlist_first_item_get(const Eo *obj);
421
422/**
423 * @brief Get a list of realized items in genlist.
424 *
425 * This returns a list of the realized items in the genlist. The list contains
426 * genlist item pointers. The list must be freed by the caller when done with
427 * @ref eina_list_free. The item pointers in the list are only valid so long as
428 * those items are not deleted or the genlist is not deleted.
429 *
430 * @param[in] obj The object.
431 *
432 * @return List of realized items
433 *
434 * @ingroup Elm_Genlist
435 */
436EOAPI Eina_List *elm_obj_genlist_realized_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
437
438/**
439 * @brief Get a list of selected items in the genlist.
440 *
441 * It returns a list of the selected items. This list pointer is only valid so
442 * long as the selection doesn't change (no items are selected or unselected,
443 * or unselected implicitl by deletion). The list contains genlist items
444 * pointers. The order of the items in this list is the order which they were
445 * selected, i.e. the first item in this list is the first item that was
446 * selected, and so on.
447 *
448 * @note If not in multi-select mode, consider using function
449 * @ref elm_obj_genlist_selected_item_get instead.
450 *
451 * @param[in] obj The object.
452 *
453 * @return List of selected items
454 *
455 * @ingroup Elm_Genlist
456 */
457EOAPI const Eina_List *elm_obj_genlist_selected_items_get(const Eo *obj);
458
459/**
460 * @brief Get the last item in the genlist
461 *
462 * This returns the last item in the list.
463 *
464 * If filter is set to genlist, it returns last filtered item in the list.
465 *
466 * @param[in] obj The object.
467 *
468 * @return Last item in list
469 *
470 * @ingroup Elm_Genlist
471 */
472EOAPI Elm_Widget_Item *elm_obj_genlist_last_item_get(const Eo *obj);
473
474/**
475 * @brief Insert an item before another in a genlist widget
476 *
477 * This inserts an item before another in the list. It will be in the same tree
478 * level or group as the item it is inserted before.
479 *
480 * @param[in] obj The object.
481 * @param[in] itc The item class for the item.
482 * @param[in] data The item data.
483 * @param[in] parent The parent item, or @c null if none.
484 * @param[in] before_it The item to place this new one before.
485 * @param[in] type Item type.
486 * @param[in] func Convenience function called when the item is selected.
487 * @param[in] func_data Data passed to @c func above.
488 *
489 * @return Handle to inserted item
490 *
491 * @ingroup Elm_Genlist
492 */
493EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_before(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Widget_Item *before_it, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
494
495/**
496 * @brief Update the contents of all realized items.
497 *
498 * This updates all realized items by calling all the item class functions
499 * again to get the contents, texts and states. Use this when the original item
500 * data has changed and the changes are desired to be reflected.
501 *
502 * To update just one item, use @ref elm_genlist_item_update.
503 * @param[in] obj The object.
504 *
505 * @ingroup Elm_Genlist
506 */
507EOAPI void elm_obj_genlist_realized_items_update(Eo *obj);
508
509/**
510 * @brief Insert an item after another in a genlist widget
511 *
512 * This inserts an item after another in the list. It will be in the same tree
513 * level or group as the item it is inserted after.
514 *
515 * @param[in] obj The object.
516 * @param[in] itc The item class for the item.
517 * @param[in] data The item data.
518 * @param[in] parent The parent item, or @c null if none.
519 * @param[in] after_it The item to place this new one after.
520 * @param[in] type Item type.
521 * @param[in] func Convenience function called when the item is selected.
522 * @param[in] func_data Data passed to @c func above.
523 *
524 * @return Handle to inserted item
525 *
526 * @ingroup Elm_Genlist
527 */
528EOAPI Elm_Widget_Item *elm_obj_genlist_item_insert_after(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Widget_Item *after_it, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
529
530/**
531 * @brief Get the item that is at the x, y canvas coords.
532 *
533 * This returns the item at the given coordinates (which are canvas relative,
534 * not object-relative). If an item is at that coordinate, that item handle is
535 * returned, and if @c posret is not NULL, the integer pointed to is set to a
536 * value of -1, 0 or 1, depending if the coordinate is on the upper portion of
537 * that item (-1), on the middle section (0) or on the lower part (1). If NULL
538 * is returned as an item (no item found there), then posret may indicate -1 or
539 * 1 based if the coordinate is above or below all items respectively in the
540 * genlist.
541 *
542 * @param[in] obj The object.
543 * @param[in] x The input x coordinate.
544 * @param[in] y The input y coordinate.
545 * @param[out] posret The position relative to the item returned here.
546 *
547 * @return Item at position
548 *
549 * @ingroup Elm_Genlist
550 */
551EOAPI Elm_Widget_Item *elm_obj_genlist_at_xy_item_get(const Eo *obj, int x, int y, int *posret);
552
553/**
554 * @brief Set filter mode with key.
555 *
556 * This initiates the filter mode of genlist with user/application provided
557 * key. If key is NULL, the filter mode is turned off.
558 *
559 * The filter data passed has to be managed by application itself and should
560 * not be deleted before genlist is deleted(or while filtering is not done.
561 *
562 * @param[in] obj The object.
563 * @param[in] key Filter key
564 *
565 * @ingroup Elm_Genlist
566 */
567EOAPI void elm_obj_genlist_filter_set(Eo *obj, void *key);
568
569/**
570 * @brief Returns an iterator over the list of filtered items.
571 *
572 * Return NULL if filter is not set. Application must take care of the case
573 * while calling the API. Must be freed after use.
574 *
575 * @param[in] obj The object.
576 *
577 * @return Iterator on genlist
578 *
579 * @ingroup Elm_Genlist
580 */
581EOAPI Eina_Iterator *elm_obj_genlist_filter_iterator_new(Eo *obj);
582
583/**
584 * @brief Return how many items have passed the filter currently.
585 *
586 * This behaviour is O(1) and returns the count of items which are currently
587 * passed by the filter. After "filter,done", the call returns total count of
588 * the filtered items.
589 *
590 * @param[in] obj The object.
591 *
592 * @return Count of items passing the filter
593 *
594 * @since 1.18
595 *
596 * @ingroup Elm_Genlist
597 */
598EOAPI unsigned int elm_obj_genlist_filtered_items_count(const Eo *obj);
599
600/**
601 * @brief Return how many items are currently in a list.
602 *
603 * This behavior is O(1) and includes items which may or may not be realized.
604 *
605 * @param[in] obj The object.
606 *
607 * @return Item in list
608 *
609 * @ingroup Elm_Genlist
610 */
611EOAPI unsigned int elm_obj_genlist_items_count(const Eo *obj);
612
613/**
614 * @brief Prepend a new item in a given genlist widget.
615 *
616 * This adds an item to the beginning of the list or beginning of the children
617 * of the parent if given.
618 *
619 * @param[in] obj The object.
620 * @param[in] itc The item class for the item.
621 * @param[in] data The item data.
622 * @param[in] parent The parent item, or @c null if none.
623 * @param[in] type Item type.
624 * @param[in] func Convenience function called when the item is selected.
625 * @param[in] func_data Data passed to @c func above.
626 *
627 * @return Handle to prepended item
628 *
629 * @ingroup Elm_Genlist
630 */
631EOAPI Elm_Widget_Item *elm_obj_genlist_item_prepend(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
632
633/**
634 * @brief Remove all items from a given genlist widget.
635 *
636 * This removes (and deletes) all items in @c obj, leaving it empty.
637 * @param[in] obj The object.
638 *
639 * @ingroup Elm_Genlist
640 */
641EOAPI void elm_obj_genlist_clear(Eo *obj);
642
643/**
644 * @brief Append a new item in a given genlist widget.
645 *
646 * This adds the given item to the end of the list or the end of the children
647 * list if the @c parent is given.
648 *
649 * @param[in] obj The object.
650 * @param[in] itc The item class for the item.
651 * @param[in] data The item data.
652 * @param[in] parent The parent item, or @c null if none.
653 * @param[in] type Item type.
654 * @param[in] func Convenience function called when the item is selected.
655 * @param[in] func_data Data passed to @c func above.
656 *
657 * @return Handle to appended item
658 *
659 * @ingroup Elm_Genlist
660 */
661EOAPI Elm_Widget_Item *elm_obj_genlist_item_append(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
662
663/**
664 * @brief Insert a new item into the sorted genlist object
665 *
666 * This inserts an item in the genlist based on user defined comparison
667 * function. The two arguments passed to the function @c func are genlist item
668 * handles to compare.
669 *
670 * @param[in] obj The object.
671 * @param[in] itc The item class for the item.
672 * @param[in] data The item data.
673 * @param[in] parent The parent item, or @c null if none.
674 * @param[in] type Item type.
675 * @param[in] comp The function called for the sort.
676 * @param[in] func Convenience function called when the item is selected.
677 * @param[in] func_data Data passed to @c func above.
678 *
679 * @return Handle to inserted item
680 *
681 * @ingroup Elm_Genlist
682 */
683EOAPI Elm_Widget_Item *elm_obj_genlist_item_sorted_insert(Eo *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Widget_Item *parent, Elm_Genlist_Item_Type type, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
684
685/**
686 * @brief Get genlist item by given string.
687 *
688 * It takes pointer to the genlist item that will be used to start search from
689 * it.
690 *
691 * This function uses globs (like "*.jpg") for searching and takes search flags
692 * as last parameter That is a bitfield with values to be ored together or 0
693 * for no flags.
694 *
695 * @param[in] obj The object.
696 * @param[in] item_to_search_from Pointer to item to start search from. If
697 * @c null, search will be started from the first item of the genlist.
698 * @param[in] part_name Name of the TEXT part of genlist item to search string
699 * in.
700 * @param[in] pattern The search pattern.
701 * @param[in] flags Search flags.
702 *
703 * @return Searched item
704 *
705 * @since 1.11
706 *
707 * @ingroup Elm_Genlist
708 */
709EOAPI Elm_Widget_Item *elm_obj_genlist_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);
710
711EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_FOCUSED;
712
713/** Called when genlist item got focus
714 * @return Efl_Object *
715 *
716 * @ingroup Elm_Genlist
717 */
718#define ELM_GENLIST_EVENT_ITEM_FOCUSED (&(_ELM_GENLIST_EVENT_ITEM_FOCUSED))
719
720EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_UNFOCUSED;
721
722/** Called when genlist item lost focus
723 * @return Efl_Object *
724 *
725 * @ingroup Elm_Genlist
726 */
727#define ELM_GENLIST_EVENT_ITEM_UNFOCUSED (&(_ELM_GENLIST_EVENT_ITEM_UNFOCUSED))
728
729EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_DRAG;
730
731/** Called when vertical bar is dragged
732 *
733 * @ingroup Elm_Genlist
734 */
735#define ELM_GENLIST_EVENT_VBAR_DRAG (&(_ELM_GENLIST_EVENT_VBAR_DRAG))
736
737EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_PRESS;
738
739/** Called when vertical bar is pressed
740 *
741 * @ingroup Elm_Genlist
742 */
743#define ELM_GENLIST_EVENT_VBAR_PRESS (&(_ELM_GENLIST_EVENT_VBAR_PRESS))
744
745EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_UNPRESS;
746
747/** Called when vertical bar is no longer pressed
748 *
749 * @ingroup Elm_Genlist
750 */
751#define ELM_GENLIST_EVENT_VBAR_UNPRESS (&(_ELM_GENLIST_EVENT_VBAR_UNPRESS))
752
753EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_DRAG;
754
755/** Called when horizontal bar is dragged
756 *
757 * @ingroup Elm_Genlist
758 */
759#define ELM_GENLIST_EVENT_HBAR_DRAG (&(_ELM_GENLIST_EVENT_HBAR_DRAG))
760
761EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_PRESS;
762
763/** Called when horizontal bar is pressed
764 *
765 * @ingroup Elm_Genlist
766 */
767#define ELM_GENLIST_EVENT_HBAR_PRESS (&(_ELM_GENLIST_EVENT_HBAR_PRESS))
768
769EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_UNPRESS;
770
771/** Called when horizontal bar is no longer pressed
772 *
773 * @ingroup Elm_Genlist
774 */
775#define ELM_GENLIST_EVENT_HBAR_UNPRESS (&(_ELM_GENLIST_EVENT_HBAR_UNPRESS))
776
777EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_TOP;
778
779/** Called when top edge is reached
780 *
781 * @ingroup Elm_Genlist
782 */
783#define ELM_GENLIST_EVENT_EDGE_TOP (&(_ELM_GENLIST_EVENT_EDGE_TOP))
784
785EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_BOTTOM;
786
787/** Called when bottom edge is reached
788 *
789 * @ingroup Elm_Genlist
790 */
791#define ELM_GENLIST_EVENT_EDGE_BOTTOM (&(_ELM_GENLIST_EVENT_EDGE_BOTTOM))
792
793EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_LEFT;
794
795/** Called when left edge is reached
796 *
797 * @ingroup Elm_Genlist
798 */
799#define ELM_GENLIST_EVENT_EDGE_LEFT (&(_ELM_GENLIST_EVENT_EDGE_LEFT))
800
801EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_RIGHT;
802
803/** Called when right edge is reached
804 *
805 * @ingroup Elm_Genlist
806 */
807#define ELM_GENLIST_EVENT_EDGE_RIGHT (&(_ELM_GENLIST_EVENT_EDGE_RIGHT))
808
809EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED;
810
811/** Called when genlist item moved
812 * @return Efl_Object *
813 *
814 * @ingroup Elm_Genlist
815 */
816#define ELM_GENLIST_EVENT_MOVED (&(_ELM_GENLIST_EVENT_MOVED))
817
818EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_BEFORE;
819
820/** Called when genlist item moved before
821 * @return Efl_Object *
822 *
823 * @ingroup Elm_Genlist
824 */
825#define ELM_GENLIST_EVENT_MOVED_BEFORE (&(_ELM_GENLIST_EVENT_MOVED_BEFORE))
826
827EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_AFTER;
828
829/** Called when genlist item moved after
830 * @return Efl_Object *
831 *
832 * @ingroup Elm_Genlist
833 */
834#define ELM_GENLIST_EVENT_MOVED_AFTER (&(_ELM_GENLIST_EVENT_MOVED_AFTER))
835
836EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_SWIPE;
837
838/** Called when swipe is detected
839 * @return Efl_Object *
840 *
841 * @ingroup Elm_Genlist
842 */
843#define ELM_GENLIST_EVENT_SWIPE (&(_ELM_GENLIST_EVENT_SWIPE))
844
845EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_IN;
846
847/** Called when multitouch pinch in detected
848 * @return Efl_Object *
849 *
850 * @ingroup Elm_Genlist
851 */
852#define ELM_GENLIST_EVENT_MULTI_PINCH_IN (&(_ELM_GENLIST_EVENT_MULTI_PINCH_IN))
853
854EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_OUT;
855
856/** Called when multitouch pinch out detected
857 * @return Efl_Object *
858 *
859 * @ingroup Elm_Genlist
860 */
861#define ELM_GENLIST_EVENT_MULTI_PINCH_OUT (&(_ELM_GENLIST_EVENT_MULTI_PINCH_OUT))
862
863EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN;
864
865/** Called when multitouch swipe down detected
866 * @return Efl_Object *
867 *
868 * @ingroup Elm_Genlist
869 */
870#define ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN))
871
872EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_UP;
873
874/** Called when multitouch swipe up detected
875 * @return Efl_Object *
876 *
877 * @ingroup Elm_Genlist
878 */
879#define ELM_GENLIST_EVENT_MULTI_SWIPE_UP (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_UP))
880
881EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT;
882
883/** Called when multitouch swipe right detected
884 * @return Efl_Object *
885 *
886 * @ingroup Elm_Genlist
887 */
888#define ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT))
889
890EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT;
891
892/** Called when multitouch swipe left detected
893 * @return Efl_Object *
894 *
895 * @ingroup Elm_Genlist
896 */
897#define ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT))
898
899EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_RELEASED;
900
901/** Called when genlist is released
902 * @return Efl_Object *
903 *
904 * @ingroup Elm_Genlist
905 */
906#define ELM_GENLIST_EVENT_RELEASED (&(_ELM_GENLIST_EVENT_RELEASED))
907
908EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ACTIVATED;
909
910/** called when genlist is activated
911 * @return Efl_Object *
912 *
913 * @ingroup Elm_Genlist
914 */
915#define ELM_GENLIST_EVENT_ACTIVATED (&(_ELM_GENLIST_EVENT_ACTIVATED))
916
917EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HIGHLIGHTED;
918
919/** Called when genlist is highlighted
920 * @return Efl_Object *
921 *
922 * @ingroup Elm_Genlist
923 */
924#define ELM_GENLIST_EVENT_HIGHLIGHTED (&(_ELM_GENLIST_EVENT_HIGHLIGHTED))
925
926EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNHIGHLIGHTED;
927
928/** Called when genlist is no longer highlighted
929 * @return Efl_Object *
930 *
931 * @ingroup Elm_Genlist
932 */
933#define ELM_GENLIST_EVENT_UNHIGHLIGHTED (&(_ELM_GENLIST_EVENT_UNHIGHLIGHTED))
934
935EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_REALIZED;
936
937/** Called when genlist is realized
938 * @return Efl_Object *
939 *
940 * @ingroup Elm_Genlist
941 */
942#define ELM_GENLIST_EVENT_REALIZED (&(_ELM_GENLIST_EVENT_REALIZED))
943
944EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNREALIZED;
945
946/** Called when genlist is unrealized
947 * @return Efl_Object *
948 *
949 * @ingroup Elm_Genlist
950 */
951#define ELM_GENLIST_EVENT_UNREALIZED (&(_ELM_GENLIST_EVENT_UNREALIZED))
952
953EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACT_REQUEST;
954
955/** Called when contract is requested
956 * @return Efl_Object *
957 *
958 * @ingroup Elm_Genlist
959 */
960#define ELM_GENLIST_EVENT_CONTRACT_REQUEST (&(_ELM_GENLIST_EVENT_CONTRACT_REQUEST))
961
962EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPAND_REQUEST;
963
964/** Called when expand is requested
965 * @return Efl_Object *
966 *
967 * @ingroup Elm_Genlist
968 */
969#define ELM_GENLIST_EVENT_EXPAND_REQUEST (&(_ELM_GENLIST_EVENT_EXPAND_REQUEST))
970
971EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACTED;
972
973/** called when genlist is contracted
974 * @return Efl_Object *
975 *
976 * @ingroup Elm_Genlist
977 */
978#define ELM_GENLIST_EVENT_CONTRACTED (&(_ELM_GENLIST_EVENT_CONTRACTED))
979
980EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPANDED;
981
982/** Called when genlist is expanded
983 * @return Efl_Object *
984 *
985 * @ingroup Elm_Genlist
986 */
987#define ELM_GENLIST_EVENT_EXPANDED (&(_ELM_GENLIST_EVENT_EXPANDED))
988
989EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_INDEX_UPDATE;
990
991/** Called when genlist index updated
992 * @return Efl_Object *
993 *
994 * @ingroup Elm_Genlist
995 */
996#define ELM_GENLIST_EVENT_INDEX_UPDATE (&(_ELM_GENLIST_EVENT_INDEX_UPDATE))
997
998EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED;
999
1000/** Called when genlist tree effect finished
1001 *
1002 * @ingroup Elm_Genlist
1003 */
1004#define ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED (&(_ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED))
1005
1006EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_FILTER_DONE;
1007
1008/** Called when genlist filter is done
1009 *
1010 * @ingroup Elm_Genlist
1011 */
1012#define ELM_GENLIST_EVENT_FILTER_DONE (&(_ELM_GENLIST_EVENT_FILTER_DONE))
1013
1014#endif