lib/elementary/elm_map.eo.cs \
lib/elementary/elm_combobox.eo.cs \
lib/elementary/elm_list.eo.cs \
-lib/elementary/elm_genlist.eo.cs \
+lib/elementary/elm_genlist_eo.cs \
lib/elementary/elm_view_list.eo.cs \
-lib/elementary/elm_genlist_item.eo.cs \
+lib/elementary/elm_genlist_item_eo.cs \
lib/elementary/elm_gengrid_eo.cs \
lib/elementary/elm_glview.eo.cs
lib/elementary/efl_ui_animation_view.eo \
lib/elementary/efl_ui_clock_legacy.eo \
lib/elementary/elm_interface_fileselector.eo \
- lib/elementary/elm_genlist.eo \
- lib/elementary/elm_genlist_pan.eo \
lib/elementary/elm_gesture_layer.eo \
lib/elementary/elm_glview.eo \
lib/elementary/elm_hover.eo \
lib/elementary/elm_menu_item.eo \
lib/elementary/elm_index_item.eo \
lib/elementary/elm_widget_item_static_focus.eo \
- lib/elementary/elm_genlist_item.eo \
lib/elementary/elm_list_item.eo \
lib/elementary/elm_popup_item.eo \
lib/elementary/elm_ctxpopup_part.eo \
lib/elementary/elm_gengrid_item_eo.legacy.c \
lib/elementary/elm_gengrid_item_eo.c \
lib/elementary/elm_gengrid_pan_eo.c \
+lib/elementary/elm_genlist_eo.legacy.c \
+lib/elementary/elm_genlist_eo.c \
+lib/elementary/elm_genlist_item_eo.legacy.c \
+lib/elementary/elm_genlist_item_eo.c \
+lib/elementary/elm_genlist_pan_eo.c \
lib/elementary/elm_hoversel_eo.c \
lib/elementary/elm_hoversel_item_eo.c \
lib/elementary/elm_hoversel_item_eo.legacy.c
lib/elementary/elm_gengrid_item_eo.legacy.h \
lib/elementary/elm_gengrid_pan_eo.h \
lib/elementary/elm_gengrid_pan_eo.legacy.h \
+lib/elementary/elm_gengrid_pan_eo.h \
+lib/elementary/elm_gengrid_pan_eo.legacy.h \
+lib/elementary/elm_genlist_eo.h \
+lib/elementary/elm_genlist_eo.legacy.h \
+lib/elementary/elm_genlist_item_eo.h \
+lib/elementary/elm_genlist_item_eo.legacy.h \
+lib/elementary/elm_genlist_pan_eo.h \
+lib/elementary/elm_genlist_pan_eo.legacy.h \
lib/elementary/elm_hoversel_eo.h \
lib/elementary/elm_hoversel_eo.legacy.h \
lib/elementary/elm_hoversel_item_eo.h \
#include "elm_priv.h"
#include "elm_widget_combobox.h"
#include "elm_entry_eo.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_hover.eo.h"
EOAPI void elm_obj_combobox_hover_begin(Eo *obj);
#include "elm_widget_fileselector.h"
#include "elm_entry_eo.h"
#include "elm_fileselector_eo.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_gengrid_eo.h"
#include "elm_fileselector_part.eo.h"
#include "elm_widget_layout.h"
#include "elm_widget_plug.h"
#include "elm_scroller.eo.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_conformant_eo.h"
#define MY_CLASS ELM_CONFORMANT_CLASS
#include "elm_priv.h"
//we need those for legacy compatible code
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_gengrid_eo.h"
#define API_ENTRY()\
#include "elm_interface_scrollable.h"
#include "efl_ui_focus_parent_provider_gen.eo.h"
#include "efl_ui_focus_composition_adapter.eo.h"
-#include "elm_genlist_item.eo.h"
-#include "elm_genlist_pan.eo.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_item_eo.h"
+#include "elm_genlist_pan_eo.h"
+#include "elm_genlist_eo.h"
#define MY_PAN_CLASS ELM_GENLIST_PAN_CLASS
#define ELM_GENLIST_PAN_EXTRA_OPS \
EFL_CANVAS_GROUP_DEL_OPS(elm_genlist_pan)
-#include "elm_genlist.eo.c"
-#include "elm_genlist_pan.eo.c"
-#include "elm_genlist_item.eo.c"
+#include "elm_genlist_eo.c"
+#include "elm_genlist_pan_eo.c"
+#include "elm_genlist_item_eo.c"
+++ /dev/null
-import elm_general;
-
-class Elm.Genlist extends Efl.Ui.Layout_Base implements Elm.Interface_Scrollable, Efl.Ui.Clickable,
- Efl.Access.Widget.Action, Efl.Access.Selection,
- Efl.Ui.Selectable, Efl.Ui.Legacy, Elm.Widget_Item_Container
-{
- [[Elementary genlist class]]
- legacy_prefix: elm_genlist;
- eo_prefix: elm_obj_genlist;
- event_prefix: elm_genlist;
- methods {
- @property homogeneous {
- set {
- [[Enable/disable homogeneous mode.
-
- This will enable the homogeneous mode where items are of the
- same height and width so that genlist may do the lazy-loading
- at its maximum (which increases the performance for scrolling
- the list). In the normal mode, genlist will pre-calculate all
- the items' sizes even though they are not in use. So items'
- callbacks are called many times than expected. But homogeneous
- mode will skip the item size pre-calculation process so
- items' callbacks are called only when the item is needed.
-
- Note: This also works well with group index.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get whether the homogeneous mode is enabled.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- homogeneous: bool; [[Assume the items within the genlist are of
- the same height and width. Default is $false.]]
- }
- }
- @property select_mode {
- set {
- [[Set the genlist select mode.
-
- #ELM_OBJECT_SELECT_MODE_DEFAULT means that items will call
- their selection func and callback once when first becoming
- selected. Any further clicks will do nothing, unless you set
- always select mode. ELM_OBJECT_SELECT_MODE_ALWAYS means that
- even if selected, every click will make the selected callbacks
- be called. #ELM_OBJECT_SELECT_MODE_NONE will turn off the
- ability to select items entirely and they will neither appear
- selected nor call selected callback functions.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get the genlist select mode.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The select mode.]]
- }
- }
- @property focus_on_selection {
- set {
- [[\@internal
- Set focus upon items selection mode
-
- When enabled, every selection of an item inside the genlist
- will automatically set focus to its first focusable widget
- from the left. This is true of course if the selection was
- made by clicking an unfocusable area in an item or selecting
- it with a key movement. Clicking on a focusable widget inside
- an item will cause this particular item to get focus as usual.
- ]]
- }
- get {
- [[\@internal
- Get whether focus upon item's selection mode is enabled.
- ]]
- }
- values {
- enabled: bool; [[The tree effect status.]]
- }
- }
- @property longpress_timeout {
- set {
- [[Set the timeout in seconds for the longpress event.
-
- This option will change how long it takes to send an event
- "longpressed" after the mouse down signal is sent to the list.
- If this event occurs, no "clicked" event will be sent.
-
- Warning: If you set the longpress timeout value with this API,
- your genlist will not be affected by the longpress value of
- elementary config value later.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get the timeout in seconds for the longpress event.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- timeout: double; [[Timeout in seconds. Default is elm config value (1.0).]]
- }
- }
- @property multi_select {
- set {
- [[Enable or disable multi-selection in the genlist.
-
- This enables ($true) or disables ($false) multi-selection in
- the list. This allows more than 1 item to be selected. To
- retrieve the list of selected items, use @.selected_items.get.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get if multi-selection in genlist is enabled or disabled.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- multi: bool; [[Multi-select enable/disable. Default is disabled.]]
- }
- }
- @property reorder_mode {
- set {
- [[Set reorder mode.
-
- After turning on the reorder mode, longpress on normal item
- will trigger reordering of the item. You can move the item
- up and down. However, reorder does not work with group item.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get the reorder mode.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- reorder_mode: bool; [[The reorder mode.]]
- }
- }
- @property decorate_mode {
- set {
- [[\@internal
- Set Genlist decorate mode.
-
- This sets Genlist decorate mode to all items.
- ]]
- }
- get {
- [[\@internal
- Get Genlist decorate mode.
- ]]
- }
- values {
- decorated: bool; [[The decorate mode status.]]
- }
- }
- @property multi_select_mode {
- set {
- [[\@internal
- Set the genlist multi select mode.
-
- #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT means that
- select/unselect items whenever each item is clicked.
- #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL means that only
- one item will be selected although multi-selection is enabled,
- if clicked without pressing control key. This mode is only
- available with multi-selection.
-
- @since 1.8
- ]]
- }
- get {
- [[\@internal
- Get the genlist multi select mode.
-
- @since 1.8
- ]]
- }
- values {
- mode: Elm.Object.Multi_Select_Mode(Elm.Object.Multi_Select_Mode.max); [[The multi select mode]]
- }
- }
- @property block_count {
- set {
- [[Set the maximum number of items within an item block.
-
- This will configure the block count to tune to the target
- with particular performance matrix.
-
- A block of objects will be used to reduce the number of
- operations due to many objects in the screen. It can
- determine the visibility, or if the object has changed,
- it theme needs to be updated, etc. doing this kind of
- calculation to the entire block, instead of per object.
-
- The default value for the block count is enough for most
- lists, so unless you know you will have a lot of objects
- visible in the screen at the same time, don't try to
- change this.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get the maximum number of items within an item block.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- count: int; [[Maximum number of items within an item block. Default is 32.]]
- }
- }
- @property tree_effect_enabled {
- [[Control genlist tree effect.]]
- set {}
- get {}
- values {
- enabled: bool; [[The tree effect status.]]
- }
- }
- @property highlight_mode {
- set {
- [[Set whether the genlist items should be highlighted on item
- selection.
-
- This will turn on/off the highlight effect on item selection.
- The selected and clicked callback functions will still be
- called.
-
- Highlight is enabled by default.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get whether the genlist items' should be highlighted when
- item selected.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- highlight: bool; [[$true to enable highlighting or $false to
- disable it.]]
- }
- }
- @property mode {
- set {
- [[This sets the horizontal stretching mode.
-
- This sets the mode used for sizing items horizontally. Valid
- modes are @Elm.List.Mode.limit, @Elm.List.Mode.scroll, and
- @Elm.List.Mode.compress. The default is @Elm.List.Mode.scroll. This mode
- means that if items are too wide to fit, the scroller will
- scroll horizontally. Otherwise items are expanded to fill
- the width of the viewport of the scroller. If it is
- @Elm.List.Mode.limit, items will be expanded to the viewport width
- and limited to that size. If it is @Elm.List.Mode.compress, the
- item width will be fixed (restricted to a minimum of) to the
- list width when calculating its size in order to allow the
- height to be calculated based on it. This allows, for
- instance, text block to wrap lines if the Edje part is
- configured with "text.min: 0 1".
-
- Note: @Elm.List.Mode.compress will make list resize slower as it
- will have to recalculate every item height again whenever
- the list width changes!
-
- Note: Homogeneous mode gives all items in the genlist the
- same width/height. With @Elm.List.Mode.compress, genlist items
- initialize fast, but there cannot be any sub-objects in the genlist
- which require on-the-fly resizing (such as TEXTBLOCK).
- In this case some dynamic resizable objects in the genlist might not
- diplay properly.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- get {
- [[Get the horizontal stretching mode.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- mode: Elm.List.Mode(Elm.List.Mode.last); [[The mode to use (one of @Elm.List.Mode.scroll or @Elm.List.Mode.limit).]]
- }
- }
- @property decorated_item {
- get {
- [[\@internal
- Get active genlist mode item.
-
- This function returns the item that was activated with a mode,
- by the function @.decorate_mode.set.
- ]]
- return: Elm.Widget.Item; [[The active item for that current mode.
- Or $null if no item is activated with any mode.]]
- }
- }
- @property selected_item {
- get {
- [[Get the selected item in the genlist.
-
- This gets the selected item in the list (if multi-selection
- is enabled, only the item that was first selected in the list
- is returned - which is not very useful, so see
- @.selected_items.get for when multi-selection is used).
-
- If no item is selected, $null is returned.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[The selected item, or $null if none is selected.]]
- }
- }
- @property first_item {
- get {
- [[Get the first item in the genlist.
-
- This returns the first item in the list.
-
- If filter is set on genlist, it returns
- the first filtered item in the list.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[The first item or $null.]]
- }
- }
- @property realized_items {
- get {
- [[Get a list of realized items in genlist.
-
- This returns a list of the realized items in the genlist.
- The list contains genlist item pointers. The list must be
- freed by the caller when done with \@ref eina_list_free. The
- item pointers in the list are only valid so long as those
- items are not deleted or the genlist is not deleted.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: list<ptr(Elm_Gen_Item)> @owned @warn_unused; [[List of realized items]]
- }
- }
- @property selected_items {
- get {
- [[Get a list of selected items in the genlist.
-
- It returns a list of the selected items. This list pointer
- is only valid so long as the selection doesn't change (no
- items are selected or unselected, or unselected implicitl
- by deletion). The list contains genlist items pointers. The
- order of the items in this list is the order which they were
- selected, i.e. the first item in this list is the first item
- that was selected, and so on.
-
- Note: If not in multi-select mode, consider using function
- @.selected_item.get instead.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: const(list<Elm.Widget.Item>); [[List of selected items]]
- }
- }
- @property last_item {
- get {
- [[Get the last item in the genlist
-
- This returns the last item in the list.
-
- If filter is set to genlist, it returns
- last filtered item in the list.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Last item in list]]
- }
- }
- item_insert_before {
- [[Insert an item before another in a genlist widget
-
- This inserts an item before another in the list. It will be in
- the same tree level or group as the item it is inserted before.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Handle to inserted item]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- @in data: const(void_ptr); [[The item data.]]
- @in parent: Elm.Widget.Item @nullable; [[The parent item, or $null if none.]]
- @in before_it: Elm.Widget.Item; [[The item to place this new one before.]]
- @in type: Elm.Genlist.Item.Type; [[Item type.]]
- @in func: Evas_Smart_Cb @optional; [[Convenience function called when the item is selected.]]
- @in func_data: const(void_ptr) @optional; [[Data passed to $func above.]]
- }
- }
- realized_items_update {
- [[Update the contents of all realized items.
-
- This updates all realized items by calling all the item class
- functions again to get the contents, texts and states. Use this
- when the original item data has changed and the changes are
- desired to be reflected.
-
- To update just one item, use \@ref elm_genlist_item_update.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- item_insert_after {
- [[Insert an item after another in a genlist widget
-
- This inserts an item after another in the list. It will be in the
- same tree level or group as the item it is inserted after.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Handle to inserted item]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- @in data: const(void_ptr); [[The item data.]]
- @in parent: Elm.Widget.Item @nullable; [[The parent item, or $null if none.]]
- @in after_it: Elm.Widget.Item; [[The item to place this new one after.]]
- @in type: Elm.Genlist.Item.Type; [[Item type.]]
- @in func: Evas_Smart_Cb @optional; [[Convenience function called when the item is selected.]]
- @in func_data: const(void_ptr) @optional; [[Data passed to $func above.]]
- }
- }
- at_xy_item_get @const {
- [[Get the item that is at the x, y canvas coords.
-
- This returns the item at the given coordinates (which are canvas
- relative, not object-relative). If an item is at that coordinate,
- that item handle is returned, and if $posret is not NULL, the
- integer pointed to is set to a value of -1, 0 or 1, depending if
- the coordinate is on the upper portion of that item (-1), on the
- middle section (0) or on the lower part (1). If NULL is returned
- as an item (no item found there), then posret may indicate -1 or
- 1 based if the coordinate is above or below all items
- respectively in the genlist.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Item at position]]
- params {
- @in x: int; [[The input x coordinate.]]
- @in y: int; [[The input y coordinate.]]
- @out posret: int; [[The position relative to the item returned here.]]
- }
- }
- @property filter {
- set {
- [[\@internal
- Set filter mode with key.
-
- This initiates the filter mode of genlist with user/application
- provided key. If key is NULL, the filter mode is turned off.
-
- The filter data passed has to be managed by application itself and
- should not be deleted before genlist is deleted(or while filtering
- is not done.
- ]]
- }
- values {
- key: void_ptr; [[Filter key]]
- }
- }
- filter_iterator_new {
- [[\@internal
- Returns an iterator over the list of filtered items.
-
- Return NULL if filter is not set. Application must take care
- of the case while calling the API. Must be freed after use.
- ]]
- return: iterator<ptr(Elm_Gen_Item)> @owned; [[Iterator on genlist]]
- }
- filtered_items_count @const {
- [[Return how many items have passed the filter currently.
-
- This behaviour is O(1) and returns the count of items which
- are currently passed by the filter. After "filter,done", the
- call returns total count of the filtered items.
-
- @since 1.18
- ]]
- return: uint; [[Count of items passing the filter]]
- }
- items_count @const {
- [[Return how many items are currently in a list.
-
- This behavior is O(1) and includes items which may or may not
- be realized.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: uint; [[Item in list]]
- }
- item_prepend {
- [[Prepend a new item in a given genlist widget.
-
- This adds an item to the beginning of the list or beginning of
- the children of the parent if given.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Handle to prepended item]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- @in data: const(void_ptr); [[The item data.]]
- @in parent: Elm.Widget.Item @nullable; [[The parent item, or $null if none.]]
- @in type: Elm.Genlist.Item.Type; [[Item type.]]
- @in func: Evas_Smart_Cb @optional; [[Convenience function called when the item is selected.]]
- @in func_data: const(void_ptr) @optional; [[Data passed to $func above.]]
- }
- }
- clear {
- [[Remove all items from a given genlist widget.
-
- This removes (and deletes) all items in $obj, leaving it empty.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- item_append {
- [[Append a new item in a given genlist widget.
-
- This adds the given item to the end of the list or the end of
- the children list if the $parent is given.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Handle to appended item]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- @in data: const(void_ptr); [[The item data.]]
- @in parent: Elm.Widget.Item @nullable; [[The parent item, or $null if none.]]
- @in type: Elm.Genlist.Item.Type; [[Item type.]]
- @in func: Evas_Smart_Cb @optional; [[Convenience function called when the item is selected.]]
- @in func_data: const(void_ptr) @optional; [[Data passed to $func above.]]
- }
- }
- item_sorted_insert {
- [[Insert a new item into the sorted genlist object
-
- This inserts an item in the genlist based on user defined
- comparison function. The two arguments passed to the function
- $func are genlist item handles to compare.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- return: Elm.Widget.Item; [[Handle to inserted item]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- @in data: const(void_ptr); [[The item data.]]
- @in parent: Elm.Widget.Item @nullable; [[The parent item, or $null if none.]]
- @in type: Elm.Genlist.Item.Type; [[Item type.]]
- @in comp: Eina_Compare_Cb; [[The function called for the sort.]]
- @in func: Evas_Smart_Cb @optional; [[Convenience function called when the item is selected.]]
- @in func_data: const(void_ptr) @optional; [[Data passed to $func above.]]
- }
- }
- search_by_text_item_get {
- [[\@internal
- Get genlist item by given string.
-
- It takes pointer to the genlist item that will be used to start
- search from it.
-
- This function uses globs (like "*.jpg") for searching and takes
- search flags as last parameter That is a bitfield with values
- to be ored together or 0 for no flags.
-
- @since 1.11
- ]]
- return: Elm.Widget.Item; [[Searched item]]
- params {
- @in item_to_search_from: Elm.Widget.Item @optional; [[
- Pointer to item to start search from. If $null, search
- will be started from the first item of the genlist.
- ]]
- @in part_name: string; [[Name of the TEXT part of genlist item to search string in.]]
- @in pattern: string; [[The search pattern.]]
- @in flags: Elm.Glob.Match_Flags; [[Search flags.]]
- }
- }
- }
- implements {
- class.constructor;
- Efl.Object.constructor;
- Efl.Gfx.Entity.position { set; }
- Efl.Gfx.Entity.size { set; }
- Efl.Canvas.Group.group_member_add;
- Efl.Object.provider_find;
- Efl.Ui.Widget.theme_apply;
- Efl.Ui.Widget.widget_sub_object_add;
- Efl.Ui.Widget.widget_sub_object_del;
- Efl.Ui.Widget.on_access_update;
- Efl.Ui.Widget.focus_highlight_geometry { get; }
- //Efl.Ui.Widget.widget_event;
- Efl.Ui.Focus.Object.on_focus_update;
- Efl.Ui.Widget.widget_sub_object_del;
- Efl.Ui.Widget.widget_input_event_handler;
- Elm.Widget_Item_Container.focused_item { get; }
- //TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
- //register/unregister access objects accordingly.
- // TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
- Efl.Ui.Widget.screen_reader;
- //
- //
- Elm.Interface_Scrollable.item_loop_enabled { get; set; }
- Elm.Interface_Scrollable.bounce_allow { get; set; }
- Elm.Interface_Scrollable.policy { get; set; }
- Efl.Access.Object.access_children { get; }
- Efl.Access.Object.state_set { get; }
- Efl.Access.Widget.Action.elm_actions { get; }
- Efl.Access.Selection.selected_children_count { get; }
- Efl.Access.Selection.selected_child { get; }
- Efl.Access.Selection.selected_child_deselect;
- Efl.Access.Selection.child_select;
- Efl.Access.Selection.child_deselect;
- Efl.Access.Selection.is_child_selected;
- Efl.Access.Selection.all_children_select;
- Efl.Access.Selection.access_selection_clear;
- Efl.Ui.Widget.focus_state_apply;
- Efl.Ui.Focus.Manager.setup_on_first_touch;
- Efl.Ui.Focus.Manager.manager_focus { get; }
- Efl.Ui.Focus.Manager.move;
-
- //TIZEN_ONLY(20171114) genlist: enhance accessibility scroll & highlight
- Elm.Interface_Scrollable.content_pos_set;
- //
- //TIZEN_ONLY(20180607): Restore legacy focus
- Efl.Ui.Widget.focus_direction_manager_is;
- Efl.Ui.Widget.focus_next_manager_is;
- Efl.Ui.Widget.focus_next;
- //
- }
- events {
- item,focused: Efl.Object; [[Called when genlist item got focus]]
- item,unfocused: Efl.Object; [[Called when genlist item lost focus]]
- vbar,drag: void; [[Called when vertical bar is dragged]]
- vbar,press: void; [[Called when vertical bar is pressed]]
- vbar,unpress: void; [[Called when vertical bar is no longer pressed]]
- hbar,drag: void; [[Called when horizontal bar is dragged]]
- hbar,press: void; [[Called when horizontal bar is pressed]]
- hbar,unpress: void; [[Called when horizontal bar is no longer pressed]]
- edge,top: void; [[Called when top edge is reached]]
- edge,bottom: void; [[Called when bottom edge is reached]]
- edge,left: void; [[Called when left edge is reached]]
- edge,right: void; [[Called when right edge is reached]]
- moved: Efl.Object; [[Called when genlist item moved]]
- moved,before: Efl.Object; [[Called when genlist item moved before]]
- moved,after: Efl.Object; [[Called when genlist item moved after]]
- swipe: Efl.Object; [[Called when swipe is detected]]
- multi,pinch,in: Efl.Object; [[Called when multitouch pinch in detected]]
- multi,pinch,out: Efl.Object; [[Called when multitouch pinch out detected]]
- multi,swipe,down: Efl.Object; [[Called when multitouch swipe down detected]]
- multi,swipe,up: Efl.Object; [[Called when multitouch swipe up detected]]
- multi,swipe,right: Efl.Object; [[Called when multitouch swipe right detected]]
- multi,swipe,left: Efl.Object; [[Called when multitouch swipe left detected]]
- released: Efl.Object; [[Called when genlist is released]]
- activated: Efl.Object; [[called when genlist is activated]]
- highlighted: Efl.Object; [[Called when genlist is highlighted]]
- unhighlighted: Efl.Object; [[Called when genlist is no longer highlighted]]
- realized: Efl.Object; [[Called when genlist is realized]]
- unrealized: Efl.Object; [[Called when genlist is unrealized]]
- contract,request: Efl.Object; [[Called when contract is requested]]
- expand,request: Efl.Object; [[Called when expand is requested]]
- contracted: Efl.Object; [[called when genlist is contracted]]
- expanded: Efl.Object; [[Called when genlist is expanded]]
- index,update: Efl.Object; [[Called when genlist index updated]]
- tree,effect,finished: void; [[Called when genlist tree effect finished]]
- filter,done: void; [[Called when genlist filter is done]]
- }
-}
--- /dev/null
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_FOCUSED =
+ EFL_EVENT_DESCRIPTION("item,focused");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_UNFOCUSED =
+ EFL_EVENT_DESCRIPTION("item,unfocused");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_DRAG =
+ EFL_EVENT_DESCRIPTION("vbar,drag");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_PRESS =
+ EFL_EVENT_DESCRIPTION("vbar,press");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_UNPRESS =
+ EFL_EVENT_DESCRIPTION("vbar,unpress");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_DRAG =
+ EFL_EVENT_DESCRIPTION("hbar,drag");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_PRESS =
+ EFL_EVENT_DESCRIPTION("hbar,press");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_UNPRESS =
+ EFL_EVENT_DESCRIPTION("hbar,unpress");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_TOP =
+ EFL_EVENT_DESCRIPTION("edge,top");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_BOTTOM =
+ EFL_EVENT_DESCRIPTION("edge,bottom");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_LEFT =
+ EFL_EVENT_DESCRIPTION("edge,left");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_RIGHT =
+ EFL_EVENT_DESCRIPTION("edge,right");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED =
+ EFL_EVENT_DESCRIPTION("moved");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_BEFORE =
+ EFL_EVENT_DESCRIPTION("moved,before");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_AFTER =
+ EFL_EVENT_DESCRIPTION("moved,after");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_SWIPE =
+ EFL_EVENT_DESCRIPTION("swipe");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_IN =
+ EFL_EVENT_DESCRIPTION("multi,pinch,in");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_OUT =
+ EFL_EVENT_DESCRIPTION("multi,pinch,out");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN =
+ EFL_EVENT_DESCRIPTION("multi,swipe,down");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_UP =
+ EFL_EVENT_DESCRIPTION("multi,swipe,up");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT =
+ EFL_EVENT_DESCRIPTION("multi,swipe,right");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT =
+ EFL_EVENT_DESCRIPTION("multi,swipe,left");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_RELEASED =
+ EFL_EVENT_DESCRIPTION("released");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_ACTIVATED =
+ EFL_EVENT_DESCRIPTION("activated");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_HIGHLIGHTED =
+ EFL_EVENT_DESCRIPTION("highlighted");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_UNHIGHLIGHTED =
+ EFL_EVENT_DESCRIPTION("unhighlighted");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_REALIZED =
+ EFL_EVENT_DESCRIPTION("realized");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_UNREALIZED =
+ EFL_EVENT_DESCRIPTION("unrealized");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACT_REQUEST =
+ EFL_EVENT_DESCRIPTION("contract,request");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EXPAND_REQUEST =
+ EFL_EVENT_DESCRIPTION("expand,request");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACTED =
+ EFL_EVENT_DESCRIPTION("contracted");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_EXPANDED =
+ EFL_EVENT_DESCRIPTION("expanded");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_INDEX_UPDATE =
+ EFL_EVENT_DESCRIPTION("index,update");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED =
+ EFL_EVENT_DESCRIPTION("tree,effect,finished");
+EWAPI const Efl_Event_Description _ELM_GENLIST_EVENT_FILTER_DONE =
+ EFL_EVENT_DESCRIPTION("filter,done");
+
+void _elm_genlist_homogeneous_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool homogeneous);
+
+
+static Eina_Error
+__eolian_elm_genlist_homogeneous_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_homogeneous_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_homogeneous_set, EFL_FUNC_CALL(homogeneous), Eina_Bool homogeneous);
+
+Eina_Bool _elm_genlist_homogeneous_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_homogeneous_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_homogeneous_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_homogeneous_get, Eina_Bool, 0);
+
+void _elm_genlist_select_mode_set(Eo *obj, Elm_Genlist_Data *pd, Elm_Object_Select_Mode mode);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_select_mode_set, EFL_FUNC_CALL(mode), Elm_Object_Select_Mode mode);
+
+Elm_Object_Select_Mode _elm_genlist_select_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_select_mode_get, Elm_Object_Select_Mode, 4 /* Elm.Object.Select_Mode.max */);
+
+void _elm_genlist_focus_on_selection_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool enabled);
+
+
+static Eina_Error
+__eolian_elm_genlist_focus_on_selection_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_focus_on_selection_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_focus_on_selection_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
+
+Eina_Bool _elm_genlist_focus_on_selection_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_focus_on_selection_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_focus_on_selection_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_focus_on_selection_get, Eina_Bool, 0);
+
+void _elm_genlist_longpress_timeout_set(Eo *obj, Elm_Genlist_Data *pd, double timeout);
+
+
+static Eina_Error
+__eolian_elm_genlist_longpress_timeout_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; double cval;
+ if (!eina_value_double_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_longpress_timeout_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_longpress_timeout_set, EFL_FUNC_CALL(timeout), double timeout);
+
+double _elm_genlist_longpress_timeout_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_longpress_timeout_get_reflect(Eo *obj)
+{
+ double val = elm_obj_genlist_longpress_timeout_get(obj);
+ return eina_value_double_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_longpress_timeout_get, double, 0);
+
+void _elm_genlist_multi_select_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool multi);
+
+
+static Eina_Error
+__eolian_elm_genlist_multi_select_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_multi_select_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_multi_select_set, EFL_FUNC_CALL(multi), Eina_Bool multi);
+
+Eina_Bool _elm_genlist_multi_select_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_multi_select_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_multi_select_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_multi_select_get, Eina_Bool, 0);
+
+void _elm_genlist_reorder_mode_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool reorder_mode);
+
+
+static Eina_Error
+__eolian_elm_genlist_reorder_mode_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_reorder_mode_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_reorder_mode_set, EFL_FUNC_CALL(reorder_mode), Eina_Bool reorder_mode);
+
+Eina_Bool _elm_genlist_reorder_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_reorder_mode_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_reorder_mode_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_reorder_mode_get, Eina_Bool, 0);
+
+void _elm_genlist_decorate_mode_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool decorated);
+
+
+static Eina_Error
+__eolian_elm_genlist_decorate_mode_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_decorate_mode_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_decorate_mode_set, EFL_FUNC_CALL(decorated), Eina_Bool decorated);
+
+Eina_Bool _elm_genlist_decorate_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_decorate_mode_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_decorate_mode_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_decorate_mode_get, Eina_Bool, 0);
+
+void _elm_genlist_multi_select_mode_set(Eo *obj, Elm_Genlist_Data *pd, Elm_Object_Multi_Select_Mode mode);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_multi_select_mode_set, EFL_FUNC_CALL(mode), Elm_Object_Multi_Select_Mode mode);
+
+Elm_Object_Multi_Select_Mode _elm_genlist_multi_select_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_multi_select_mode_get, Elm_Object_Multi_Select_Mode, 2 /* Elm.Object.Multi_Select_Mode.max */);
+
+void _elm_genlist_block_count_set(Eo *obj, Elm_Genlist_Data *pd, int count);
+
+
+static Eina_Error
+__eolian_elm_genlist_block_count_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; int cval;
+ if (!eina_value_int_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_block_count_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_block_count_set, EFL_FUNC_CALL(count), int count);
+
+int _elm_genlist_block_count_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_block_count_get_reflect(Eo *obj)
+{
+ int val = elm_obj_genlist_block_count_get(obj);
+ return eina_value_int_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_block_count_get, int, 0);
+
+void _elm_genlist_tree_effect_enabled_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool enabled);
+
+
+static Eina_Error
+__eolian_elm_genlist_tree_effect_enabled_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_tree_effect_enabled_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_tree_effect_enabled_set, EFL_FUNC_CALL(enabled), Eina_Bool enabled);
+
+Eina_Bool _elm_genlist_tree_effect_enabled_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_tree_effect_enabled_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_tree_effect_enabled_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_tree_effect_enabled_get, Eina_Bool, 0);
+
+void _elm_genlist_highlight_mode_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool highlight);
+
+
+static Eina_Error
+__eolian_elm_genlist_highlight_mode_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_highlight_mode_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_highlight_mode_set, EFL_FUNC_CALL(highlight), Eina_Bool highlight);
+
+Eina_Bool _elm_genlist_highlight_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_highlight_mode_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_highlight_mode_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_highlight_mode_get, Eina_Bool, 0);
+
+void _elm_genlist_mode_set(Eo *obj, Elm_Genlist_Data *pd, Elm_List_Mode mode);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_mode_set, EFL_FUNC_CALL(mode), Elm_List_Mode mode);
+
+Elm_List_Mode _elm_genlist_mode_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_mode_get, Elm_List_Mode, 4 /* Elm.List.Mode.last */);
+
+Elm_Widget_Item *_elm_genlist_decorated_item_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_decorated_item_get, Elm_Widget_Item *, NULL);
+
+Elm_Widget_Item *_elm_genlist_selected_item_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_selected_item_get, Elm_Widget_Item *, NULL);
+
+Elm_Widget_Item *_elm_genlist_first_item_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_first_item_get, Elm_Widget_Item *, NULL);
+
+Eina_List *_elm_genlist_realized_items_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_realized_items_get, Eina_List *, NULL);
+
+const Eina_List *_elm_genlist_selected_items_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_selected_items_get, const Eina_List *, NULL);
+
+Elm_Widget_Item *_elm_genlist_last_item_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_last_item_get, Elm_Widget_Item *, NULL);
+
+Elm_Widget_Item *_elm_genlist_item_insert_before(Eo *obj, Elm_Genlist_Data *pd, 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);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_item_insert_before, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, parent, before_it, type, func, func_data), 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);
+
+void _elm_genlist_realized_items_update(Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_realized_items_update);
+
+Elm_Widget_Item *_elm_genlist_item_insert_after(Eo *obj, Elm_Genlist_Data *pd, 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);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_item_insert_after, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, parent, after_it, type, func, func_data), 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);
+
+Elm_Widget_Item *_elm_genlist_at_xy_item_get(const Eo *obj, Elm_Genlist_Data *pd, int x, int y, int *posret);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_genlist_at_xy_item_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(x, y, posret), int x, int y, int *posret);
+
+void _elm_genlist_filter_set(Eo *obj, Elm_Genlist_Data *pd, void *key);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_filter_set, EFL_FUNC_CALL(key), void *key);
+
+Eina_Iterator *_elm_genlist_filter_iterator_new(Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_obj_genlist_filter_iterator_new, Eina_Iterator *, NULL);
+
+unsigned int _elm_genlist_filtered_items_count(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_filtered_items_count, unsigned int, 0);
+
+unsigned int _elm_genlist_items_count(const Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_items_count, unsigned int, 0);
+
+Elm_Widget_Item *_elm_genlist_item_prepend(Eo *obj, Elm_Genlist_Data *pd, 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);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_item_prepend, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, parent, type, func, func_data), 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);
+
+void _elm_genlist_clear(Eo *obj, Elm_Genlist_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_clear);
+
+Elm_Widget_Item *_elm_genlist_item_append(Eo *obj, Elm_Genlist_Data *pd, 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);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_item_append, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, parent, type, func, func_data), 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);
+
+Elm_Widget_Item *_elm_genlist_item_sorted_insert(Eo *obj, Elm_Genlist_Data *pd, 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);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_item_sorted_insert, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(itc, data, parent, type, comp, func, func_data), 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);
+
+Elm_Widget_Item *_elm_genlist_search_by_text_item_get(Eo *obj, Elm_Genlist_Data *pd, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
+
+EOAPI EFL_FUNC_BODYV(elm_obj_genlist_search_by_text_item_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(item_to_search_from, part_name, pattern, flags), Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
+
+Efl_Object *_elm_genlist_efl_object_constructor(Eo *obj, Elm_Genlist_Data *pd);
+
+
+void _elm_genlist_efl_gfx_entity_position_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Position2D pos);
+
+
+void _elm_genlist_efl_gfx_entity_size_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Size2D size);
+
+
+void _elm_genlist_efl_canvas_group_group_member_add(Eo *obj, Elm_Genlist_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+Efl_Object *_elm_genlist_efl_object_provider_find(const Eo *obj, Elm_Genlist_Data *pd, const Efl_Class *klass);
+
+
+Eina_Error _elm_genlist_efl_ui_widget_theme_apply(Eo *obj, Elm_Genlist_Data *pd);
+
+
+Eina_Bool _elm_genlist_efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Genlist_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+void _elm_genlist_efl_ui_widget_on_access_update(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool enable);
+
+
+Eina_Rect _elm_genlist_efl_ui_widget_focus_highlight_geometry_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+Eina_Bool _elm_genlist_efl_ui_focus_object_on_focus_update(Eo *obj, Elm_Genlist_Data *pd);
+
+
+Eina_Bool _elm_genlist_efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Genlist_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+Eina_Bool _elm_genlist_efl_ui_widget_widget_input_event_handler(Eo *obj, Elm_Genlist_Data *pd, const Efl_Event *eo_event, Efl_Canvas_Object *source);
+
+
+Elm_Widget_Item *_elm_genlist_elm_widget_item_container_focused_item_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+void _elm_genlist_elm_interface_scrollable_item_loop_enabled_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool enable);
+
+
+Eina_Bool _elm_genlist_elm_interface_scrollable_item_loop_enabled_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+void _elm_genlist_elm_interface_scrollable_bounce_allow_set(Eo *obj, Elm_Genlist_Data *pd, Eina_Bool horiz, Eina_Bool vert);
+
+
+void _elm_genlist_elm_interface_scrollable_bounce_allow_get(const Eo *obj, Elm_Genlist_Data *pd, Eina_Bool *horiz, Eina_Bool *vert);
+
+
+void _elm_genlist_elm_interface_scrollable_policy_set(Eo *obj, Elm_Genlist_Data *pd, Elm_Scroller_Policy hbar, Elm_Scroller_Policy vbar);
+
+
+void _elm_genlist_elm_interface_scrollable_policy_get(const Eo *obj, Elm_Genlist_Data *pd, Elm_Scroller_Policy *hbar, Elm_Scroller_Policy *vbar);
+
+
+Eina_List *_elm_genlist_efl_access_object_access_children_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+Efl_Access_State_Set _elm_genlist_efl_access_object_state_set_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+const Efl_Access_Action_Data *_elm_genlist_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+int _elm_genlist_efl_access_selection_selected_children_count_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+Efl_Object *_elm_genlist_efl_access_selection_selected_child_get(const Eo *obj, Elm_Genlist_Data *pd, int selected_child_index);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_selected_child_deselect(Eo *obj, Elm_Genlist_Data *pd, int child_index);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_child_select(Eo *obj, Elm_Genlist_Data *pd, int child_index);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_child_deselect(Eo *obj, Elm_Genlist_Data *pd, int child_index);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_is_child_selected(Eo *obj, Elm_Genlist_Data *pd, int child_index);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_all_children_select(Eo *obj, Elm_Genlist_Data *pd);
+
+
+Eina_Bool _elm_genlist_efl_access_selection_access_selection_clear(Eo *obj, Elm_Genlist_Data *pd);
+
+
+Eina_Bool _elm_genlist_efl_ui_widget_focus_state_apply(Eo *obj, Elm_Genlist_Data *pd, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State *configured_state, Efl_Ui_Widget *redirect);
+
+
+void _elm_genlist_efl_ui_focus_manager_setup_on_first_touch(Eo *obj, Elm_Genlist_Data *pd, Efl_Ui_Focus_Direction direction, Efl_Ui_Focus_Object *entry);
+
+
+Efl_Ui_Focus_Object *_elm_genlist_efl_ui_focus_manager_manager_focus_get(const Eo *obj, Elm_Genlist_Data *pd);
+
+
+Efl_Ui_Focus_Object *_elm_genlist_efl_ui_focus_manager_move(Eo *obj, Elm_Genlist_Data *pd, Efl_Ui_Focus_Direction direction);
+
+
+static Eina_Bool
+_elm_genlist_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_GENLIST_EXTRA_OPS
+#define ELM_GENLIST_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_homogeneous_set, _elm_genlist_homogeneous_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_homogeneous_get, _elm_genlist_homogeneous_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_select_mode_set, _elm_genlist_select_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_select_mode_get, _elm_genlist_select_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_focus_on_selection_set, _elm_genlist_focus_on_selection_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_focus_on_selection_get, _elm_genlist_focus_on_selection_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_longpress_timeout_set, _elm_genlist_longpress_timeout_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_longpress_timeout_get, _elm_genlist_longpress_timeout_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_multi_select_set, _elm_genlist_multi_select_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_multi_select_get, _elm_genlist_multi_select_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_reorder_mode_set, _elm_genlist_reorder_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_reorder_mode_get, _elm_genlist_reorder_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_decorate_mode_set, _elm_genlist_decorate_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_decorate_mode_get, _elm_genlist_decorate_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_multi_select_mode_set, _elm_genlist_multi_select_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_multi_select_mode_get, _elm_genlist_multi_select_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_block_count_set, _elm_genlist_block_count_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_block_count_get, _elm_genlist_block_count_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_tree_effect_enabled_set, _elm_genlist_tree_effect_enabled_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_tree_effect_enabled_get, _elm_genlist_tree_effect_enabled_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_highlight_mode_set, _elm_genlist_highlight_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_highlight_mode_get, _elm_genlist_highlight_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_mode_set, _elm_genlist_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_mode_get, _elm_genlist_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_decorated_item_get, _elm_genlist_decorated_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_selected_item_get, _elm_genlist_selected_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_first_item_get, _elm_genlist_first_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_realized_items_get, _elm_genlist_realized_items_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_selected_items_get, _elm_genlist_selected_items_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_last_item_get, _elm_genlist_last_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_insert_before, _elm_genlist_item_insert_before),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_realized_items_update, _elm_genlist_realized_items_update),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_insert_after, _elm_genlist_item_insert_after),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_at_xy_item_get, _elm_genlist_at_xy_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_filter_set, _elm_genlist_filter_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_filter_iterator_new, _elm_genlist_filter_iterator_new),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_filtered_items_count, _elm_genlist_filtered_items_count),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_items_count, _elm_genlist_items_count),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_prepend, _elm_genlist_item_prepend),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_clear, _elm_genlist_clear),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_append, _elm_genlist_item_append),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_sorted_insert, _elm_genlist_item_sorted_insert),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_search_by_text_item_get, _elm_genlist_search_by_text_item_get),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_genlist_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_genlist_efl_gfx_entity_position_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_genlist_efl_gfx_entity_size_set),
+ EFL_OBJECT_OP_FUNC(efl_canvas_group_member_add, _elm_genlist_efl_canvas_group_group_member_add),
+ EFL_OBJECT_OP_FUNC(efl_provider_find, _elm_genlist_efl_object_provider_find),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_genlist_efl_ui_widget_theme_apply),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_add, _elm_genlist_efl_ui_widget_widget_sub_object_add),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_on_access_update, _elm_genlist_efl_ui_widget_on_access_update),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_focus_highlight_geometry_get, _elm_genlist_efl_ui_widget_focus_highlight_geometry_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_object_on_focus_update, _elm_genlist_efl_ui_focus_object_on_focus_update),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_del, _elm_genlist_efl_ui_widget_widget_sub_object_del),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_input_event_handler, _elm_genlist_efl_ui_widget_widget_input_event_handler),
+ EFL_OBJECT_OP_FUNC(elm_widget_item_container_focused_item_get, _elm_genlist_elm_widget_item_container_focused_item_get),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_item_loop_enabled_set, _elm_genlist_elm_interface_scrollable_item_loop_enabled_set),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_item_loop_enabled_get, _elm_genlist_elm_interface_scrollable_item_loop_enabled_get),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_bounce_allow_set, _elm_genlist_elm_interface_scrollable_bounce_allow_set),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_bounce_allow_get, _elm_genlist_elm_interface_scrollable_bounce_allow_get),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_policy_set, _elm_genlist_elm_interface_scrollable_policy_set),
+ EFL_OBJECT_OP_FUNC(elm_interface_scrollable_policy_get, _elm_genlist_elm_interface_scrollable_policy_get),
+ EFL_OBJECT_OP_FUNC(efl_access_object_access_children_get, _elm_genlist_efl_access_object_access_children_get),
+ EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_genlist_efl_access_object_state_set_get),
+ EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_genlist_efl_access_widget_action_elm_actions_get),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_selected_children_count_get, _elm_genlist_efl_access_selection_selected_children_count_get),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_selected_child_get, _elm_genlist_efl_access_selection_selected_child_get),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_selected_child_deselect, _elm_genlist_efl_access_selection_selected_child_deselect),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_child_select, _elm_genlist_efl_access_selection_child_select),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_child_deselect, _elm_genlist_efl_access_selection_child_deselect),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_is_child_selected, _elm_genlist_efl_access_selection_is_child_selected),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_all_children_select, _elm_genlist_efl_access_selection_all_children_select),
+ EFL_OBJECT_OP_FUNC(efl_access_selection_clear, _elm_genlist_efl_access_selection_access_selection_clear),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_focus_state_apply, _elm_genlist_efl_ui_widget_focus_state_apply),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_manager_setup_on_first_touch, _elm_genlist_efl_ui_focus_manager_setup_on_first_touch),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_manager_focus_get, _elm_genlist_efl_ui_focus_manager_manager_focus_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_manager_move, _elm_genlist_efl_ui_focus_manager_move),
+ ELM_GENLIST_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ static const Efl_Object_Property_Reflection refl_table[] = {
+ {"homogeneous", __eolian_elm_genlist_homogeneous_set_reflect, __eolian_elm_genlist_homogeneous_get_reflect},
+ {"focus_on_selection", __eolian_elm_genlist_focus_on_selection_set_reflect, __eolian_elm_genlist_focus_on_selection_get_reflect},
+ {"longpress_timeout", __eolian_elm_genlist_longpress_timeout_set_reflect, __eolian_elm_genlist_longpress_timeout_get_reflect},
+ {"multi_select", __eolian_elm_genlist_multi_select_set_reflect, __eolian_elm_genlist_multi_select_get_reflect},
+ {"reorder_mode", __eolian_elm_genlist_reorder_mode_set_reflect, __eolian_elm_genlist_reorder_mode_get_reflect},
+ {"decorate_mode", __eolian_elm_genlist_decorate_mode_set_reflect, __eolian_elm_genlist_decorate_mode_get_reflect},
+ {"block_count", __eolian_elm_genlist_block_count_set_reflect, __eolian_elm_genlist_block_count_get_reflect},
+ {"tree_effect_enabled", __eolian_elm_genlist_tree_effect_enabled_set_reflect, __eolian_elm_genlist_tree_effect_enabled_get_reflect},
+ {"highlight_mode", __eolian_elm_genlist_highlight_mode_set_reflect, __eolian_elm_genlist_highlight_mode_get_reflect},
+ };
+ static const Efl_Object_Property_Reflection_Ops rops = {
+ refl_table, EINA_C_ARRAY_LENGTH(refl_table)
+ };
+ ropsp = &rops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_genlist_class_desc = {
+ EO_VERSION,
+ "Elm.Genlist",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Genlist_Data),
+ _elm_genlist_class_initializer,
+ _elm_genlist_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_genlist_class_get, &_elm_genlist_class_desc, EFL_UI_LAYOUT_BASE_CLASS, ELM_INTERFACE_SCROLLABLE_MIXIN, EFL_UI_CLICKABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_ACCESS_SELECTION_INTERFACE, EFL_UI_SELECTABLE_INTERFACE, EFL_UI_LEGACY_INTERFACE, ELM_WIDGET_ITEM_CONTAINER_INTERFACE, NULL);
+
+#include "elm_genlist_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_GENLIST_EO_H_
+#define _ELM_GENLIST_EO_H_
+
+#ifndef _ELM_GENLIST_EO_CLASS_TYPE
+#define _ELM_GENLIST_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist;
+
+#endif
+
+#ifndef _ELM_GENLIST_EO_TYPES
+#define _ELM_GENLIST_EO_TYPES
+
+
+#endif
+/** Elementary genlist class
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_CLASS elm_genlist_class_get()
+
+EWAPI const Efl_Class *elm_genlist_class_get(void);
+
+/**
+ * @brief Enable/disable homogeneous mode.
+ *
+ * This will enable the homogeneous mode where items are of the same height and
+ * width so that genlist may do the lazy-loading at its maximum (which
+ * increases the performance for scrolling the list). In the normal mode,
+ * genlist will pre-calculate all the items' sizes even though they are not in
+ * use. So items' callbacks are called many times than expected. But
+ * homogeneous mode will skip the item size pre-calculation process so items'
+ * callbacks are called only when the item is needed.
+ *
+ * @note This also works well with group index.
+ *
+ * @param[in] obj The object.
+ * @param[in] homogeneous Assume the items within the genlist are of the same
+ * height and width. Default is @c false.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_homogeneous_set(Eo *obj, Eina_Bool homogeneous);
+
+/**
+ * @brief Get whether the homogeneous mode is enabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Assume the items within the genlist are of the same height and
+ * width. Default is @c false.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_homogeneous_get(const Eo *obj);
+
+/**
+ * @brief Set the genlist select mode.
+ *
+ * #ELM_OBJECT_SELECT_MODE_DEFAULT means that items will call their selection
+ * func and callback once when first becoming selected. Any further clicks will
+ * do nothing, unless you set always select mode. ELM_OBJECT_SELECT_MODE_ALWAYS
+ * means that even if selected, every click will make the selected callbacks be
+ * called. #ELM_OBJECT_SELECT_MODE_NONE will turn off the ability to select
+ * items entirely and they will neither appear selected nor call selected
+ * callback functions.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The select mode.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
+
+/**
+ * @brief Get the genlist select mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The select mode.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Object_Select_Mode elm_obj_genlist_select_mode_get(const Eo *obj);
+
+/**
+ * @brief Set focus upon items selection mode
+ *
+ * When enabled, every selection of an item inside the genlist will
+ * automatically set focus to its first focusable widget from the left. This is
+ * true of course if the selection was made by clicking an unfocusable area in
+ * an item or selecting it with a key movement. Clicking on a focusable widget
+ * inside an item will cause this particular item to get focus as usual.
+ *
+ * @param[in] obj The object.
+ * @param[in] enabled The tree effect status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_focus_on_selection_set(Eo *obj, Eina_Bool enabled);
+
+/**
+ * @brief Get whether focus upon item's selection mode is enabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The tree effect status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_focus_on_selection_get(const Eo *obj);
+
+/**
+ * @brief Set the timeout in seconds for the longpress event.
+ *
+ * This option will change how long it takes to send an event "longpressed"
+ * after the mouse down signal is sent to the list. If this event occurs, no
+ * "clicked" event will be sent.
+ *
+ * @warning If you set the longpress timeout value with this API, your genlist
+ * will not be affected by the longpress value of elementary config value
+ * later.
+ *
+ * @param[in] obj The object.
+ * @param[in] timeout Timeout in seconds. Default is elm config value (1.0).
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_longpress_timeout_set(Eo *obj, double timeout);
+
+/**
+ * @brief Get the timeout in seconds for the longpress event.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Timeout in seconds. Default is elm config value (1.0).
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI double elm_obj_genlist_longpress_timeout_get(const Eo *obj);
+
+/**
+ * @brief Enable or disable multi-selection in the genlist.
+ *
+ * This enables ($true) or disables ($false) multi-selection in the list. This
+ * allows more than 1 item to be selected. To retrieve the list of selected
+ * items, use @ref elm_obj_genlist_selected_items_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] multi Multi-select enable/disable. Default is disabled.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_multi_select_set(Eo *obj, Eina_Bool multi);
+
+/**
+ * @brief Get if multi-selection in genlist is enabled or disabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Multi-select enable/disable. Default is disabled.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_multi_select_get(const Eo *obj);
+
+/**
+ * @brief Set reorder mode.
+ *
+ * After turning on the reorder mode, longpress on normal item will trigger
+ * reordering of the item. You can move the item up and down. However, reorder
+ * does not work with group item.
+ *
+ * @param[in] obj The object.
+ * @param[in] reorder_mode The reorder mode.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_reorder_mode_set(Eo *obj, Eina_Bool reorder_mode);
+
+/**
+ * @brief Get the reorder mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The reorder mode.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_reorder_mode_get(const Eo *obj);
+
+/**
+ * @brief Set Genlist decorate mode.
+ *
+ * This sets Genlist decorate mode to all items.
+ *
+ * @param[in] obj The object.
+ * @param[in] decorated The decorate mode status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_decorate_mode_set(Eo *obj, Eina_Bool decorated);
+
+/**
+ * @brief Get Genlist decorate mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The decorate mode status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_decorate_mode_get(const Eo *obj);
+
+/**
+ * @brief Set the genlist multi select mode.
+ *
+ * #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT means that select/unselect items
+ * whenever each item is clicked. #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
+ * means that only one item will be selected although multi-selection is
+ * enabled, if clicked without pressing control key. This mode is only
+ * available with multi-selection.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The multi select mode
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_multi_select_mode_set(Eo *obj, Elm_Object_Multi_Select_Mode mode);
+
+/**
+ * @brief Get the genlist multi select mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The multi select mode
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Object_Multi_Select_Mode elm_obj_genlist_multi_select_mode_get(const Eo *obj);
+
+/**
+ * @brief Set the maximum number of items within an item block.
+ *
+ * This will configure the block count to tune to the target with particular
+ * performance matrix.
+ *
+ * A block of objects will be used to reduce the number of operations due to
+ * many objects in the screen. It can determine the visibility, or if the
+ * object has changed, it theme needs to be updated, etc. doing this kind of
+ * calculation to the entire block, instead of per object.
+ *
+ * The default value for the block count is enough for most lists, so unless
+ * you know you will have a lot of objects visible in the screen at the same
+ * time, don't try to change this.
+ *
+ * @param[in] obj The object.
+ * @param[in] count Maximum number of items within an item block. Default is
+ * 32.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_block_count_set(Eo *obj, int count);
+
+/**
+ * @brief Get the maximum number of items within an item block.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Maximum number of items within an item block. Default is 32.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI int elm_obj_genlist_block_count_get(const Eo *obj);
+
+/**
+ * @brief Control genlist tree effect.
+ *
+ * @param[in] obj The object.
+ * @param[in] enabled The tree effect status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_tree_effect_enabled_set(Eo *obj, Eina_Bool enabled);
+
+/**
+ * @brief Control genlist tree effect.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The tree effect status.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_tree_effect_enabled_get(const Eo *obj);
+
+/**
+ * @brief Set whether the genlist items should be highlighted on item
+ * selection.
+ *
+ * This will turn on/off the highlight effect on item selection. The selected
+ * and clicked callback functions will still be called.
+ *
+ * Highlight is enabled by default.
+ *
+ * @param[in] obj The object.
+ * @param[in] highlight @c true to enable highlighting or @c false to disable
+ * it.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_highlight_mode_set(Eo *obj, Eina_Bool highlight);
+
+/**
+ * @brief Get whether the genlist items' should be highlighted when item
+ * selected.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true to enable highlighting or @c false to disable it.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Bool elm_obj_genlist_highlight_mode_get(const Eo *obj);
+
+/**
+ * @brief This sets the horizontal stretching mode.
+ *
+ * This sets the mode used for sizing items horizontally. Valid modes are
+ * @ref ELM_LIST_LIMIT, @ref ELM_LIST_SCROLL, and @ref ELM_LIST_COMPRESS. The
+ * default is @ref ELM_LIST_SCROLL. This mode means that if items are too wide
+ * to fit, the scroller will scroll horizontally. Otherwise items are expanded
+ * to fill the width of the viewport of the scroller. If it is
+ * @ref ELM_LIST_LIMIT, items will be expanded to the viewport width and
+ * limited to that size. If it is @ref ELM_LIST_COMPRESS, the item width will
+ * be fixed (restricted to a minimum of) to the list width when calculating its
+ * size in order to allow the height to be calculated based on it. This allows,
+ * for instance, text block to wrap lines if the Edje part is configured with
+ * "text.min: 0 1".
+ *
+ * @note @ref ELM_LIST_COMPRESS will make list resize slower as it will have to
+ * recalculate every item height again whenever the list width changes!
+ *
+ * @note Homogeneous mode gives all items in the genlist the same width/height.
+ * With @ref ELM_LIST_COMPRESS, genlist items initialize fast, but there cannot
+ * be any sub-objects in the genlist which require on-the-fly resizing (such as
+ * TEXTBLOCK). In this case some dynamic resizable objects in the genlist might
+ * not diplay properly.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The mode to use (one of @ref ELM_LIST_SCROLL or
+ * @ref ELM_LIST_LIMIT).
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_mode_set(Eo *obj, Elm_List_Mode mode);
+
+/**
+ * @brief Get the horizontal stretching mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The mode to use (one of @ref ELM_LIST_SCROLL or
+ * @ref ELM_LIST_LIMIT).
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_List_Mode elm_obj_genlist_mode_get(const Eo *obj);
+
+/**
+ * @brief Get active genlist mode item.
+ *
+ * This function returns the item that was activated with a mode, by the
+ * function @ref elm_obj_genlist_decorate_mode_set.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The active item for that current mode. Or @c null if no item is
+ * activated with any mode.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_decorated_item_get(const Eo *obj);
+
+/**
+ * @brief Get the selected item in the genlist.
+ *
+ * This gets the selected item in the list (if multi-selection is enabled, only
+ * the item that was first selected in the list is returned - which is not very
+ * useful, so see @ref elm_obj_genlist_selected_items_get for when
+ * multi-selection is used).
+ *
+ * If no item is selected, @c null is returned.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected item, or @c null if none is selected.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_selected_item_get(const Eo *obj);
+
+/**
+ * @brief Get the first item in the genlist.
+ *
+ * This returns the first item in the list.
+ *
+ * If filter is set on genlist, it returns the first filtered item in the list.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The first item or @c null.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_first_item_get(const Eo *obj);
+
+/**
+ * @brief Get a list of realized items in genlist.
+ *
+ * This returns a list of the realized items in the genlist. The list contains
+ * genlist item pointers. The list must be freed by the caller when done with
+ * @ref eina_list_free. The item pointers in the list are only valid so long as
+ * those items are not deleted or the genlist is not deleted.
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of realized items
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_List *elm_obj_genlist_realized_items_get(const Eo *obj) EINA_WARN_UNUSED_RESULT;
+
+/**
+ * @brief Get a list of selected items in the genlist.
+ *
+ * It returns a list of the selected items. This list pointer is only valid so
+ * long as the selection doesn't change (no items are selected or unselected,
+ * or unselected implicitl by deletion). The list contains genlist items
+ * pointers. The order of the items in this list is the order which they were
+ * selected, i.e. the first item in this list is the first item that was
+ * selected, and so on.
+ *
+ * @note If not in multi-select mode, consider using function
+ * @ref elm_obj_genlist_selected_item_get instead.
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of selected items
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI const Eina_List *elm_obj_genlist_selected_items_get(const Eo *obj);
+
+/**
+ * @brief Get the last item in the genlist
+ *
+ * This returns the last item in the list.
+ *
+ * If filter is set to genlist, it returns last filtered item in the list.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Last item in list
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_last_item_get(const Eo *obj);
+
+/**
+ * @brief Insert an item before another in a genlist widget
+ *
+ * This inserts an item before another in the list. It will be in the same tree
+ * level or group as the item it is inserted before.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] before_it The item to place this new one before.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+/**
+ * @brief Update the contents of all realized items.
+ *
+ * This updates all realized items by calling all the item class functions
+ * again to get the contents, texts and states. Use this when the original item
+ * data has changed and the changes are desired to be reflected.
+ *
+ * To update just one item, use @ref elm_genlist_item_update.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_realized_items_update(Eo *obj);
+
+/**
+ * @brief Insert an item after another in a genlist widget
+ *
+ * This inserts an item after another in the list. It will be in the same tree
+ * level or group as the item it is inserted after.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] after_it The item to place this new one after.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+/**
+ * @brief Get the item that is at the x, y canvas coords.
+ *
+ * This returns the item at the given coordinates (which are canvas relative,
+ * not object-relative). If an item is at that coordinate, that item handle is
+ * returned, and if @c posret is not NULL, the integer pointed to is set to a
+ * value of -1, 0 or 1, depending if the coordinate is on the upper portion of
+ * that item (-1), on the middle section (0) or on the lower part (1). If NULL
+ * is returned as an item (no item found there), then posret may indicate -1 or
+ * 1 based if the coordinate is above or below all items respectively in the
+ * genlist.
+ *
+ * @param[in] obj The object.
+ * @param[in] x The input x coordinate.
+ * @param[in] y The input y coordinate.
+ * @param[out] posret The position relative to the item returned here.
+ *
+ * @return Item at position
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_at_xy_item_get(const Eo *obj, int x, int y, int *posret);
+
+/**
+ * @brief Set filter mode with key.
+ *
+ * This initiates the filter mode of genlist with user/application provided
+ * key. If key is NULL, the filter mode is turned off.
+ *
+ * The filter data passed has to be managed by application itself and should
+ * not be deleted before genlist is deleted(or while filtering is not done.
+ *
+ * @param[in] obj The object.
+ * @param[in] key Filter key
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_filter_set(Eo *obj, void *key);
+
+/**
+ * @brief Returns an iterator over the list of filtered items.
+ *
+ * Return NULL if filter is not set. Application must take care of the case
+ * while calling the API. Must be freed after use.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Iterator on genlist
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI Eina_Iterator *elm_obj_genlist_filter_iterator_new(Eo *obj);
+
+/**
+ * @brief Return how many items have passed the filter currently.
+ *
+ * This behaviour is O(1) and returns the count of items which are currently
+ * passed by the filter. After "filter,done", the call returns total count of
+ * the filtered items.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Count of items passing the filter
+ *
+ * @since 1.18
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI unsigned int elm_obj_genlist_filtered_items_count(const Eo *obj);
+
+/**
+ * @brief Return how many items are currently in a list.
+ *
+ * This behavior is O(1) and includes items which may or may not be realized.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Item in list
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI unsigned int elm_obj_genlist_items_count(const Eo *obj);
+
+/**
+ * @brief Prepend a new item in a given genlist widget.
+ *
+ * This adds an item to the beginning of the list or beginning of the children
+ * of the parent if given.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to prepended item
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+/**
+ * @brief Remove all items from a given genlist widget.
+ *
+ * This removes (and deletes) all items in @c obj, leaving it empty.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI void elm_obj_genlist_clear(Eo *obj);
+
+/**
+ * @brief Append a new item in a given genlist widget.
+ *
+ * This adds the given item to the end of the list or the end of the children
+ * list if the @c parent is given.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to appended item
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+/**
+ * @brief Insert a new item into the sorted genlist object
+ *
+ * This inserts an item in the genlist based on user defined comparison
+ * function. The two arguments passed to the function @c func are genlist item
+ * handles to compare.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] comp The function called for the sort.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+/**
+ * @brief Get genlist item by given string.
+ *
+ * It takes pointer to the genlist item that will be used to start search from
+ * it.
+ *
+ * This function uses globs (like "*.jpg") for searching and takes search flags
+ * as last parameter That is a bitfield with values to be ored together or 0
+ * for no flags.
+ *
+ * @param[in] obj The object.
+ * @param[in] item_to_search_from Pointer to item to start search from. If
+ * @c null, search will be started from the first item of the genlist.
+ * @param[in] part_name Name of the TEXT part of genlist item to search string
+ * in.
+ * @param[in] pattern The search pattern.
+ * @param[in] flags Search flags.
+ *
+ * @return Searched item
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Genlist
+ */
+EOAPI 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);
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_FOCUSED;
+
+/** Called when genlist item got focus
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_ITEM_FOCUSED (&(_ELM_GENLIST_EVENT_ITEM_FOCUSED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ITEM_UNFOCUSED;
+
+/** Called when genlist item lost focus
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_ITEM_UNFOCUSED (&(_ELM_GENLIST_EVENT_ITEM_UNFOCUSED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_DRAG;
+
+/** Called when vertical bar is dragged
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_VBAR_DRAG (&(_ELM_GENLIST_EVENT_VBAR_DRAG))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_PRESS;
+
+/** Called when vertical bar is pressed
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_VBAR_PRESS (&(_ELM_GENLIST_EVENT_VBAR_PRESS))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_VBAR_UNPRESS;
+
+/** Called when vertical bar is no longer pressed
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_VBAR_UNPRESS (&(_ELM_GENLIST_EVENT_VBAR_UNPRESS))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_DRAG;
+
+/** Called when horizontal bar is dragged
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_HBAR_DRAG (&(_ELM_GENLIST_EVENT_HBAR_DRAG))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_PRESS;
+
+/** Called when horizontal bar is pressed
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_HBAR_PRESS (&(_ELM_GENLIST_EVENT_HBAR_PRESS))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HBAR_UNPRESS;
+
+/** Called when horizontal bar is no longer pressed
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_HBAR_UNPRESS (&(_ELM_GENLIST_EVENT_HBAR_UNPRESS))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_TOP;
+
+/** Called when top edge is reached
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EDGE_TOP (&(_ELM_GENLIST_EVENT_EDGE_TOP))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_BOTTOM;
+
+/** Called when bottom edge is reached
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EDGE_BOTTOM (&(_ELM_GENLIST_EVENT_EDGE_BOTTOM))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_LEFT;
+
+/** Called when left edge is reached
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EDGE_LEFT (&(_ELM_GENLIST_EVENT_EDGE_LEFT))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EDGE_RIGHT;
+
+/** Called when right edge is reached
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EDGE_RIGHT (&(_ELM_GENLIST_EVENT_EDGE_RIGHT))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED;
+
+/** Called when genlist item moved
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MOVED (&(_ELM_GENLIST_EVENT_MOVED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_BEFORE;
+
+/** Called when genlist item moved before
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MOVED_BEFORE (&(_ELM_GENLIST_EVENT_MOVED_BEFORE))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MOVED_AFTER;
+
+/** Called when genlist item moved after
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MOVED_AFTER (&(_ELM_GENLIST_EVENT_MOVED_AFTER))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_SWIPE;
+
+/** Called when swipe is detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_SWIPE (&(_ELM_GENLIST_EVENT_SWIPE))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_IN;
+
+/** Called when multitouch pinch in detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_PINCH_IN (&(_ELM_GENLIST_EVENT_MULTI_PINCH_IN))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_PINCH_OUT;
+
+/** Called when multitouch pinch out detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_PINCH_OUT (&(_ELM_GENLIST_EVENT_MULTI_PINCH_OUT))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN;
+
+/** Called when multitouch swipe down detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_DOWN))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_UP;
+
+/** Called when multitouch swipe up detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_SWIPE_UP (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_UP))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT;
+
+/** Called when multitouch swipe right detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_RIGHT))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT;
+
+/** Called when multitouch swipe left detected
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT (&(_ELM_GENLIST_EVENT_MULTI_SWIPE_LEFT))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_RELEASED;
+
+/** Called when genlist is released
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_RELEASED (&(_ELM_GENLIST_EVENT_RELEASED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_ACTIVATED;
+
+/** called when genlist is activated
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_ACTIVATED (&(_ELM_GENLIST_EVENT_ACTIVATED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_HIGHLIGHTED;
+
+/** Called when genlist is highlighted
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_HIGHLIGHTED (&(_ELM_GENLIST_EVENT_HIGHLIGHTED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNHIGHLIGHTED;
+
+/** Called when genlist is no longer highlighted
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_UNHIGHLIGHTED (&(_ELM_GENLIST_EVENT_UNHIGHLIGHTED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_REALIZED;
+
+/** Called when genlist is realized
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_REALIZED (&(_ELM_GENLIST_EVENT_REALIZED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_UNREALIZED;
+
+/** Called when genlist is unrealized
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_UNREALIZED (&(_ELM_GENLIST_EVENT_UNREALIZED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACT_REQUEST;
+
+/** Called when contract is requested
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_CONTRACT_REQUEST (&(_ELM_GENLIST_EVENT_CONTRACT_REQUEST))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPAND_REQUEST;
+
+/** Called when expand is requested
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EXPAND_REQUEST (&(_ELM_GENLIST_EVENT_EXPAND_REQUEST))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_CONTRACTED;
+
+/** called when genlist is contracted
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_CONTRACTED (&(_ELM_GENLIST_EVENT_CONTRACTED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_EXPANDED;
+
+/** Called when genlist is expanded
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_EXPANDED (&(_ELM_GENLIST_EVENT_EXPANDED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_INDEX_UPDATE;
+
+/** Called when genlist index updated
+ * @return Efl_Object *
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_INDEX_UPDATE (&(_ELM_GENLIST_EVENT_INDEX_UPDATE))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED;
+
+/** Called when genlist tree effect finished
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED (&(_ELM_GENLIST_EVENT_TREE_EFFECT_FINISHED))
+
+EWAPI extern const Efl_Event_Description _ELM_GENLIST_EVENT_FILTER_DONE;
+
+/** Called when genlist filter is done
+ *
+ * @ingroup Elm_Genlist
+ */
+#define ELM_GENLIST_EVENT_FILTER_DONE (&(_ELM_GENLIST_EVENT_FILTER_DONE))
+
+#endif
--- /dev/null
+
+EAPI void
+elm_genlist_homogeneous_set(Elm_Genlist *obj, Eina_Bool homogeneous)
+{
+ elm_obj_genlist_homogeneous_set(obj, homogeneous);
+}
+
+EAPI Eina_Bool
+elm_genlist_homogeneous_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_homogeneous_get(obj);
+}
+
+EAPI void
+elm_genlist_select_mode_set(Elm_Genlist *obj, Elm_Object_Select_Mode mode)
+{
+ elm_obj_genlist_select_mode_set(obj, mode);
+}
+
+EAPI Elm_Object_Select_Mode
+elm_genlist_select_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_select_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_focus_on_selection_set(Elm_Genlist *obj, Eina_Bool enabled)
+{
+ elm_obj_genlist_focus_on_selection_set(obj, enabled);
+}
+
+EAPI Eina_Bool
+elm_genlist_focus_on_selection_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_focus_on_selection_get(obj);
+}
+
+EAPI void
+elm_genlist_longpress_timeout_set(Elm_Genlist *obj, double timeout)
+{
+ elm_obj_genlist_longpress_timeout_set(obj, timeout);
+}
+
+EAPI double
+elm_genlist_longpress_timeout_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_longpress_timeout_get(obj);
+}
+
+EAPI void
+elm_genlist_multi_select_set(Elm_Genlist *obj, Eina_Bool multi)
+{
+ elm_obj_genlist_multi_select_set(obj, multi);
+}
+
+EAPI Eina_Bool
+elm_genlist_multi_select_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_multi_select_get(obj);
+}
+
+EAPI void
+elm_genlist_reorder_mode_set(Elm_Genlist *obj, Eina_Bool reorder_mode)
+{
+ elm_obj_genlist_reorder_mode_set(obj, reorder_mode);
+}
+
+EAPI Eina_Bool
+elm_genlist_reorder_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_reorder_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_decorate_mode_set(Elm_Genlist *obj, Eina_Bool decorated)
+{
+ elm_obj_genlist_decorate_mode_set(obj, decorated);
+}
+
+EAPI Eina_Bool
+elm_genlist_decorate_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_decorate_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_multi_select_mode_set(Elm_Genlist *obj, Elm_Object_Multi_Select_Mode mode)
+{
+ elm_obj_genlist_multi_select_mode_set(obj, mode);
+}
+
+EAPI Elm_Object_Multi_Select_Mode
+elm_genlist_multi_select_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_multi_select_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_block_count_set(Elm_Genlist *obj, int count)
+{
+ elm_obj_genlist_block_count_set(obj, count);
+}
+
+EAPI int
+elm_genlist_block_count_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_block_count_get(obj);
+}
+
+EAPI void
+elm_genlist_tree_effect_enabled_set(Elm_Genlist *obj, Eina_Bool enabled)
+{
+ elm_obj_genlist_tree_effect_enabled_set(obj, enabled);
+}
+
+EAPI Eina_Bool
+elm_genlist_tree_effect_enabled_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_tree_effect_enabled_get(obj);
+}
+
+EAPI void
+elm_genlist_highlight_mode_set(Elm_Genlist *obj, Eina_Bool highlight)
+{
+ elm_obj_genlist_highlight_mode_set(obj, highlight);
+}
+
+EAPI Eina_Bool
+elm_genlist_highlight_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_highlight_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_mode_set(Elm_Genlist *obj, Elm_List_Mode mode)
+{
+ elm_obj_genlist_mode_set(obj, mode);
+}
+
+EAPI Elm_List_Mode
+elm_genlist_mode_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_mode_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_decorated_item_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_decorated_item_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_selected_item_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_selected_item_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_first_item_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_first_item_get(obj);
+}
+
+EAPI Eina_List *
+elm_genlist_realized_items_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_realized_items_get(obj);
+}
+
+EAPI const Eina_List *
+elm_genlist_selected_items_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_selected_items_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_last_item_get(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_last_item_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_insert_before(Elm_Genlist *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)
+{
+ return elm_obj_genlist_item_insert_before(obj, itc, data, parent, before_it, type, func, func_data);
+}
+
+EAPI void
+elm_genlist_realized_items_update(Elm_Genlist *obj)
+{
+ elm_obj_genlist_realized_items_update(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_insert_after(Elm_Genlist *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)
+{
+ return elm_obj_genlist_item_insert_after(obj, itc, data, parent, after_it, type, func, func_data);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_at_xy_item_get(const Elm_Genlist *obj, int x, int y, int *posret)
+{
+ return elm_obj_genlist_at_xy_item_get(obj, x, y, posret);
+}
+
+EAPI void
+elm_genlist_filter_set(Elm_Genlist *obj, void *key)
+{
+ elm_obj_genlist_filter_set(obj, key);
+}
+
+EAPI Eina_Iterator *
+elm_genlist_filter_iterator_new(Elm_Genlist *obj)
+{
+ return elm_obj_genlist_filter_iterator_new(obj);
+}
+
+EAPI unsigned int
+elm_genlist_filtered_items_count(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_filtered_items_count(obj);
+}
+
+EAPI unsigned int
+elm_genlist_items_count(const Elm_Genlist *obj)
+{
+ return elm_obj_genlist_items_count(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_prepend(Elm_Genlist *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)
+{
+ return elm_obj_genlist_item_prepend(obj, itc, data, parent, type, func, func_data);
+}
+
+EAPI void
+elm_genlist_clear(Elm_Genlist *obj)
+{
+ elm_obj_genlist_clear(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_append(Elm_Genlist *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)
+{
+ return elm_obj_genlist_item_append(obj, itc, data, parent, type, func, func_data);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_sorted_insert(Elm_Genlist *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)
+{
+ return elm_obj_genlist_item_sorted_insert(obj, itc, data, parent, type, comp, func, func_data);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_search_by_text_item_get(Elm_Genlist *obj, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags)
+{
+ return elm_obj_genlist_search_by_text_item_get(obj, item_to_search_from, part_name, pattern, flags);
+}
--- /dev/null
+#ifndef _ELM_GENLIST_EO_LEGACY_H_
+#define _ELM_GENLIST_EO_LEGACY_H_
+
+#ifndef _ELM_GENLIST_EO_CLASS_TYPE
+#define _ELM_GENLIST_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist;
+
+#endif
+
+#ifndef _ELM_GENLIST_EO_TYPES
+#define _ELM_GENLIST_EO_TYPES
+
+
+#endif
+
+/**
+ * @brief Enable/disable homogeneous mode.
+ *
+ * This will enable the homogeneous mode where items are of the same height and
+ * width so that genlist may do the lazy-loading at its maximum (which
+ * increases the performance for scrolling the list). In the normal mode,
+ * genlist will pre-calculate all the items' sizes even though they are not in
+ * use. So items' callbacks are called many times than expected. But
+ * homogeneous mode will skip the item size pre-calculation process so items'
+ * callbacks are called only when the item is needed.
+ *
+ * @note This also works well with group index.
+ *
+ * @param[in] obj The object.
+ * @param[in] homogeneous Assume the items within the genlist are of the same
+ * height and width. Default is @c false.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_homogeneous_set(Elm_Genlist *obj, Eina_Bool homogeneous);
+
+/**
+ * @brief Get whether the homogeneous mode is enabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Assume the items within the genlist are of the same height and
+ * width. Default is @c false.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_homogeneous_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set the genlist select mode.
+ *
+ * #ELM_OBJECT_SELECT_MODE_DEFAULT means that items will call their selection
+ * func and callback once when first becoming selected. Any further clicks will
+ * do nothing, unless you set always select mode. ELM_OBJECT_SELECT_MODE_ALWAYS
+ * means that even if selected, every click will make the selected callbacks be
+ * called. #ELM_OBJECT_SELECT_MODE_NONE will turn off the ability to select
+ * items entirely and they will neither appear selected nor call selected
+ * callback functions.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The select mode.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_select_mode_set(Elm_Genlist *obj, Elm_Object_Select_Mode mode);
+
+/**
+ * @brief Get the genlist select mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The select mode.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Object_Select_Mode elm_genlist_select_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set focus upon items selection mode
+ *
+ * When enabled, every selection of an item inside the genlist will
+ * automatically set focus to its first focusable widget from the left. This is
+ * true of course if the selection was made by clicking an unfocusable area in
+ * an item or selecting it with a key movement. Clicking on a focusable widget
+ * inside an item will cause this particular item to get focus as usual.
+ *
+ * @param[in] obj The object.
+ * @param[in] enabled The tree effect status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_focus_on_selection_set(Elm_Genlist *obj, Eina_Bool enabled);
+
+/**
+ * @brief Get whether focus upon item's selection mode is enabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The tree effect status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_focus_on_selection_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set the timeout in seconds for the longpress event.
+ *
+ * This option will change how long it takes to send an event "longpressed"
+ * after the mouse down signal is sent to the list. If this event occurs, no
+ * "clicked" event will be sent.
+ *
+ * @warning If you set the longpress timeout value with this API, your genlist
+ * will not be affected by the longpress value of elementary config value
+ * later.
+ *
+ * @param[in] obj The object.
+ * @param[in] timeout Timeout in seconds. Default is elm config value (1.0).
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_longpress_timeout_set(Elm_Genlist *obj, double timeout);
+
+/**
+ * @brief Get the timeout in seconds for the longpress event.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Timeout in seconds. Default is elm config value (1.0).
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI double elm_genlist_longpress_timeout_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Enable or disable multi-selection in the genlist.
+ *
+ * This enables ($true) or disables ($false) multi-selection in the list. This
+ * allows more than 1 item to be selected. To retrieve the list of selected
+ * items, use @ref elm_genlist_selected_items_get.
+ *
+ * @param[in] obj The object.
+ * @param[in] multi Multi-select enable/disable. Default is disabled.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_multi_select_set(Elm_Genlist *obj, Eina_Bool multi);
+
+/**
+ * @brief Get if multi-selection in genlist is enabled or disabled.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Multi-select enable/disable. Default is disabled.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_multi_select_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set reorder mode.
+ *
+ * After turning on the reorder mode, longpress on normal item will trigger
+ * reordering of the item. You can move the item up and down. However, reorder
+ * does not work with group item.
+ *
+ * @param[in] obj The object.
+ * @param[in] reorder_mode The reorder mode.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_reorder_mode_set(Elm_Genlist *obj, Eina_Bool reorder_mode);
+
+/**
+ * @brief Get the reorder mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The reorder mode.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_reorder_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set Genlist decorate mode.
+ *
+ * This sets Genlist decorate mode to all items.
+ *
+ * @param[in] obj The object.
+ * @param[in] decorated The decorate mode status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_decorate_mode_set(Elm_Genlist *obj, Eina_Bool decorated);
+
+/**
+ * @brief Get Genlist decorate mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The decorate mode status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_decorate_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set the genlist multi select mode.
+ *
+ * #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT means that select/unselect items
+ * whenever each item is clicked. #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
+ * means that only one item will be selected although multi-selection is
+ * enabled, if clicked without pressing control key. This mode is only
+ * available with multi-selection.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The multi select mode
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_multi_select_mode_set(Elm_Genlist *obj, Elm_Object_Multi_Select_Mode mode);
+
+/**
+ * @brief Get the genlist multi select mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The multi select mode
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Object_Multi_Select_Mode elm_genlist_multi_select_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set the maximum number of items within an item block.
+ *
+ * This will configure the block count to tune to the target with particular
+ * performance matrix.
+ *
+ * A block of objects will be used to reduce the number of operations due to
+ * many objects in the screen. It can determine the visibility, or if the
+ * object has changed, it theme needs to be updated, etc. doing this kind of
+ * calculation to the entire block, instead of per object.
+ *
+ * The default value for the block count is enough for most lists, so unless
+ * you know you will have a lot of objects visible in the screen at the same
+ * time, don't try to change this.
+ *
+ * @param[in] obj The object.
+ * @param[in] count Maximum number of items within an item block. Default is
+ * 32.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_block_count_set(Elm_Genlist *obj, int count);
+
+/**
+ * @brief Get the maximum number of items within an item block.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Maximum number of items within an item block. Default is 32.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI int elm_genlist_block_count_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Control genlist tree effect.
+ *
+ * @param[in] obj The object.
+ * @param[in] enabled The tree effect status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_tree_effect_enabled_set(Elm_Genlist *obj, Eina_Bool enabled);
+
+/**
+ * @brief Control genlist tree effect.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The tree effect status.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_tree_effect_enabled_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Set whether the genlist items should be highlighted on item
+ * selection.
+ *
+ * This will turn on/off the highlight effect on item selection. The selected
+ * and clicked callback functions will still be called.
+ *
+ * Highlight is enabled by default.
+ *
+ * @param[in] obj The object.
+ * @param[in] highlight @c true to enable highlighting or @c false to disable
+ * it.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_highlight_mode_set(Elm_Genlist *obj, Eina_Bool highlight);
+
+/**
+ * @brief Get whether the genlist items' should be highlighted when item
+ * selected.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true to enable highlighting or @c false to disable it.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Bool elm_genlist_highlight_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief This sets the horizontal stretching mode.
+ *
+ * This sets the mode used for sizing items horizontally. Valid modes are
+ * @ref ELM_LIST_LIMIT, @ref ELM_LIST_SCROLL, and @ref ELM_LIST_COMPRESS. The
+ * default is @ref ELM_LIST_SCROLL. This mode means that if items are too wide
+ * to fit, the scroller will scroll horizontally. Otherwise items are expanded
+ * to fill the width of the viewport of the scroller. If it is
+ * @ref ELM_LIST_LIMIT, items will be expanded to the viewport width and
+ * limited to that size. If it is @ref ELM_LIST_COMPRESS, the item width will
+ * be fixed (restricted to a minimum of) to the list width when calculating its
+ * size in order to allow the height to be calculated based on it. This allows,
+ * for instance, text block to wrap lines if the Edje part is configured with
+ * "text.min: 0 1".
+ *
+ * @note @ref ELM_LIST_COMPRESS will make list resize slower as it will have to
+ * recalculate every item height again whenever the list width changes!
+ *
+ * @note Homogeneous mode gives all items in the genlist the same width/height.
+ * With @ref ELM_LIST_COMPRESS, genlist items initialize fast, but there cannot
+ * be any sub-objects in the genlist which require on-the-fly resizing (such as
+ * TEXTBLOCK). In this case some dynamic resizable objects in the genlist might
+ * not diplay properly.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The mode to use (one of @ref ELM_LIST_SCROLL or
+ * @ref ELM_LIST_LIMIT).
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_mode_set(Elm_Genlist *obj, Elm_List_Mode mode);
+
+/**
+ * @brief Get the horizontal stretching mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The mode to use (one of @ref ELM_LIST_SCROLL or
+ * @ref ELM_LIST_LIMIT).
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_List_Mode elm_genlist_mode_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Get active genlist mode item.
+ *
+ * This function returns the item that was activated with a mode, by the
+ * function @ref elm_genlist_decorate_mode_set.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The active item for that current mode. Or @c null if no item is
+ * activated with any mode.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_decorated_item_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Get the selected item in the genlist.
+ *
+ * This gets the selected item in the list (if multi-selection is enabled, only
+ * the item that was first selected in the list is returned - which is not very
+ * useful, so see @ref elm_genlist_selected_items_get for when multi-selection
+ * is used).
+ *
+ * If no item is selected, @c null is returned.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected item, or @c null if none is selected.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_selected_item_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Get the first item in the genlist.
+ *
+ * This returns the first item in the list.
+ *
+ * If filter is set on genlist, it returns the first filtered item in the list.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The first item or @c null.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_first_item_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Get a list of realized items in genlist.
+ *
+ * This returns a list of the realized items in the genlist. The list contains
+ * genlist item pointers. The list must be freed by the caller when done with
+ * @ref eina_list_free. The item pointers in the list are only valid so long as
+ * those items are not deleted or the genlist is not deleted.
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of realized items
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_List *elm_genlist_realized_items_get(const Elm_Genlist *obj) EINA_WARN_UNUSED_RESULT;
+
+/**
+ * @brief Get a list of selected items in the genlist.
+ *
+ * It returns a list of the selected items. This list pointer is only valid so
+ * long as the selection doesn't change (no items are selected or unselected,
+ * or unselected implicitl by deletion). The list contains genlist items
+ * pointers. The order of the items in this list is the order which they were
+ * selected, i.e. the first item in this list is the first item that was
+ * selected, and so on.
+ *
+ * @note If not in multi-select mode, consider using function
+ * @ref elm_genlist_selected_item_get instead.
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of selected items
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI const Eina_List *elm_genlist_selected_items_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Get the last item in the genlist
+ *
+ * This returns the last item in the list.
+ *
+ * If filter is set to genlist, it returns last filtered item in the list.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Last item in list
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_last_item_get(const Elm_Genlist *obj);
+
+/**
+ * @brief Insert an item before another in a genlist widget
+ *
+ * This inserts an item before another in the list. It will be in the same tree
+ * level or group as the item it is inserted before.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] before_it The item to place this new one before.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_insert_before(Elm_Genlist *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);
+
+/**
+ * @brief Update the contents of all realized items.
+ *
+ * This updates all realized items by calling all the item class functions
+ * again to get the contents, texts and states. Use this when the original item
+ * data has changed and the changes are desired to be reflected.
+ *
+ * To update just one item, use @ref elm_genlist_item_update.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_realized_items_update(Elm_Genlist *obj);
+
+/**
+ * @brief Insert an item after another in a genlist widget
+ *
+ * This inserts an item after another in the list. It will be in the same tree
+ * level or group as the item it is inserted after.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] after_it The item to place this new one after.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_insert_after(Elm_Genlist *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);
+
+/**
+ * @brief Get the item that is at the x, y canvas coords.
+ *
+ * This returns the item at the given coordinates (which are canvas relative,
+ * not object-relative). If an item is at that coordinate, that item handle is
+ * returned, and if @c posret is not NULL, the integer pointed to is set to a
+ * value of -1, 0 or 1, depending if the coordinate is on the upper portion of
+ * that item (-1), on the middle section (0) or on the lower part (1). If NULL
+ * is returned as an item (no item found there), then posret may indicate -1 or
+ * 1 based if the coordinate is above or below all items respectively in the
+ * genlist.
+ *
+ * @param[in] obj The object.
+ * @param[in] x The input x coordinate.
+ * @param[in] y The input y coordinate.
+ * @param[out] posret The position relative to the item returned here.
+ *
+ * @return Item at position
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_at_xy_item_get(const Elm_Genlist *obj, int x, int y, int *posret);
+
+/**
+ * @brief Set filter mode with key.
+ *
+ * This initiates the filter mode of genlist with user/application provided
+ * key. If key is NULL, the filter mode is turned off.
+ *
+ * The filter data passed has to be managed by application itself and should
+ * not be deleted before genlist is deleted(or while filtering is not done.
+ *
+ * @param[in] obj The object.
+ * @param[in] key Filter key
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_filter_set(Elm_Genlist *obj, void *key);
+
+/**
+ * @brief Returns an iterator over the list of filtered items.
+ *
+ * Return NULL if filter is not set. Application must take care of the case
+ * while calling the API. Must be freed after use.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Iterator on genlist
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Eina_Iterator *elm_genlist_filter_iterator_new(Elm_Genlist *obj);
+
+/**
+ * @brief Return how many items have passed the filter currently.
+ *
+ * This behaviour is O(1) and returns the count of items which are currently
+ * passed by the filter. After "filter,done", the call returns total count of
+ * the filtered items.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Count of items passing the filter
+ *
+ * @since 1.18
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI unsigned int elm_genlist_filtered_items_count(const Elm_Genlist *obj);
+
+/**
+ * @brief Return how many items are currently in a list.
+ *
+ * This behavior is O(1) and includes items which may or may not be realized.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Item in list
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI unsigned int elm_genlist_items_count(const Elm_Genlist *obj);
+
+/**
+ * @brief Prepend a new item in a given genlist widget.
+ *
+ * This adds an item to the beginning of the list or beginning of the children
+ * of the parent if given.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to prepended item
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_prepend(Elm_Genlist *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);
+
+/**
+ * @brief Remove all items from a given genlist widget.
+ *
+ * This removes (and deletes) all items in @c obj, leaving it empty.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI void elm_genlist_clear(Elm_Genlist *obj);
+
+/**
+ * @brief Append a new item in a given genlist widget.
+ *
+ * This adds the given item to the end of the list or the end of the children
+ * list if the @c parent is given.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to appended item
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_append(Elm_Genlist *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);
+
+/**
+ * @brief Insert a new item into the sorted genlist object
+ *
+ * This inserts an item in the genlist based on user defined comparison
+ * function. The two arguments passed to the function @c func are genlist item
+ * handles to compare.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ * @param[in] data The item data.
+ * @param[in] parent The parent item, or @c null if none.
+ * @param[in] type Item type.
+ * @param[in] comp The function called for the sort.
+ * @param[in] func Convenience function called when the item is selected.
+ * @param[in] func_data Data passed to @c func above.
+ *
+ * @return Handle to inserted item
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_sorted_insert(Elm_Genlist *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);
+
+/**
+ * @brief Get genlist item by given string.
+ *
+ * It takes pointer to the genlist item that will be used to start search from
+ * it.
+ *
+ * This function uses globs (like "*.jpg") for searching and takes search flags
+ * as last parameter That is a bitfield with values to be ored together or 0
+ * for no flags.
+ *
+ * @param[in] obj The object.
+ * @param[in] item_to_search_from Pointer to item to start search from. If
+ * @c null, search will be started from the first item of the genlist.
+ * @param[in] part_name Name of the TEXT part of genlist item to search string
+ * in.
+ * @param[in] pattern The search pattern.
+ * @param[in] flags Search flags.
+ *
+ * @return Searched item
+ *
+ * @since 1.11
+ *
+ * @ingroup Elm_Genlist_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_search_by_text_item_get(Elm_Genlist *obj, Elm_Widget_Item *item_to_search_from, const char *part_name, const char *pattern, Elm_Glob_Match_Flags flags);
+
+#endif
+++ /dev/null
-import elm_general;
-
-class Elm.Genlist.Item extends Elm.Widget.Item.Static_Focus implements Efl.Ui.Legacy
-{
- [[Elementary genlist item class]]
- legacy_prefix: elm_genlist_item;
- eo_prefix: elm_obj_genlist_item;
- data: Elm_Gen_Item;
- methods {
- @property prev {
- get {
- [[Get the previous item in a genlist widget's internal
- list of items, given a handle to one of those items.
-
- This returns the item placed before the $item, on
- the container genlist.
-
- If filter is set on genlist, this returns the filtered
- item placed before $item in the list.
-
- Note that parent / child relationship is not taken into
- account, the previous visual item is always returned,
- could it be a parent, a child or a group item.
-
- NULL is returned if called on the first item.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- item: Elm.Widget.Item; [[The item before $item, or $null if there's none (and on errors).]]
- }
- }
- @property next {
- get {
- [[Get the next item in a genlist widget's internal lis
- of items, given a handle to one of those items.
-
- This returns the item placed after the $item, on
- the container genlist.
-
- If filter is set on genlist, this returns the filtered
- item placed after $item in the list.
-
- Also the next item means item in the same tree level.
- If a item has subitems, and it have expand all subitems
- will be ignore, and will get the next item in the same
- level.
-
- Note that parent / child relationship is not taken into
- account, the next visual item is always returned, could
- it be a parent, a child or a group item.
-
- NULL is returned if called on the last item.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- item: Elm.Widget.Item; [[The item after $item, or $null if there's none (and on errors).]]
- }
- }
- @property parent_item {
- get {
- [[Get the parent item of the given item
-
- This returns the item that was specified as parent
- of the item $it on \@ref elm_genlist_item_append
- and insertion related functions.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- legacy: elm_genlist_item_parent_get;
- }
- values {
- item: Elm.Widget.Item; [[The parent of the item or $null if it has no parent.]]
- }
- }
- @property subitems {
- get {
- [[\@internal
- Get the list of subitems of a given item
-
- This returns the list of subitems that an item
- possesses. It cannot be changed.
-
- @since 1.9
- ]]
- }
- values {
- subitems: const(list<Elm.Widget.Item>); [[The list of subitems, $null on error.]]
- }
- }
- @property selected {
- get {
- [[Get whether a given genlist item is selected or not.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- set {
- [[Set whether a given genlist item is selected or not
-
- This sets the selected state of an item. If multi
- selection is not enabled on the containing genlist
- and $selected is $true, any other previously selected
- items will get unselected in favor of this new one.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- selected: bool; [[The selected state ($true selected, $false not selected).]]
- }
- }
- @property expanded {
- get {
- [[Get the expanded state of an item
-
- This gets the expanded state of an item.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- set {
- [[Sets the expanded state of an item.
-
- This function flags the item of type
- #ELM_GENLIST_ITEM_TREE as expanded or not.
-
- The theme will respond to this change visually, and
- a signal "expanded" or "contracted" will be sent
- from the genlist with a pointer to the item that
- has been expanded/contracted.
-
- Calling this function won't show or hide any child
- of this item (if it is a parent). You must manually
- delete and create them on the callbacks of
- the "expanded" or "contracted" signals.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- expanded: bool; [[The expanded state ($true expanded, $false not expanded).]]
- }
- }
- @property expanded_depth {
- get {
- [[Get the depth of expanded item.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- depth: int; [[The depth of expanded item.]]
- }
- }
- @property item_class {
- get {
- [[Get the Genlist Item class for the given Genlist Item.
-
- This returns the Genlist_Item_Class for the given item.
- It can be used to examine the function pointers and
- item_style.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- @cref itc: Elm.Genlist.Item.Class; [[Genlist Item class for the given item.]]
- }
- }
- @property index {
- get {
- [[Get the index of the item. It is only valid once displayed.
-
- The index start from 1.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- index: int(-1); [[The position inside the list of item.]]
- }
- }
- @property decorate_mode {
- get {
- [[\@internal
- Get the item's decorate mode.
-
- This function just returns the name of the item's
- decorate mode.
- ]]
- }
- values {
- decorate_it_type: string; [[Name of the item's decorate mode.]]
- }
- }
- @property flip {
- get {
- [[\@internal
- Get the flip state of a given genlist item.
-
- This function returns the flip state of a given
- genlist item. If the parameter is invalid, it
- returns $false.
- ]]
- }
- set {
- [[\@internal
- Set the flip state of a given genlist item.
-
- This function sets the flip state of a given genlist
- item. Flip mode overrides current item object.
- It can be used for on-the-fly item replace.
- Flip mode can be used with/without decorate mode.
- ]]
- }
- values {
- flip: bool; [[The flip mode.]]
- }
- }
- @property select_mode {
- get {
- [[Get the genlist item's select mode.
-
- It's ELM_OBJECT_SELECT_MODE_MAX on failure.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- set {
- [[Set the genlist item's select mode.
-
- ELM_OBJECT_SELECT_MODE_DEFAULT means that the item
- will only call their selection func and callback
- when first becoming selected. Any further clicks will
- do nothing, unless you set always select mode.
-
- ELM_OBJECT_SELECT_MODE_ALWAYS means that even if
- selected, every click will make the selected
- callbacks be called.
-
- ELM_OBJECT_SELECT_MODE_NONE will turn off the ability
- to select the item entirely and they will neither
- appear selected nor call selected callback functions.
-
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY will apply
- no-finger-size rule with ELM_OBJECT_SELECT_MODE_NONE.
- No-finger-size rule makes an item can be smaller
- than lower limit. Clickable objects should be bigger
- than human touch point device (your finger) for
- some touch or small screen devices. So it is
- enabled, the item can be shrink than predefined
- finger-size value. And the item will be updated.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The selected mode.]]
- }
- }
- @property type {
- get {
- [[Get the Item's type.
-
- This function returns the item's type. Normally the
- item's type. If it failed, return value is
- ELM_GENLIST_ITEM_MAX.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- values {
- type: Elm.Genlist.Item.Type(Elm.Genlist.Item.Type.max); [[Item type.]]
- }
- }
- @property pin {
- get {
- [[Get whether a given genlist item is pinned or not.]]
- }
- set {
- [[Set whether a given genlist item is pinned or not
-
- This sets a genlist item as pinned so that it will be always available in
- the viewport available for user interaction. Group items cannot be pinned.
- Also when a new item is pinned, the current pinned item will get unpinned.
- Item pinning cannot be done in reorder mode too.
- ]]
- }
- values {
- pin: bool; [[The item pin state state ($true pin item, $false unpin item).]]
- }
- }
- /* init { FIXME
- params {
- Evas_Smart_Cb func;
- const(void_ptr) data;
- }
- }*/
- subitems_count {
- [[\@internal
- Get the number of subitems of a given item.
-
- This returns the number of subitems that an item possesses.
-
- @since 1.9
- ]]
- return: uint; [[The number of subitems, 0 on error.]]
- }
- subitems_clear{
- [[Remove all sub-items (children) of the given item.
-
- This removes all items that are children (and their
- descendants) of the given item $it.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- promote {
- [[Promote an item to the top of the list.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- demote {
- [[Demote an item to the end of the list.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- show {
- [[Show the portion of a genlist's internal list containing
- a given item, immediately.
-
- This causes genlist to jump to the given item $it and
- show it (by jumping to that position), if it is not
- fully visible.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- params {
- @in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
- \@ref Elm_Genlist_Item_Scrollto_Type.]]
- }
- }
- bring_in {
- [[Animatedly bring in, to the visible area of a genlist, a
- given item on it.
-
- This causes genlist to jump to the given item $it and
- show it (by animatedly scrolling), if it is not fully
- visible. This may use animation and take a some time
- to do so.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- params {
- @in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
- \@ref Elm_Genlist_Item_Scrollto_Type.]]
- }
- }
- all_contents_unset {
- [[Unset all contents fetched by the item class.
-
- This instructs genlist to release references to contents
- in the item, meaning that they will no longer be managed
- by genlist and are floating "orphans" that can be re-used
- elsewhere if the user wants to.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- params {
- @out l: list<Efl.Canvas.Object> @owned; [[The contents list to return.]]
- }
- }
- update {
- [[Update all the contents of an item.
-
- This updates an item by calling all the item class
- functions again to get the contents, texts and states.
- Use this when the original item data has changed and the
- changes are desired to be reflected.
-
- Use elm_genlist_realized_items_update() to update all
- already realized items.
-
- Note: This also updates internal genlist item object
- (edje_object as of now). So when this is called between
- mouse down and mouse up, mouse up event will be ignored
- because edje_object is deleted and created again by this
- API. If you want to avoid this, please use
- \@ref elm_genlist_item_fields_update.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- }
- fields_update {
- [[Update the part of an item.
-
- This updates an item's part by calling item's fetching
- functions again to get the contents, texts and states.
- Use this when the original item data has changed and the
- changes are desired to be reflected. Second part
- argument is used for globbing to match '*', '?', and '.'
- It can be used at updating multi fields.
-
- Use \@ref elm_genlist_realized_items_update to update an
- item's all property.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- params {
- @in parts: string; [[The name of item's part.]]
- @in itf: Elm.Genlist.Item.Field_Type; [[The type of item's part type.]]
- }
- }
- item_class_update {
- [[Update the item class of an item.
-
- This sets another class of the item, changing the way
- that it is displayed. After changing the item class
- @.update is called on the item $it.
-
- \@if MOBILE \@since_tizen 2.3
- \@elseif WEARABLE \@since_tizen 2.3.1
- \@endif
- ]]
- params {
- @cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
- }
- }
- decorate_mode_set {
- [[\@internal
- Activate a genlist mode on an item.
-
- A genlist mode is a different way of selecting an item.
- Once a mode is activated on an item, any other selected
- item is immediately unselected. This feature provides an
- easy way of implementing a new kind of animation for
- selecting an item, without having to entirely rewrite
- the item style theme. However, the elm_genlist_selected_*
- API can't be used to get what item is activate for a mode.
-
- The current item style will still be used, but applying
- a genlist mode to an item will select it using a
- different kind of animation.
-
- The current active item for a mode can be found by
- \@ref elm_genlist_decorated_item_get.
-
- Only one mode can be active at any time, and for only one
- item. Genlist handles deactivating other items when one
- item is activated. A mode is defined in the genlist theme
- (edc), and more modes can easily be added. A mode style
- and the genlist item style are different things. They
- can be combined to provide a default style to the item,
- with some kind of animation for that item when the mode
- is activated.
-
- When a mode is activated on an item, a new view for that
- item is created. The theme of this mode defines the
- animation that will be used to transit the item from
- the old view to the new view. This second (new) view will
- be active for that item while the mode is active on the
- item, and will be destroyed after the mode is totally
- deactivated from that item.
- ]]
- params {
- @in decorate_it_type: string; [[Mode name.]]
- @in decorate_it_set: bool; [[Boolean to define set or unset mode.]]
- }
- }
- }
- implements {
- Efl.Object.constructor;
- Elm.Widget.Item.del_pre;
- Elm.Widget.Item.disable;
- Elm.Widget.Item.signal_emit;
- Elm.Widget.Item.style { get; set; }
- Elm.Widget.Item.item_focus { get; set; }
- Elm.Widget.Item.part_text { get; }
- Elm.Widget.Item.part_content { get; }
- Elm.Widget.Item.tooltip_text_set;
- Elm.Widget.Item.tooltip_style { get; set; }
- Elm.Widget.Item.tooltip_window_mode { get; set; }
- Elm.Widget.Item.tooltip_content_cb_set;
- Elm.Widget.Item.tooltip_unset;
- Elm.Widget.Item.cursor { set; }
- Elm.Widget.Item.cursor_unset;
- Efl.Access.Object.i18n_name { get; }
- Efl.Access.Object.state_set { get; }
- Efl.Ui.Focus.Object.setup_order_non_recursive;
-
- Efl.Access.Object.access_children { get; }
- //TIZEN_ONLY(20171114) genlist: enhance accessibility scroll & highlight
- Efl.Access.Component.highlight_grab;
- Efl.Access.Component.highlight_clear;
- //
- Efl.Ui.Focus.Object.focus_parent { get; }
- }
-}
--- /dev/null
+
+Elm_Widget_Item *_elm_genlist_item_prev_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_prev_get, Elm_Widget_Item *, NULL);
+
+Elm_Widget_Item *_elm_genlist_item_next_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_next_get, Elm_Widget_Item *, NULL);
+
+Elm_Widget_Item *_elm_genlist_item_parent_item_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_parent_item_get, Elm_Widget_Item *, NULL);
+
+const Eina_List *_elm_genlist_item_subitems_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_subitems_get, const Eina_List *, NULL);
+
+void _elm_genlist_item_selected_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool selected);
+
+
+static Eina_Error
+__eolian_elm_genlist_item_selected_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_item_selected_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_selected_set, EFL_FUNC_CALL(selected), Eina_Bool selected);
+
+Eina_Bool _elm_genlist_item_selected_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_selected_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_item_selected_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_selected_get, Eina_Bool, 0);
+
+void _elm_genlist_item_expanded_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool expanded);
+
+
+static Eina_Error
+__eolian_elm_genlist_item_expanded_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_item_expanded_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_expanded_set, EFL_FUNC_CALL(expanded), Eina_Bool expanded);
+
+Eina_Bool _elm_genlist_item_expanded_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_expanded_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_item_expanded_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_expanded_get, Eina_Bool, 0);
+
+int _elm_genlist_item_expanded_depth_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_expanded_depth_get_reflect(Eo *obj)
+{
+ int val = elm_obj_genlist_item_expanded_depth_get(obj);
+ return eina_value_int_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_expanded_depth_get, int, 0);
+
+const Elm_Genlist_Item_Class *_elm_genlist_item_item_class_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_class_get, const Elm_Genlist_Item_Class *, NULL);
+
+int _elm_genlist_item_index_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_index_get_reflect(Eo *obj)
+{
+ int val = elm_obj_genlist_item_index_get(obj);
+ return eina_value_int_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_index_get, int, -1 /* +1 */);
+
+const char *_elm_genlist_item_decorate_mode_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_decorate_mode_get_reflect(Eo *obj)
+{
+ const char *val = elm_obj_genlist_item_decorate_mode_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_decorate_mode_get, const char *, NULL);
+
+void _elm_genlist_item_flip_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool flip);
+
+
+static Eina_Error
+__eolian_elm_genlist_item_flip_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_item_flip_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_flip_set, EFL_FUNC_CALL(flip), Eina_Bool flip);
+
+Eina_Bool _elm_genlist_item_flip_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_flip_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_item_flip_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_flip_get, Eina_Bool, 0);
+
+void _elm_genlist_item_select_mode_set(Eo *obj, Elm_Gen_Item *pd, Elm_Object_Select_Mode mode);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_select_mode_set, EFL_FUNC_CALL(mode), Elm_Object_Select_Mode mode);
+
+Elm_Object_Select_Mode _elm_genlist_item_select_mode_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_select_mode_get, Elm_Object_Select_Mode, 4 /* Elm.Object.Select_Mode.max */);
+
+Elm_Genlist_Item_Type _elm_genlist_item_type_get(const Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_type_get, Elm_Genlist_Item_Type, 4 /* Elm.Genlist.Item.Type.max */);
+
+void _elm_genlist_item_pin_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool pin);
+
+
+static Eina_Error
+__eolian_elm_genlist_item_pin_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_obj_genlist_item_pin_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_pin_set, EFL_FUNC_CALL(pin), Eina_Bool pin);
+
+Eina_Bool _elm_genlist_item_pin_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Value
+__eolian_elm_genlist_item_pin_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_obj_genlist_item_pin_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_genlist_item_pin_get, Eina_Bool, 0);
+
+unsigned int _elm_genlist_item_subitems_count(Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_FUNC_BODY(elm_obj_genlist_item_subitems_count, unsigned int, 0);
+
+void _elm_genlist_item_subitems_clear(Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_item_subitems_clear);
+
+void _elm_genlist_item_promote(Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_item_promote);
+
+void _elm_genlist_item_demote(Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_item_demote);
+
+void _elm_genlist_item_show(Eo *obj, Elm_Gen_Item *pd, Elm_Genlist_Item_Scrollto_Type type);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_show, EFL_FUNC_CALL(type), Elm_Genlist_Item_Scrollto_Type type);
+
+void _elm_genlist_item_bring_in(Eo *obj, Elm_Gen_Item *pd, Elm_Genlist_Item_Scrollto_Type type);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_bring_in, EFL_FUNC_CALL(type), Elm_Genlist_Item_Scrollto_Type type);
+
+void _elm_genlist_item_all_contents_unset(Eo *obj, Elm_Gen_Item *pd, Eina_List **l);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_all_contents_unset, EFL_FUNC_CALL(l), Eina_List **l);
+
+void _elm_genlist_item_update(Eo *obj, Elm_Gen_Item *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_genlist_item_update);
+
+void _elm_genlist_item_fields_update(Eo *obj, Elm_Gen_Item *pd, const char *parts, Elm_Genlist_Item_Field_Type itf);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_fields_update, EFL_FUNC_CALL(parts, itf), const char *parts, Elm_Genlist_Item_Field_Type itf);
+
+void _elm_genlist_item_item_class_update(Eo *obj, Elm_Gen_Item *pd, const Elm_Genlist_Item_Class *itc);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_class_update, EFL_FUNC_CALL(itc), const Elm_Genlist_Item_Class *itc);
+
+void _elm_genlist_item_decorate_mode_set(Eo *obj, Elm_Gen_Item *pd, const char *decorate_it_type, Eina_Bool decorate_it_set);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_genlist_item_decorate_mode_set, EFL_FUNC_CALL(decorate_it_type, decorate_it_set), const char *decorate_it_type, Eina_Bool decorate_it_set);
+
+Efl_Object *_elm_genlist_item_efl_object_constructor(Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_del_pre(Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_disable(Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_signal_emit(Eo *obj, Elm_Gen_Item *pd, const char *emission, const char *source);
+
+
+void _elm_genlist_item_elm_widget_item_style_set(Eo *obj, Elm_Gen_Item *pd, const char *style);
+
+
+const char *_elm_genlist_item_elm_widget_item_style_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_item_focus_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool focused);
+
+
+Eina_Bool _elm_genlist_item_elm_widget_item_item_focus_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+const char *_elm_genlist_item_elm_widget_item_part_text_get(const Eo *obj, Elm_Gen_Item *pd, const char *part);
+
+
+Efl_Canvas_Object *_elm_genlist_item_elm_widget_item_part_content_get(const Eo *obj, Elm_Gen_Item *pd, const char *part);
+
+
+void _elm_genlist_item_elm_widget_item_tooltip_text_set(Eo *obj, Elm_Gen_Item *pd, const char *text);
+
+
+void _elm_genlist_item_elm_widget_item_tooltip_style_set(Eo *obj, Elm_Gen_Item *pd, const char *style);
+
+
+const char *_elm_genlist_item_elm_widget_item_tooltip_style_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+Eina_Bool _elm_genlist_item_elm_widget_item_tooltip_window_mode_set(Eo *obj, Elm_Gen_Item *pd, Eina_Bool disable);
+
+
+Eina_Bool _elm_genlist_item_elm_widget_item_tooltip_window_mode_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_tooltip_content_cb_set(Eo *obj, Elm_Gen_Item *pd, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
+
+
+void _elm_genlist_item_elm_widget_item_tooltip_unset(Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_elm_widget_item_cursor_set(Eo *obj, Elm_Gen_Item *pd, const char *cursor);
+
+
+void _elm_genlist_item_elm_widget_item_cursor_unset(Eo *obj, Elm_Gen_Item *pd);
+
+
+const char *_elm_genlist_item_efl_access_object_i18n_name_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+Efl_Access_State_Set _elm_genlist_item_efl_access_object_state_set_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+void _elm_genlist_item_efl_ui_focus_object_setup_order_non_recursive(Eo *obj, Elm_Gen_Item *pd);
+
+
+Efl_Ui_Focus_Object *_elm_genlist_item_efl_ui_focus_object_focus_parent_get(const Eo *obj, Elm_Gen_Item *pd);
+
+
+static Eina_Bool
+_elm_genlist_item_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_GENLIST_ITEM_EXTRA_OPS
+#define ELM_GENLIST_ITEM_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_prev_get, _elm_genlist_item_prev_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_next_get, _elm_genlist_item_next_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_parent_item_get, _elm_genlist_item_parent_item_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_subitems_get, _elm_genlist_item_subitems_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_selected_set, _elm_genlist_item_selected_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_selected_get, _elm_genlist_item_selected_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_expanded_set, _elm_genlist_item_expanded_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_expanded_get, _elm_genlist_item_expanded_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_expanded_depth_get, _elm_genlist_item_expanded_depth_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_class_get, _elm_genlist_item_item_class_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_index_get, _elm_genlist_item_index_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_decorate_mode_get, _elm_genlist_item_decorate_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_flip_set, _elm_genlist_item_flip_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_flip_get, _elm_genlist_item_flip_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_select_mode_set, _elm_genlist_item_select_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_select_mode_get, _elm_genlist_item_select_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_type_get, _elm_genlist_item_type_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_pin_set, _elm_genlist_item_pin_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_pin_get, _elm_genlist_item_pin_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_subitems_count, _elm_genlist_item_subitems_count),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_subitems_clear, _elm_genlist_item_subitems_clear),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_promote, _elm_genlist_item_promote),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_demote, _elm_genlist_item_demote),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_show, _elm_genlist_item_show),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_bring_in, _elm_genlist_item_bring_in),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_all_contents_unset, _elm_genlist_item_all_contents_unset),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_update, _elm_genlist_item_update),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_fields_update, _elm_genlist_item_fields_update),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_class_update, _elm_genlist_item_item_class_update),
+ EFL_OBJECT_OP_FUNC(elm_obj_genlist_item_decorate_mode_set, _elm_genlist_item_decorate_mode_set),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_genlist_item_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_del_pre, _elm_genlist_item_elm_widget_item_del_pre),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_disable, _elm_genlist_item_elm_widget_item_disable),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_emit, _elm_genlist_item_elm_widget_item_signal_emit),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_style_set, _elm_genlist_item_elm_widget_item_style_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_style_get, _elm_genlist_item_elm_widget_item_style_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_set, _elm_genlist_item_elm_widget_item_item_focus_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_get, _elm_genlist_item_elm_widget_item_item_focus_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_get, _elm_genlist_item_elm_widget_item_part_text_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_get, _elm_genlist_item_elm_widget_item_part_content_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_text_set, _elm_genlist_item_elm_widget_item_tooltip_text_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_set, _elm_genlist_item_elm_widget_item_tooltip_style_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_get, _elm_genlist_item_elm_widget_item_tooltip_style_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_set, _elm_genlist_item_elm_widget_item_tooltip_window_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_get, _elm_genlist_item_elm_widget_item_tooltip_window_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_content_cb_set, _elm_genlist_item_elm_widget_item_tooltip_content_cb_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_unset, _elm_genlist_item_elm_widget_item_tooltip_unset),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_set, _elm_genlist_item_elm_widget_item_cursor_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_unset, _elm_genlist_item_elm_widget_item_cursor_unset),
+ EFL_OBJECT_OP_FUNC(efl_access_object_i18n_name_get, _elm_genlist_item_efl_access_object_i18n_name_get),
+ EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_genlist_item_efl_access_object_state_set_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_object_setup_order_non_recursive, _elm_genlist_item_efl_ui_focus_object_setup_order_non_recursive),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_object_focus_parent_get, _elm_genlist_item_efl_ui_focus_object_focus_parent_get),
+ ELM_GENLIST_ITEM_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ static const Efl_Object_Property_Reflection refl_table[] = {
+ {"selected", __eolian_elm_genlist_item_selected_set_reflect, __eolian_elm_genlist_item_selected_get_reflect},
+ {"expanded", __eolian_elm_genlist_item_expanded_set_reflect, __eolian_elm_genlist_item_expanded_get_reflect},
+ {"expanded_depth", NULL, __eolian_elm_genlist_item_expanded_depth_get_reflect},
+ {"index", NULL, __eolian_elm_genlist_item_index_get_reflect},
+ {"decorate_mode", NULL, __eolian_elm_genlist_item_decorate_mode_get_reflect},
+ {"flip", __eolian_elm_genlist_item_flip_set_reflect, __eolian_elm_genlist_item_flip_get_reflect},
+ {"pin", __eolian_elm_genlist_item_pin_set_reflect, __eolian_elm_genlist_item_pin_get_reflect},
+ };
+ static const Efl_Object_Property_Reflection_Ops rops = {
+ refl_table, EINA_C_ARRAY_LENGTH(refl_table)
+ };
+ ropsp = &rops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_genlist_item_class_desc = {
+ EO_VERSION,
+ "Elm.Genlist.Item",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Gen_Item),
+ _elm_genlist_item_class_initializer,
+ NULL,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_genlist_item_class_get, &_elm_genlist_item_class_desc, ELM_WIDGET_ITEM_STATIC_FOCUS_CLASS, EFL_UI_LEGACY_INTERFACE, NULL);
+
+#include "elm_genlist_item_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_GENLIST_ITEM_EO_H_
+#define _ELM_GENLIST_ITEM_EO_H_
+
+#ifndef _ELM_GENLIST_ITEM_EO_CLASS_TYPE
+#define _ELM_GENLIST_ITEM_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist_Item;
+
+#endif
+
+#ifndef _ELM_GENLIST_ITEM_EO_TYPES
+#define _ELM_GENLIST_ITEM_EO_TYPES
+
+
+#endif
+/** Elementary genlist item class
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+#define ELM_GENLIST_ITEM_CLASS elm_genlist_item_class_get()
+
+EWAPI const Efl_Class *elm_genlist_item_class_get(void);
+
+/**
+ * @brief Get the previous item in a genlist widget's internal list of items,
+ * given a handle to one of those items.
+ *
+ * This returns the item placed before the @c item, on the container genlist.
+ *
+ * If filter is set on genlist, this returns the filtered item placed before
+ * @c item in the list.
+ *
+ * Note that parent / child relationship is not taken into account, the
+ * previous visual item is always returned, could it be a parent, a child or a
+ * group item.
+ *
+ * NULL is returned if called on the first item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item before @c item, or @c null if there's none (and on errors).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_item_prev_get(const Eo *obj);
+
+/**
+ * @brief Get the next item in a genlist widget's internal lis of items, given
+ * a handle to one of those items.
+ *
+ * This returns the item placed after the @c item, on the container genlist.
+ *
+ * If filter is set on genlist, this returns the filtered item placed after
+ * @c item in the list.
+ *
+ * Note that parent / child relationship is not taken into account, the next
+ * visual item is always returned, could it be a parent, a child or a group
+ * item.
+ *
+ * NULL is returned if called on the last item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item after @c item, or @c null if there's none (and on errors).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_item_next_get(const Eo *obj);
+
+/**
+ * @brief Get the parent item of the given item
+ *
+ * This returns the item that was specified as parent of the item @c it on @ref
+ * elm_genlist_item_append and insertion related functions.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The parent of the item or @c null if it has no parent.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Elm_Widget_Item *elm_obj_genlist_item_parent_item_get(const Eo *obj);
+
+/**
+ * @brief Get the list of subitems of a given item
+ *
+ * This returns the list of subitems that an item possesses. It cannot be
+ * changed.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The list of subitems, @c null on error.
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI const Eina_List *elm_obj_genlist_item_subitems_get(const Eo *obj);
+
+/**
+ * @brief Set whether a given genlist item is selected or not
+ *
+ * This sets the selected state of an item. If multi selection is not enabled
+ * on the containing genlist and @c selected is @c true, any other previously
+ * selected items will get unselected in favor of this new one.
+ *
+ * @param[in] obj The object.
+ * @param[in] selected The selected state ($true selected, @c false not
+ * selected).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_selected_set(Eo *obj, Eina_Bool selected);
+
+/**
+ * @brief Get whether a given genlist item is selected or not.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected state ($true selected, @c false not selected).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Eina_Bool elm_obj_genlist_item_selected_get(const Eo *obj);
+
+/**
+ * @brief Sets the expanded state of an item.
+ *
+ * This function flags the item of type #ELM_GENLIST_ITEM_TREE as expanded or
+ * not.
+ *
+ * The theme will respond to this change visually, and a signal "expanded" or
+ * "contracted" will be sent from the genlist with a pointer to the item that
+ * has been expanded/contracted.
+ *
+ * Calling this function won't show or hide any child of this item (if it is a
+ * parent). You must manually delete and create them on the callbacks of the
+ * "expanded" or "contracted" signals.
+ *
+ * @param[in] obj The object.
+ * @param[in] expanded The expanded state ($true expanded, @c false not
+ * expanded).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_expanded_set(Eo *obj, Eina_Bool expanded);
+
+/**
+ * @brief Get the expanded state of an item
+ *
+ * This gets the expanded state of an item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The expanded state ($true expanded, @c false not expanded).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Eina_Bool elm_obj_genlist_item_expanded_get(const Eo *obj);
+
+/**
+ * @brief Get the depth of expanded item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The depth of expanded item.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI int elm_obj_genlist_item_expanded_depth_get(const Eo *obj);
+
+/**
+ * @brief Get the Genlist Item class for the given Genlist Item.
+ *
+ * This returns the Genlist_Item_Class for the given item. It can be used to
+ * examine the function pointers and item_style.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Genlist Item class for the given item.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI const Elm_Genlist_Item_Class *elm_obj_genlist_item_class_get(const Eo *obj);
+
+/**
+ * @brief Get the index of the item. It is only valid once displayed.
+ *
+ * The index start from 1.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The position inside the list of item.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI int elm_obj_genlist_item_index_get(const Eo *obj);
+
+/**
+ * @brief Get the item's decorate mode.
+ *
+ * This function just returns the name of the item's decorate mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Name of the item's decorate mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI const char *elm_obj_genlist_item_decorate_mode_get(const Eo *obj);
+
+/**
+ * @brief Set the flip state of a given genlist item.
+ *
+ * This function sets the flip state of a given genlist item. Flip mode
+ * overrides current item object. It can be used for on-the-fly item replace.
+ * Flip mode can be used with/without decorate mode.
+ *
+ * @param[in] obj The object.
+ * @param[in] flip The flip mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_flip_set(Eo *obj, Eina_Bool flip);
+
+/**
+ * @brief Get the flip state of a given genlist item.
+ *
+ * This function returns the flip state of a given genlist item. If the
+ * parameter is invalid, it returns @c false.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The flip mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Eina_Bool elm_obj_genlist_item_flip_get(const Eo *obj);
+
+/**
+ * @brief Set the genlist item's select mode.
+ *
+ * ELM_OBJECT_SELECT_MODE_DEFAULT means that the item will only call their
+ * selection func and callback when first becoming selected. Any further clicks
+ * will do nothing, unless you set always select mode.
+ *
+ * ELM_OBJECT_SELECT_MODE_ALWAYS means that even if selected, every click will
+ * make the selected callbacks be called.
+ *
+ * ELM_OBJECT_SELECT_MODE_NONE will turn off the ability to select the item
+ * entirely and they will neither appear selected nor call selected callback
+ * functions.
+ *
+ * ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY will apply no-finger-size rule with
+ * ELM_OBJECT_SELECT_MODE_NONE. No-finger-size rule makes an item can be
+ * smaller than lower limit. Clickable objects should be bigger than human
+ * touch point device (your finger) for some touch or small screen devices. So
+ * it is enabled, the item can be shrink than predefined finger-size value. And
+ * the item will be updated.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The selected mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_select_mode_set(Eo *obj, Elm_Object_Select_Mode mode);
+
+/**
+ * @brief Get the genlist item's select mode.
+ *
+ * It's ELM_OBJECT_SELECT_MODE_MAX on failure.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Elm_Object_Select_Mode elm_obj_genlist_item_select_mode_get(const Eo *obj);
+
+/**
+ * @brief Get the Item's type.
+ *
+ * This function returns the item's type. Normally the item's type. If it
+ * failed, return value is ELM_GENLIST_ITEM_MAX.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Item type.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Elm_Genlist_Item_Type elm_obj_genlist_item_type_get(const Eo *obj);
+
+/**
+ * @brief Set whether a given genlist item is pinned or not
+ *
+ * This sets a genlist item as pinned so that it will be always available in
+ * the viewport available for user interaction. Group items cannot be pinned.
+ * Also when a new item is pinned, the current pinned item will get unpinned.
+ * Item pinning cannot be done in reorder mode too.
+ *
+ * @param[in] obj The object.
+ * @param[in] pin The item pin state state ($true pin item, @c false unpin
+ * item).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_pin_set(Eo *obj, Eina_Bool pin);
+
+/**
+ * @brief Get whether a given genlist item is pinned or not.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item pin state state ($true pin item, @c false unpin item).
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI Eina_Bool elm_obj_genlist_item_pin_get(const Eo *obj);
+
+/**
+ * @brief Get the number of subitems of a given item.
+ *
+ * This returns the number of subitems that an item possesses.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The number of subitems, 0 on error.
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI unsigned int elm_obj_genlist_item_subitems_count(Eo *obj);
+
+/**
+ * @brief Remove all sub-items (children) of the given item.
+ *
+ * This removes all items that are children (and their descendants) of the
+ * given item @c it.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_subitems_clear(Eo *obj);
+
+/** Promote an item to the top of the list.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_promote(Eo *obj);
+
+/** Demote an item to the end of the list.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_demote(Eo *obj);
+
+/**
+ * @brief Show the portion of a genlist's internal list containing a given
+ * item, immediately.
+ *
+ * This causes genlist to jump to the given item @c it and show it (by jumping
+ * to that position), if it is not fully visible.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The position to bring in, the given item to. @ref
+ * Elm_Genlist_Item_Scrollto_Type.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_show(Eo *obj, Elm_Genlist_Item_Scrollto_Type type);
+
+/**
+ * @brief Animatedly bring in, to the visible area of a genlist, a given item
+ * on it.
+ *
+ * This causes genlist to jump to the given item @c it and show it (by
+ * animatedly scrolling), if it is not fully visible. This may use animation
+ * and take a some time to do so.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The position to bring in, the given item to. @ref
+ * Elm_Genlist_Item_Scrollto_Type.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_bring_in(Eo *obj, Elm_Genlist_Item_Scrollto_Type type);
+
+/**
+ * @brief Unset all contents fetched by the item class.
+ *
+ * This instructs genlist to release references to contents in the item,
+ * meaning that they will no longer be managed by genlist and are floating
+ * "orphans" that can be re-used elsewhere if the user wants to.
+ *
+ * @param[in] obj The object.
+ * @param[out] l The contents list to return.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_all_contents_unset(Eo *obj, Eina_List **l);
+
+/**
+ * @brief Update all the contents of an item.
+ *
+ * This updates an item by calling all the item class functions again to get
+ * the contents, texts and states. Use this when the original item data has
+ * changed and the changes are desired to be reflected.
+ *
+ * Use elm_genlist_realized_items_update() to update all already realized
+ * items.
+ *
+ * @note This also updates internal genlist item object (edje_object as of
+ * now). So when this is called between mouse down and mouse up, mouse up event
+ * will be ignored because edje_object is deleted and created again by this
+ * API. If you want to avoid this, please use @ref
+ * elm_genlist_item_fields_update.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_update(Eo *obj);
+
+/**
+ * @brief Update the part of an item.
+ *
+ * This updates an item's part by calling item's fetching functions again to
+ * get the contents, texts and states. Use this when the original item data has
+ * changed and the changes are desired to be reflected. Second part argument is
+ * used for globbing to match '*', '?', and '.' It can be used at updating
+ * multi fields.
+ *
+ * Use @ref elm_genlist_realized_items_update to update an item's all property.
+ *
+ * @param[in] obj The object.
+ * @param[in] parts The name of item's part.
+ * @param[in] itf The type of item's part type.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_fields_update(Eo *obj, const char *parts, Elm_Genlist_Item_Field_Type itf);
+
+/**
+ * @brief Update the item class of an item.
+ *
+ * This sets another class of the item, changing the way that it is displayed.
+ * After changing the item class @ref elm_obj_genlist_item_update is called on
+ * the item @c it.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_class_update(Eo *obj, const Elm_Genlist_Item_Class *itc);
+
+/**
+ * @brief Activate a genlist mode on an item.
+ *
+ * A genlist mode is a different way of selecting an item. Once a mode is
+ * activated on an item, any other selected item is immediately unselected.
+ * This feature provides an easy way of implementing a new kind of animation
+ * for selecting an item, without having to entirely rewrite the item style
+ * theme. However, the elm_genlist_selected_* API can't be used to get what
+ * item is activate for a mode.
+ *
+ * The current item style will still be used, but applying a genlist mode to an
+ * item will select it using a different kind of animation.
+ *
+ * The current active item for a mode can be found by @ref
+ * elm_genlist_decorated_item_get.
+ *
+ * Only one mode can be active at any time, and for only one item. Genlist
+ * handles deactivating other items when one item is activated. A mode is
+ * defined in the genlist theme (edc), and more modes can easily be added. A
+ * mode style and the genlist item style are different things. They can be
+ * combined to provide a default style to the item, with some kind of animation
+ * for that item when the mode is activated.
+ *
+ * When a mode is activated on an item, a new view for that item is created.
+ * The theme of this mode defines the animation that will be used to transit
+ * the item from the old view to the new view. This second (new) view will be
+ * active for that item while the mode is active on the item, and will be
+ * destroyed after the mode is totally deactivated from that item.
+ *
+ * @param[in] obj The object.
+ * @param[in] decorate_it_type Mode name.
+ * @param[in] decorate_it_set Boolean to define set or unset mode.
+ *
+ * @ingroup Elm_Genlist_Item
+ */
+EOAPI void elm_obj_genlist_item_decorate_mode_set(Eo *obj, const char *decorate_it_type, Eina_Bool decorate_it_set);
+
+#endif
--- /dev/null
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_prev_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_prev_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_next_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_next_get(obj);
+}
+
+EAPI Elm_Widget_Item *
+elm_genlist_item_parent_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_parent_item_get(obj);
+}
+
+EAPI const Eina_List *
+elm_genlist_item_subitems_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_subitems_get(obj);
+}
+
+EAPI void
+elm_genlist_item_selected_set(Elm_Genlist_Item *obj, Eina_Bool selected)
+{
+ elm_obj_genlist_item_selected_set(obj, selected);
+}
+
+EAPI Eina_Bool
+elm_genlist_item_selected_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_selected_get(obj);
+}
+
+EAPI void
+elm_genlist_item_expanded_set(Elm_Genlist_Item *obj, Eina_Bool expanded)
+{
+ elm_obj_genlist_item_expanded_set(obj, expanded);
+}
+
+EAPI Eina_Bool
+elm_genlist_item_expanded_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_expanded_get(obj);
+}
+
+EAPI int
+elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_expanded_depth_get(obj);
+}
+
+EAPI const Elm_Genlist_Item_Class *
+elm_genlist_item_item_class_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_class_get(obj);
+}
+
+EAPI int
+elm_genlist_item_index_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_index_get(obj);
+}
+
+EAPI const char *
+elm_genlist_item_decorate_mode_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_decorate_mode_get(obj);
+}
+
+EAPI void
+elm_genlist_item_flip_set(Elm_Genlist_Item *obj, Eina_Bool flip)
+{
+ elm_obj_genlist_item_flip_set(obj, flip);
+}
+
+EAPI Eina_Bool
+elm_genlist_item_flip_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_flip_get(obj);
+}
+
+EAPI void
+elm_genlist_item_select_mode_set(Elm_Genlist_Item *obj, Elm_Object_Select_Mode mode)
+{
+ elm_obj_genlist_item_select_mode_set(obj, mode);
+}
+
+EAPI Elm_Object_Select_Mode
+elm_genlist_item_select_mode_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_select_mode_get(obj);
+}
+
+EAPI Elm_Genlist_Item_Type
+elm_genlist_item_type_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_type_get(obj);
+}
+
+EAPI void
+elm_genlist_item_pin_set(Elm_Genlist_Item *obj, Eina_Bool pin)
+{
+ elm_obj_genlist_item_pin_set(obj, pin);
+}
+
+EAPI Eina_Bool
+elm_genlist_item_pin_get(const Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_pin_get(obj);
+}
+
+EAPI unsigned int
+elm_genlist_item_subitems_count(Elm_Genlist_Item *obj)
+{
+ return elm_obj_genlist_item_subitems_count(obj);
+}
+
+EAPI void
+elm_genlist_item_subitems_clear(Elm_Genlist_Item *obj)
+{
+ elm_obj_genlist_item_subitems_clear(obj);
+}
+
+EAPI void
+elm_genlist_item_promote(Elm_Genlist_Item *obj)
+{
+ elm_obj_genlist_item_promote(obj);
+}
+
+EAPI void
+elm_genlist_item_demote(Elm_Genlist_Item *obj)
+{
+ elm_obj_genlist_item_demote(obj);
+}
+
+EAPI void
+elm_genlist_item_show(Elm_Genlist_Item *obj, Elm_Genlist_Item_Scrollto_Type type)
+{
+ elm_obj_genlist_item_show(obj, type);
+}
+
+EAPI void
+elm_genlist_item_bring_in(Elm_Genlist_Item *obj, Elm_Genlist_Item_Scrollto_Type type)
+{
+ elm_obj_genlist_item_bring_in(obj, type);
+}
+
+EAPI void
+elm_genlist_item_all_contents_unset(Elm_Genlist_Item *obj, Eina_List **l)
+{
+ elm_obj_genlist_item_all_contents_unset(obj, l);
+}
+
+EAPI void
+elm_genlist_item_update(Elm_Genlist_Item *obj)
+{
+ elm_obj_genlist_item_update(obj);
+}
+
+EAPI void
+elm_genlist_item_fields_update(Elm_Genlist_Item *obj, const char *parts, Elm_Genlist_Item_Field_Type itf)
+{
+ elm_obj_genlist_item_fields_update(obj, parts, itf);
+}
+
+EAPI void
+elm_genlist_item_item_class_update(Elm_Genlist_Item *obj, const Elm_Genlist_Item_Class *itc)
+{
+ elm_obj_genlist_item_class_update(obj, itc);
+}
+
+EAPI void
+elm_genlist_item_decorate_mode_set(Elm_Genlist_Item *obj, const char *decorate_it_type, Eina_Bool decorate_it_set)
+{
+ elm_obj_genlist_item_decorate_mode_set(obj, decorate_it_type, decorate_it_set);
+}
--- /dev/null
+#ifndef _ELM_GENLIST_ITEM_EO_LEGACY_H_
+#define _ELM_GENLIST_ITEM_EO_LEGACY_H_
+
+#ifndef _ELM_GENLIST_ITEM_EO_CLASS_TYPE
+#define _ELM_GENLIST_ITEM_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist_Item;
+
+#endif
+
+#ifndef _ELM_GENLIST_ITEM_EO_TYPES
+#define _ELM_GENLIST_ITEM_EO_TYPES
+
+
+#endif
+
+/**
+ * @brief Get the previous item in a genlist widget's internal list of items,
+ * given a handle to one of those items.
+ *
+ * This returns the item placed before the @c item, on the container genlist.
+ *
+ * If filter is set on genlist, this returns the filtered item placed before
+ * @c item in the list.
+ *
+ * Note that parent / child relationship is not taken into account, the
+ * previous visual item is always returned, could it be a parent, a child or a
+ * group item.
+ *
+ * NULL is returned if called on the first item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item before @c item, or @c null if there's none (and on errors).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the next item in a genlist widget's internal lis of items, given
+ * a handle to one of those items.
+ *
+ * This returns the item placed after the @c item, on the container genlist.
+ *
+ * If filter is set on genlist, this returns the filtered item placed after
+ * @c item in the list.
+ *
+ * Note that parent / child relationship is not taken into account, the next
+ * visual item is always returned, could it be a parent, a child or a group
+ * item.
+ *
+ * NULL is returned if called on the last item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item after @c item, or @c null if there's none (and on errors).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the parent item of the given item
+ *
+ * This returns the item that was specified as parent of the item @c it on @ref
+ * elm_genlist_item_append and insertion related functions.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The parent of the item or @c null if it has no parent.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Elm_Widget_Item *elm_genlist_item_parent_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the list of subitems of a given item
+ *
+ * This returns the list of subitems that an item possesses. It cannot be
+ * changed.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The list of subitems, @c null on error.
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI const Eina_List *elm_genlist_item_subitems_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Set whether a given genlist item is selected or not
+ *
+ * This sets the selected state of an item. If multi selection is not enabled
+ * on the containing genlist and @c selected is @c true, any other previously
+ * selected items will get unselected in favor of this new one.
+ *
+ * @param[in] obj The object.
+ * @param[in] selected The selected state ($true selected, @c false not
+ * selected).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *obj, Eina_Bool selected);
+
+/**
+ * @brief Get whether a given genlist item is selected or not.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected state ($true selected, @c false not selected).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Sets the expanded state of an item.
+ *
+ * This function flags the item of type #ELM_GENLIST_ITEM_TREE as expanded or
+ * not.
+ *
+ * The theme will respond to this change visually, and a signal "expanded" or
+ * "contracted" will be sent from the genlist with a pointer to the item that
+ * has been expanded/contracted.
+ *
+ * Calling this function won't show or hide any child of this item (if it is a
+ * parent). You must manually delete and create them on the callbacks of the
+ * "expanded" or "contracted" signals.
+ *
+ * @param[in] obj The object.
+ * @param[in] expanded The expanded state ($true expanded, @c false not
+ * expanded).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_expanded_set(Elm_Genlist_Item *obj, Eina_Bool expanded);
+
+/**
+ * @brief Get the expanded state of an item
+ *
+ * This gets the expanded state of an item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The expanded state ($true expanded, @c false not expanded).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Eina_Bool elm_genlist_item_expanded_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the depth of expanded item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The depth of expanded item.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI int elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the Genlist Item class for the given Genlist Item.
+ *
+ * This returns the Genlist_Item_Class for the given item. It can be used to
+ * examine the function pointers and item_style.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Genlist Item class for the given item.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the index of the item. It is only valid once displayed.
+ *
+ * The index start from 1.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The position inside the list of item.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI int elm_genlist_item_index_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the item's decorate mode.
+ *
+ * This function just returns the name of the item's decorate mode.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Name of the item's decorate mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI const char *elm_genlist_item_decorate_mode_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Set the flip state of a given genlist item.
+ *
+ * This function sets the flip state of a given genlist item. Flip mode
+ * overrides current item object. It can be used for on-the-fly item replace.
+ * Flip mode can be used with/without decorate mode.
+ *
+ * @param[in] obj The object.
+ * @param[in] flip The flip mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_flip_set(Elm_Genlist_Item *obj, Eina_Bool flip);
+
+/**
+ * @brief Get the flip state of a given genlist item.
+ *
+ * This function returns the flip state of a given genlist item. If the
+ * parameter is invalid, it returns @c false.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The flip mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Eina_Bool elm_genlist_item_flip_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Set the genlist item's select mode.
+ *
+ * ELM_OBJECT_SELECT_MODE_DEFAULT means that the item will only call their
+ * selection func and callback when first becoming selected. Any further clicks
+ * will do nothing, unless you set always select mode.
+ *
+ * ELM_OBJECT_SELECT_MODE_ALWAYS means that even if selected, every click will
+ * make the selected callbacks be called.
+ *
+ * ELM_OBJECT_SELECT_MODE_NONE will turn off the ability to select the item
+ * entirely and they will neither appear selected nor call selected callback
+ * functions.
+ *
+ * ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY will apply no-finger-size rule with
+ * ELM_OBJECT_SELECT_MODE_NONE. No-finger-size rule makes an item can be
+ * smaller than lower limit. Clickable objects should be bigger than human
+ * touch point device (your finger) for some touch or small screen devices. So
+ * it is enabled, the item can be shrink than predefined finger-size value. And
+ * the item will be updated.
+ *
+ * @param[in] obj The object.
+ * @param[in] mode The selected mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_select_mode_set(Elm_Genlist_Item *obj, Elm_Object_Select_Mode mode);
+
+/**
+ * @brief Get the genlist item's select mode.
+ *
+ * It's ELM_OBJECT_SELECT_MODE_MAX on failure.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The selected mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Elm_Object_Select_Mode elm_genlist_item_select_mode_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the Item's type.
+ *
+ * This function returns the item's type. Normally the item's type. If it
+ * failed, return value is ELM_GENLIST_ITEM_MAX.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Item type.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Elm_Genlist_Item_Type elm_genlist_item_type_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Set whether a given genlist item is pinned or not
+ *
+ * This sets a genlist item as pinned so that it will be always available in
+ * the viewport available for user interaction. Group items cannot be pinned.
+ * Also when a new item is pinned, the current pinned item will get unpinned.
+ * Item pinning cannot be done in reorder mode too.
+ *
+ * @param[in] obj The object.
+ * @param[in] pin The item pin state state ($true pin item, @c false unpin
+ * item).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_pin_set(Elm_Genlist_Item *obj, Eina_Bool pin);
+
+/**
+ * @brief Get whether a given genlist item is pinned or not.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The item pin state state ($true pin item, @c false unpin item).
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI Eina_Bool elm_genlist_item_pin_get(const Elm_Genlist_Item *obj);
+
+/**
+ * @brief Get the number of subitems of a given item.
+ *
+ * This returns the number of subitems that an item possesses.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The number of subitems, 0 on error.
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI unsigned int elm_genlist_item_subitems_count(Elm_Genlist_Item *obj);
+
+/**
+ * @brief Remove all sub-items (children) of the given item.
+ *
+ * This removes all items that are children (and their descendants) of the
+ * given item @c it.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_subitems_clear(Elm_Genlist_Item *obj);
+
+/** Promote an item to the top of the list.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_promote(Elm_Genlist_Item *obj);
+
+/** Demote an item to the end of the list.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_demote(Elm_Genlist_Item *obj);
+
+/**
+ * @brief Show the portion of a genlist's internal list containing a given
+ * item, immediately.
+ *
+ * This causes genlist to jump to the given item @c it and show it (by jumping
+ * to that position), if it is not fully visible.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The position to bring in, the given item to. @ref
+ * Elm_Genlist_Item_Scrollto_Type.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_show(Elm_Genlist_Item *obj, Elm_Genlist_Item_Scrollto_Type type);
+
+/**
+ * @brief Animatedly bring in, to the visible area of a genlist, a given item
+ * on it.
+ *
+ * This causes genlist to jump to the given item @c it and show it (by
+ * animatedly scrolling), if it is not fully visible. This may use animation
+ * and take a some time to do so.
+ *
+ * @param[in] obj The object.
+ * @param[in] type The position to bring in, the given item to. @ref
+ * Elm_Genlist_Item_Scrollto_Type.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_bring_in(Elm_Genlist_Item *obj, Elm_Genlist_Item_Scrollto_Type type);
+
+/**
+ * @brief Unset all contents fetched by the item class.
+ *
+ * This instructs genlist to release references to contents in the item,
+ * meaning that they will no longer be managed by genlist and are floating
+ * "orphans" that can be re-used elsewhere if the user wants to.
+ *
+ * @param[in] obj The object.
+ * @param[out] l The contents list to return.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_all_contents_unset(Elm_Genlist_Item *obj, Eina_List **l);
+
+/**
+ * @brief Update all the contents of an item.
+ *
+ * This updates an item by calling all the item class functions again to get
+ * the contents, texts and states. Use this when the original item data has
+ * changed and the changes are desired to be reflected.
+ *
+ * Use elm_genlist_realized_items_update() to update all already realized
+ * items.
+ *
+ * @note This also updates internal genlist item object (edje_object as of
+ * now). So when this is called between mouse down and mouse up, mouse up event
+ * will be ignored because edje_object is deleted and created again by this
+ * API. If you want to avoid this, please use @ref
+ * elm_genlist_item_fields_update.
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_update(Elm_Genlist_Item *obj);
+
+/**
+ * @brief Update the part of an item.
+ *
+ * This updates an item's part by calling item's fetching functions again to
+ * get the contents, texts and states. Use this when the original item data has
+ * changed and the changes are desired to be reflected. Second part argument is
+ * used for globbing to match '*', '?', and '.' It can be used at updating
+ * multi fields.
+ *
+ * Use @ref elm_genlist_realized_items_update to update an item's all property.
+ *
+ * @param[in] obj The object.
+ * @param[in] parts The name of item's part.
+ * @param[in] itf The type of item's part type.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_fields_update(Elm_Genlist_Item *obj, const char *parts, Elm_Genlist_Item_Field_Type itf);
+
+/**
+ * @brief Update the item class of an item.
+ *
+ * This sets another class of the item, changing the way that it is displayed.
+ * After changing the item class @ref elm_genlist_item_update is called on the
+ * item @c it.
+ *
+ * @param[in] obj The object.
+ * @param[in] itc The item class for the item.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_item_class_update(Elm_Genlist_Item *obj, const Elm_Genlist_Item_Class *itc);
+
+/**
+ * @brief Activate a genlist mode on an item.
+ *
+ * A genlist mode is a different way of selecting an item. Once a mode is
+ * activated on an item, any other selected item is immediately unselected.
+ * This feature provides an easy way of implementing a new kind of animation
+ * for selecting an item, without having to entirely rewrite the item style
+ * theme. However, the elm_genlist_selected_* API can't be used to get what
+ * item is activate for a mode.
+ *
+ * The current item style will still be used, but applying a genlist mode to an
+ * item will select it using a different kind of animation.
+ *
+ * The current active item for a mode can be found by @ref
+ * elm_genlist_decorated_item_get.
+ *
+ * Only one mode can be active at any time, and for only one item. Genlist
+ * handles deactivating other items when one item is activated. A mode is
+ * defined in the genlist theme (edc), and more modes can easily be added. A
+ * mode style and the genlist item style are different things. They can be
+ * combined to provide a default style to the item, with some kind of animation
+ * for that item when the mode is activated.
+ *
+ * When a mode is activated on an item, a new view for that item is created.
+ * The theme of this mode defines the animation that will be used to transit
+ * the item from the old view to the new view. This second (new) view will be
+ * active for that item while the mode is active on the item, and will be
+ * destroyed after the mode is totally deactivated from that item.
+ *
+ * @param[in] obj The object.
+ * @param[in] decorate_it_type Mode name.
+ * @param[in] decorate_it_set Boolean to define set or unset mode.
+ *
+ * @ingroup Elm_Genlist_Item_Group
+ */
+EAPI void elm_genlist_item_decorate_mode_set(Elm_Genlist_Item *obj, const char *decorate_it_type, Eina_Bool decorate_it_set);
+
+#endif
* @}
*/
-#include "elm_genlist_item.eo.legacy.h"
-#include "elm_genlist.eo.legacy.h"
+#include "elm_genlist_item_eo.legacy.h"
+#include "elm_genlist_eo.legacy.h"
+++ /dev/null
-class Elm.Genlist.Pan extends Elm.Pan
-{
- [[Elementary genlist pan class]]
- legacy_prefix: elm_genlist_pan;
- eo_prefix: elm_obj_genlist_pan;
- event_prefix: elm_genlist_pan;
- implements {
- class.constructor;
- Efl.Object.destructor;
- Efl.Gfx.Entity.position { set; }
- Efl.Gfx.Entity.size { set; }
- Efl.Canvas.Group.group_calculate;
- Elm.Pan.content_size { get; }
- Elm.Pan.pos { get; set; }
- Elm.Pan.pos_min { get; }
- Elm.Pan.pos_max { get; }
- Elm.Pan.pos_adjust;
- }
- events {
- /* FIXME: Nobody emits these
- item,focused; [[Called when item got focus]]
- item,unfocused; [[Called when item lost focus]]
- */
- }
-}
--- /dev/null
+
+void _elm_genlist_pan_efl_object_destructor(Eo *obj, Elm_Genlist_Pan_Data *pd);
+
+
+void _elm_genlist_pan_efl_gfx_entity_position_set(Eo *obj, Elm_Genlist_Pan_Data *pd, Eina_Position2D pos);
+
+
+void _elm_genlist_pan_efl_gfx_entity_size_set(Eo *obj, Elm_Genlist_Pan_Data *pd, Eina_Size2D size);
+
+
+void _elm_genlist_pan_efl_canvas_group_group_calculate(Eo *obj, Elm_Genlist_Pan_Data *pd);
+
+
+void _elm_genlist_pan_elm_pan_content_size_get(const Eo *obj, Elm_Genlist_Pan_Data *pd, int *w, int *h);
+
+
+void _elm_genlist_pan_elm_pan_pos_set(Eo *obj, Elm_Genlist_Pan_Data *pd, int x, int y);
+
+
+void _elm_genlist_pan_elm_pan_pos_get(const Eo *obj, Elm_Genlist_Pan_Data *pd, int *x, int *y);
+
+
+void _elm_genlist_pan_elm_pan_pos_min_get(const Eo *obj, Elm_Genlist_Pan_Data *pd, int *x, int *y);
+
+
+void _elm_genlist_pan_elm_pan_pos_max_get(const Eo *obj, Elm_Genlist_Pan_Data *pd, int *x, int *y);
+
+
+static Eina_Bool
+_elm_genlist_pan_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_GENLIST_PAN_EXTRA_OPS
+#define ELM_GENLIST_PAN_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(efl_destructor, _elm_genlist_pan_efl_object_destructor),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_genlist_pan_efl_gfx_entity_position_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_genlist_pan_efl_gfx_entity_size_set),
+ EFL_OBJECT_OP_FUNC(efl_canvas_group_calculate, _elm_genlist_pan_efl_canvas_group_group_calculate),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_content_size_get, _elm_genlist_pan_elm_pan_content_size_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_set, _elm_genlist_pan_elm_pan_pos_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_get, _elm_genlist_pan_elm_pan_pos_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_min_get, _elm_genlist_pan_elm_pan_pos_min_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_pan_pos_max_get, _elm_genlist_pan_elm_pan_pos_max_get),
+ ELM_GENLIST_PAN_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_genlist_pan_class_desc = {
+ EO_VERSION,
+ "Elm.Genlist.Pan",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Genlist_Pan_Data),
+ _elm_genlist_pan_class_initializer,
+ _elm_genlist_pan_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_genlist_pan_class_get, &_elm_genlist_pan_class_desc, ELM_PAN_CLASS, NULL);
--- /dev/null
+#ifndef _ELM_GENLIST_PAN_EO_H_
+#define _ELM_GENLIST_PAN_EO_H_
+
+#ifndef _ELM_GENLIST_PAN_EO_CLASS_TYPE
+#define _ELM_GENLIST_PAN_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist_Pan;
+
+#endif
+
+#ifndef _ELM_GENLIST_PAN_EO_TYPES
+#define _ELM_GENLIST_PAN_EO_TYPES
+
+
+#endif
+/** Elementary genlist pan class
+ *
+ * @ingroup Elm_Genlist_Pan
+ */
+#define ELM_GENLIST_PAN_CLASS elm_genlist_pan_class_get()
+
+EWAPI const Efl_Class *elm_genlist_pan_class_get(void);
+
+#endif
--- /dev/null
+#ifndef _ELM_GENLIST_PAN_EO_LEGACY_H_
+#define _ELM_GENLIST_PAN_EO_LEGACY_H_
+
+#ifndef _ELM_GENLIST_PAN_EO_CLASS_TYPE
+#define _ELM_GENLIST_PAN_EO_CLASS_TYPE
+
+typedef Eo Elm_Genlist_Pan;
+
+#endif
+
+#ifndef _ELM_GENLIST_PAN_EO_TYPES
+#define _ELM_GENLIST_PAN_EO_TYPES
+
+
+#endif
+
+#endif
#include "elm_interface_scrollable.h"
//we need those for legacy compatible code
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_gengrid_eo.h"
#include "elm_widget_gengrid.h"
#include <Elementary_Cursor.h>
#include "elm_priv.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
typedef struct _Elm_Store_Filesystem Elm_Store_Filesystem;
typedef struct _Elm_Store_Item_Filesystem Elm_Store_Item_Filesystem;
#include <Elementary.h>
#include "elm_priv.h"
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include <assert.h>
#define MY_CLASS ELM_WIDGET_ITEM_STATIC_FOCUS_CLASS
#include <Elementary.h>
-#include "elm_genlist.eo.h"
+#include "elm_genlist_eo.h"
#include "elm_gengrid_eo.h"
#include "elm_priv.h"
#include "efl_ui_focus_composition_adapter.eo.h"
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
'elm_interface_fileselector.eo',
- 'elm_genlist.eo',
- 'elm_genlist_pan.eo',
'elm_gesture_layer.eo',
'elm_glview.eo',
'elm_hover.eo',
'elm_menu_item.eo',
'elm_index_item.eo',
'elm_widget_item_static_focus.eo',
- 'elm_genlist_item.eo',
'elm_list_item.eo',
'elm_popup_item.eo',
'elm_ctxpopup_part.eo',
'elm_gengrid_item_eo.legacy.h',
'elm_gengrid_pan_eo.h',
'elm_gengrid_pan_eo.legacy.h',
+ 'elm_genlist_eo.h',
+ 'elm_genlist_eo.legacy.h',
+ 'elm_genlist_item_eo.h',
+ 'elm_genlist_item_eo.legacy.h',
+ 'elm_genlist_pan_eo.h',
+ 'elm_genlist_pan_eo.legacy.h',
'elm_hoversel_eo.h',
'elm_hoversel_eo.legacy.h',
'elm_hoversel_item_eo.h',