forked from enlightenment/efl
Elementary: Split headers for Gengrid, genlist, grid, image and index
This commit is contained in:
parent
8804b1bed4
commit
f03db69f8f
|
@ -221,7 +221,13 @@ elm_frame_legacy.h \
|
||||||
elm_gen.h \
|
elm_gen.h \
|
||||||
elm_general.h \
|
elm_general.h \
|
||||||
elm_gengrid.h \
|
elm_gengrid.h \
|
||||||
|
elm_gengrid_common.h \
|
||||||
|
elm_gengrid_eo.h \
|
||||||
|
elm_gengrid_legacy.h \
|
||||||
elm_genlist.h \
|
elm_genlist.h \
|
||||||
|
elm_genlist_common.h \
|
||||||
|
elm_genlist_eo.h \
|
||||||
|
elm_genlist_legacy.h \
|
||||||
elm_gesture_layer.h \
|
elm_gesture_layer.h \
|
||||||
elm_gesture_layer_common.h \
|
elm_gesture_layer_common.h \
|
||||||
elm_gesture_layer_eo.h \
|
elm_gesture_layer_eo.h \
|
||||||
|
@ -232,6 +238,8 @@ elm_glview_common.h \
|
||||||
elm_glview_eo.h \
|
elm_glview_eo.h \
|
||||||
elm_glview_legacy.h \
|
elm_glview_legacy.h \
|
||||||
elm_grid.h \
|
elm_grid.h \
|
||||||
|
elm_grid_eo.h \
|
||||||
|
elm_grid_legacy.h \
|
||||||
elm_hover.h \
|
elm_hover.h \
|
||||||
elm_hover_common.h \
|
elm_hover_common.h \
|
||||||
elm_hover_eo.h \
|
elm_hover_eo.h \
|
||||||
|
@ -241,7 +249,13 @@ elm_icon_common.h \
|
||||||
elm_icon_eo.h \
|
elm_icon_eo.h \
|
||||||
elm_icon_legacy.h \
|
elm_icon_legacy.h \
|
||||||
elm_image.h \
|
elm_image.h \
|
||||||
|
elm_image_common.h \
|
||||||
|
elm_image_eo.h \
|
||||||
|
elm_image_legacy.h \
|
||||||
elm_index.h \
|
elm_index.h \
|
||||||
|
elm_index_common.h \
|
||||||
|
elm_index_eo.h \
|
||||||
|
elm_index_legacy.h \
|
||||||
elm_intro.h \
|
elm_intro.h \
|
||||||
elm_inwin.h \
|
elm_inwin.h \
|
||||||
elm_inwin_eo.h \
|
elm_inwin_eo.h \
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,567 @@
|
||||||
|
#define ELM_GENGRID_ITEM_CLASS_VERSION ELM_GEN_ITEM_CLASS_VERSION
|
||||||
|
#define ELM_GENGRID_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_HEADER
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines where to position the item in the genlist.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ELM_GENGRID_ITEM_SCROLLTO_NONE = 0, /**< no scrollto */
|
||||||
|
ELM_GENGRID_ITEM_SCROLLTO_IN = (1 << 0), /**< to the nearest viewport */
|
||||||
|
ELM_GENGRID_ITEM_SCROLLTO_TOP = (1 << 1), /**< to the top of viewport */
|
||||||
|
ELM_GENGRID_ITEM_SCROLLTO_MIDDLE = (1 << 2) /**< to the middle of viewport */
|
||||||
|
} Elm_Gengrid_Item_Scrollto_Type;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Class
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Class Elm_Gengrid_Item_Class;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Text_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Text_Get_Cb Elm_Gengrid_Item_Text_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Content_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Content_Get_Cb Elm_Gengrid_Item_Content_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_State_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_State_Get_Cb Elm_Gengrid_Item_State_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Del_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Del_Cb Elm_Gengrid_Item_Del_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the @b next item in a gengrid widget's internal list of items,
|
||||||
|
* given a handle to one of those items.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item to fetch next from
|
||||||
|
* @return The item after @p item, or @c NULL if there's none (and
|
||||||
|
* on errors)
|
||||||
|
*
|
||||||
|
* This returns the item placed after the @p item, on the container
|
||||||
|
* gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_prev_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_next_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the @b previous item in a gengrid widget's internal list of items,
|
||||||
|
* given a handle to one of those items.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item to fetch previous from
|
||||||
|
* @return The item before @p item, or @c NULL if there's none (and
|
||||||
|
* on errors)
|
||||||
|
*
|
||||||
|
* This returns the item placed before the @p item, on the container
|
||||||
|
* gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_next_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_prev_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether a given gengrid item is selected or not
|
||||||
|
*
|
||||||
|
* @param it The gengrid item
|
||||||
|
* @param selected Use @c EINA_TRUE, to make it selected, @c
|
||||||
|
* EINA_FALSE to make it unselected
|
||||||
|
*
|
||||||
|
* This sets the selected state of an item. If multi-selection is
|
||||||
|
* not enabled on the containing gengrid and @p selected is @c
|
||||||
|
* EINA_TRUE, any other previously selected items will get
|
||||||
|
* unselected in favor of this new one.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_selected_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether a given gengrid item is selected or not
|
||||||
|
*
|
||||||
|
* @param it The gengrid item
|
||||||
|
* @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* This API returns EINA_TRUE for all the items selected in multi-select mode as well.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_selected_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the portion of a gengrid's internal grid containing a given
|
||||||
|
* item, @b immediately.
|
||||||
|
*
|
||||||
|
* @param it The item to display
|
||||||
|
* @param type Where to position the item in the viewport.
|
||||||
|
*
|
||||||
|
* This causes gengrid to @b redraw its viewport's contents to the
|
||||||
|
* region containing the given @p item item, if it is not fully
|
||||||
|
* visible.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_bring_in()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_show(Elm_Object_Item *it, Elm_Gengrid_Item_Scrollto_Type type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Animatedly bring in, to the visible area of a gengrid, a given
|
||||||
|
* item on it.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item to display
|
||||||
|
* @param type Where to position the item in the viewport.
|
||||||
|
*
|
||||||
|
* This causes gengrid to jump to the given @p item and show
|
||||||
|
* it (by scrolling), if it is not fully visible. This will use
|
||||||
|
* animation to do so and take a period of time to complete.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_show()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_bring_in(Elm_Object_Item *it, Elm_Gengrid_Item_Scrollto_Type type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the contents of a given gengrid item
|
||||||
|
*
|
||||||
|
* @param it The gengrid 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 you want the changes to be
|
||||||
|
* reflected.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_update(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the item class of a gengrid item.
|
||||||
|
*
|
||||||
|
* This sets another class of the item, changing the way that it is
|
||||||
|
* displayed. After changing the item class, elm_gengrid_item_update() is
|
||||||
|
* called on the item @p it.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item
|
||||||
|
* @param gic The gengrid item class describing the function pointers and the item style.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_item_class_update(Elm_Object_Item *it, const Elm_Gengrid_Item_Class *gic);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Gengrid Item class for the given Gengrid Item.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item
|
||||||
|
*
|
||||||
|
* This returns the Gengrid_Item_Class for the given item. It can be used to examine
|
||||||
|
* the function pointers and item_style.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI const Elm_Gengrid_Item_Class *elm_gengrid_item_item_class_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index of the item. It is only valid once displayed.
|
||||||
|
*
|
||||||
|
* @param it a gengrid item
|
||||||
|
* @return the position inside the list of item.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI int elm_gengrid_item_index_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new gengrid item class in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @return New allocated a gengrid item class.
|
||||||
|
*
|
||||||
|
* This adds gengrid item class for the gengrid widget. When adding an item,
|
||||||
|
* gengrid_item_{append, prepend, insert} function needs item class of the item.
|
||||||
|
* Given callback parameters are used at retrieving {text, content} of
|
||||||
|
* added item. Set as NULL if it's not used.
|
||||||
|
* If there's no available memory, return can be NULL.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_class_free()
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Gengrid_Item_Class *elm_gengrid_item_class_new(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an item class in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @param itc The itc to be removed.
|
||||||
|
*
|
||||||
|
* This removes item class from the gengrid widget.
|
||||||
|
* Whenever it has no more references to it, item class is going to be freed.
|
||||||
|
* Otherwise it just decreases its reference count.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_class_new()
|
||||||
|
* @see elm_gengrid_item_class_ref()
|
||||||
|
* @see elm_gengrid_item_class_unref()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increments object reference count for the item class.
|
||||||
|
*
|
||||||
|
* @param itc The given item class object to reference
|
||||||
|
*
|
||||||
|
* This API just increases its reference count for item class management.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_class_unref()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decrements object reference count for the item class.
|
||||||
|
*
|
||||||
|
* @param itc The given item class object to reference
|
||||||
|
*
|
||||||
|
* This API just decreases its reference count for item class management.
|
||||||
|
* Reference count can't be less than 0.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_class_ref()
|
||||||
|
* @see elm_gengrid_item_class_free()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the text to be shown in a given gengrid item's tooltips.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item
|
||||||
|
* @param text The text to set in the content
|
||||||
|
*
|
||||||
|
* This call will setup the text to be used as tooltip to that item
|
||||||
|
* (analogous to elm_object_tooltip_text_set(), but being item
|
||||||
|
* tooltips with higher precedence than object tooltips). It can
|
||||||
|
* have only one tooltip at a time, so any previous tooltip data
|
||||||
|
* will get removed.
|
||||||
|
*
|
||||||
|
* In order to set a content or something else as a tooltip, look at
|
||||||
|
* elm_gengrid_item_tooltip_content_cb_set().
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the content to be shown in a given gengrid item's tooltip
|
||||||
|
*
|
||||||
|
* @param it The gengrid item.
|
||||||
|
* @param func The function returning the tooltip contents.
|
||||||
|
* @param data What to provide to @a func as callback data/context.
|
||||||
|
* @param del_cb Called when data is not needed anymore, either when
|
||||||
|
* another callback replaces @p func, the tooltip is unset with
|
||||||
|
* elm_gengrid_item_tooltip_unset() or the owner @p item
|
||||||
|
* dies. This callback receives as its first parameter the
|
||||||
|
* given @p data, being @c event_info the item handle.
|
||||||
|
*
|
||||||
|
* This call will setup the tooltip's contents to @p item
|
||||||
|
* (analogous to elm_object_tooltip_content_cb_set(), but being
|
||||||
|
* item tooltips with higher precedence than object tooltips). It
|
||||||
|
* can have only one tooltip at a time, so any previous tooltip
|
||||||
|
* content will get removed. @p func (with @p data) will be called
|
||||||
|
* every time Elementary needs to show the tooltip and it should
|
||||||
|
* return a valid Evas object, which will be fully managed by the
|
||||||
|
* tooltip system, getting deleted when the tooltip is gone.
|
||||||
|
*
|
||||||
|
* In order to set just a text as a tooltip, look at
|
||||||
|
* elm_gengrid_item_tooltip_text_set().
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset a tooltip from a given gengrid item
|
||||||
|
*
|
||||||
|
* @param it gengrid item to remove a previously set tooltip from.
|
||||||
|
*
|
||||||
|
* This call removes any tooltip set on @p item. The callback
|
||||||
|
* provided as @c del_cb to
|
||||||
|
* elm_gengrid_item_tooltip_content_cb_set() will be called to
|
||||||
|
* notify it is not used anymore (and have resources cleaned, if
|
||||||
|
* need be).
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_tooltip_content_cb_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_tooltip_unset(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a different @b style for a given gengrid item's tooltip.
|
||||||
|
*
|
||||||
|
* @param it gengrid item with tooltip set
|
||||||
|
* @param style the <b>theme style</b> to use on tooltips (e.g. @c
|
||||||
|
* "default", @c "transparent", etc)
|
||||||
|
*
|
||||||
|
* Tooltips can have <b>alternate styles</b> to be displayed on,
|
||||||
|
* which are defined by the theme set on Elementary. This function
|
||||||
|
* works analogously as elm_object_tooltip_style_set(), but here
|
||||||
|
* applied only to gengrid item objects. The default style for
|
||||||
|
* tooltips is @c "default".
|
||||||
|
*
|
||||||
|
* @note before you set a style you should define a tooltip with
|
||||||
|
* elm_gengrid_item_tooltip_content_cb_set() or
|
||||||
|
* elm_gengrid_item_tooltip_text_set()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_tooltip_style_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style set a given gengrid item's tooltip.
|
||||||
|
*
|
||||||
|
* @param it gengrid item with tooltip already set on.
|
||||||
|
* @return style the theme style in use, which defaults to
|
||||||
|
* "default". If the object does not have a tooltip set,
|
||||||
|
* then @c NULL is returned.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_tooltip_style_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_gengrid_item_tooltip_style_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Disable size restrictions on an object's tooltip
|
||||||
|
* @param it The tooltip's anchor object
|
||||||
|
* @param disable If EINA_TRUE, size restrictions are disabled
|
||||||
|
* @return EINA_FALSE on failure, EINA_TRUE on success
|
||||||
|
*
|
||||||
|
* This function allows a tooltip to expand beyond its parent window's canvas.
|
||||||
|
* It will instead be limited only by the size of the display.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Retrieve size restriction state of an object's tooltip
|
||||||
|
* @param it The tooltip's anchor object
|
||||||
|
* @return If EINA_TRUE, size restrictions are disabled
|
||||||
|
*
|
||||||
|
* This function returns whether a tooltip is allowed to expand beyond
|
||||||
|
* its parent window's canvas.
|
||||||
|
* It will instead be limited only by the size of the display.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_item_tooltip_window_mode_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the type of mouse pointer/cursor decoration to be shown,
|
||||||
|
* when the mouse pointer is over the given gengrid widget item
|
||||||
|
*
|
||||||
|
* @param it gengrid item to customize cursor on
|
||||||
|
* @param cursor the cursor type's name
|
||||||
|
*
|
||||||
|
* This function works analogously as elm_object_cursor_set(), but
|
||||||
|
* here the cursor's changing area is restricted to the item's
|
||||||
|
* area, and not the whole widget's. Note that that item cursors
|
||||||
|
* have precedence over widget cursors, so that a mouse over @p
|
||||||
|
* item will always show cursor @p type.
|
||||||
|
*
|
||||||
|
* If this function is called twice for an object, a previously set
|
||||||
|
* cursor will be unset on the second call.
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_set()
|
||||||
|
* @see elm_gengrid_item_cursor_get()
|
||||||
|
* @see elm_gengrid_item_cursor_unset()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_cursor_set(Elm_Object_Item *it, const char *cursor);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the type of mouse pointer/cursor decoration set to be shown,
|
||||||
|
* when the mouse pointer is over the given gengrid widget item
|
||||||
|
*
|
||||||
|
* @param it gengrid item with custom cursor set
|
||||||
|
* @return the cursor type's name or @c NULL, if no custom cursors
|
||||||
|
* were set to @p item (and on errors)
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_get()
|
||||||
|
* @see elm_gengrid_item_cursor_set() for more details
|
||||||
|
* @see elm_gengrid_item_cursor_unset()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_gengrid_item_cursor_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset any custom mouse pointer/cursor decoration set to be
|
||||||
|
* shown, when the mouse pointer is over the given gengrid widget
|
||||||
|
* item, thus making it show the @b default cursor again.
|
||||||
|
*
|
||||||
|
* @param it a gengrid item
|
||||||
|
*
|
||||||
|
* Use this call to undo any custom settings on this item's cursor
|
||||||
|
* decoration, bringing it back to defaults (no custom style set).
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_unset()
|
||||||
|
* @see elm_gengrid_item_cursor_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_cursor_unset(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a different @b style for a given custom cursor set for a
|
||||||
|
* gengrid item.
|
||||||
|
*
|
||||||
|
* @param it gengrid item with custom cursor set
|
||||||
|
* @param style the <b>theme style</b> to use (e.g. @c "default",
|
||||||
|
* @c "transparent", etc)
|
||||||
|
*
|
||||||
|
* This function only makes sense when one is using custom mouse
|
||||||
|
* cursor decorations <b>defined in a theme file</b> , which can
|
||||||
|
* have, given a cursor name/type, <b>alternate styles</b> on
|
||||||
|
* it. It works analogously as elm_object_cursor_style_set(), but
|
||||||
|
* here applied only to gengrid item objects.
|
||||||
|
*
|
||||||
|
* @warning Before you set a cursor style you should have defined a
|
||||||
|
* custom cursor previously on the item, with
|
||||||
|
* elm_gengrid_item_cursor_set()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_cursor_engine_only_set()
|
||||||
|
* @see elm_gengrid_item_cursor_style_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_cursor_style_set(Elm_Object_Item *it, const char *style);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current @b style set for a given gengrid item's custom
|
||||||
|
* cursor
|
||||||
|
*
|
||||||
|
* @param it gengrid item with custom cursor set.
|
||||||
|
* @return style the cursor style in use. If the object does not
|
||||||
|
* have a cursor set, then @c NULL is returned.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_cursor_style_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_gengrid_item_cursor_style_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set if the (custom) cursor for a given gengrid item should be
|
||||||
|
* searched in its theme, also, or should only rely on the
|
||||||
|
* rendering engine.
|
||||||
|
*
|
||||||
|
* @param it item with custom (custom) cursor already set on
|
||||||
|
* @param engine_only Use @c EINA_TRUE to have cursors looked for
|
||||||
|
* only on those provided by the rendering engine, @c EINA_FALSE to
|
||||||
|
* have them searched on the widget's theme, as well.
|
||||||
|
*
|
||||||
|
* @note This call is of use only if you've set a custom cursor
|
||||||
|
* for gengrid items, with elm_gengrid_item_cursor_set().
|
||||||
|
*
|
||||||
|
* @note By default, cursors will only be looked for between those
|
||||||
|
* provided by the rendering engine.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the (custom) cursor for a given gengrid item is being
|
||||||
|
* searched in its theme, also, or is only relying on the rendering
|
||||||
|
* engine.
|
||||||
|
*
|
||||||
|
* @param it a gengrid item
|
||||||
|
* @return @c EINA_TRUE, if cursors are being looked for only on
|
||||||
|
* those provided by the rendering engine, @c EINA_FALSE if they
|
||||||
|
* are being searched on the widget's theme, as well.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_cursor_engine_only_set(), for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_item_cursor_engine_only_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a given gengrid item's position, relative to the whole
|
||||||
|
* gengrid's grid area.
|
||||||
|
*
|
||||||
|
* @param it The Gengrid item.
|
||||||
|
* @param x Pointer to variable to store the item's <b>row number</b>.
|
||||||
|
* @param y Pointer to variable to store the item's <b>column number</b>.
|
||||||
|
*
|
||||||
|
* This returns the "logical" position of the item within the
|
||||||
|
* gengrid. For example, @c (0, 1) would stand for first row,
|
||||||
|
* second column.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_pos_get(const Elm_Object_Item *it, unsigned int *x, unsigned int *y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the gengrid item's select mode.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item object
|
||||||
|
* @param mode The select mode
|
||||||
|
*
|
||||||
|
* elm_gengrid_select_mode_set() changes item's select mode.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_DEFAULT : 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 : This means that, even if selected,
|
||||||
|
* every click will make the selected callbacks be called.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_NONE : This 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 : This 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.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_select_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_select_mode_set(Elm_Object_Item *it, Elm_Object_Select_Mode mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the gengrid item's select mode.
|
||||||
|
*
|
||||||
|
* @param it The gengrid item object
|
||||||
|
* @return The select mode
|
||||||
|
* (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_select_mode_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Select_Mode elm_gengrid_item_select_mode_get(const Elm_Object_Item *it);
|
||||||
|
|
|
@ -0,0 +1,602 @@
|
||||||
|
#define ELM_OBJ_GENGRID_PAN_CLASS elm_obj_gengrid_pan_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_gengrid_pan_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
#define ELM_OBJ_GENGRID_CLASS elm_obj_gengrid_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_gengrid_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
extern EAPI Eo_Op ELM_OBJ_GENGRID_BASE_ID;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_SIZE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_SIZE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_GROUP_ITEM_SIZE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_GROUP_ITEM_SIZE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ALIGN_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ALIGN_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_APPEND,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_PREPEND,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_INSERT_BEFORE,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_INSERT_AFTER,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEM_SORTED_INSERT,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_HORIZONTAL_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_HORIZONTAL_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_CLEAR,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEM_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEMS_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_UPDATE,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_REORDER_MODE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_REORDER_MODE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_PAGE_RELATIVE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_PAGE_RELATIVE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_PAGE_SIZE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_FIRST_ITEM_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_LAST_ITEM_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_FILLED_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_FILLED_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_ITEMS_COUNT,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_SELECT_MODE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_SELECT_MODE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_HIGHLIGHT_MODE_SET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_HIGHLIGHT_MODE_GET,
|
||||||
|
ELM_OBJ_GENGRID_SUB_ID_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ELM_OBJ_GENGRID_ID(sub_id) (ELM_OBJ_GENGRID_BASE_ID + sub_id)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_size_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the size for the items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] w
|
||||||
|
* @param[in] h
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_size_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_size_set(w, h) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_SIZE_SET), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_size_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the size set for the items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] w
|
||||||
|
* @param[out] h
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_size_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_size_get(w, h) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_SIZE_GET), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_group_item_size_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the size for the group items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] w
|
||||||
|
* @param[in] h
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_group_item_size_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_group_item_size_set(w, h) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_GROUP_ITEM_SIZE_SET), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_group_item_size_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the size set for the group items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] w
|
||||||
|
* @param[out] h
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_group_item_size_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_group_item_size_get(w, h) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_GROUP_ITEM_SIZE_GET), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_align_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the items grid's alignment within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] align_x
|
||||||
|
* @param[in] align_y
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_align_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_align_set(align_x, align_y) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ALIGN_SET), EO_TYPECHECK(double, align_x), EO_TYPECHECK(double, align_y)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_align_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the items grid's alignment values within a given gengrid
|
||||||
|
*
|
||||||
|
* @param[out] align_x
|
||||||
|
* @param[out] align_y
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_align_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_align_get(align_x, align_y) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ALIGN_GET), EO_TYPECHECK(double *, align_x), EO_TYPECHECK(double *, align_y)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_append
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Append a new item in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_append
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_append(itc, data, func, func_data, ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_APPEND), EO_TYPECHECK(const Elm_Gengrid_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_prepend
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Prepend a new item in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_prepend
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_prepend(itc, data, func, func_data, ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_PREPEND), EO_TYPECHECK(const Elm_Gengrid_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_insert_before
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert an item before another in a gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] relative
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_insert_before
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_insert_before(itc, data, relative, func, func_data, ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_INSERT_BEFORE), EO_TYPECHECK(const Elm_Gengrid_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, relative), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_insert_after
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert an item after another in a gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] relative
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_insert_after
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_insert_after(itc, data, relative, func, func_data, ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_INSERT_AFTER), EO_TYPECHECK(const Elm_Gengrid_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, relative), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_item_sorted_insert
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert an item in a gengrid widget using a user-defined sort function.
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] comp
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_sorted_insert
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_item_sorted_insert(itc, data, comp, func, func_data, ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEM_SORTED_INSERT), EO_TYPECHECK(const Elm_Gengrid_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Eina_Compare_Cb, comp), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_horizontal_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the direction in which a given gengrid widget will expand while
|
||||||
|
* placing its items.
|
||||||
|
*
|
||||||
|
* @param[in] horizontal
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_horizontal_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_horizontal_set(horizontal) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_HORIZONTAL_SET), EO_TYPECHECK(Eina_Bool, horizontal)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_horizontal_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get for what direction a given gengrid widget will expand while
|
||||||
|
* placing its items.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_horizontal_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_horizontal_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_clear
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Remove all items from a given gengrid widget
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_clear
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_clear() ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_CLEAR)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_multi_select_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable multi-selection in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] multi
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_multi_select_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_multi_select_set(multi) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_SET), EO_TYPECHECK(Eina_Bool, multi)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_multi_select_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether multi-selection is enabled or disabled for a given
|
||||||
|
* gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_multi_select_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_multi_select_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_MULTI_SELECT_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_selected_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the selected item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_selected_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_selected_item_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_selected_items_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get <b>a list</b> of selected items in a given gengrid
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_selected_items_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_selected_items_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECTED_ITEMS_GET), EO_TYPECHECK(const Eina_List **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_realized_items_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get a list of realized items in gengrid
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_realized_items_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_realized_items_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_GET), EO_TYPECHECK(Eina_List **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_realized_items_update
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Update the contents of all realized items.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_realized_items_update
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_realized_items_update() ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_REALIZED_ITEMS_UPDATE)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_reorder_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set whether a given gengrid widget is or not able have items
|
||||||
|
*
|
||||||
|
* @param[in] reorder_mode
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_reorder_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_reorder_mode_set(reorder_mode) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_REORDER_MODE_SET), EO_TYPECHECK(Eina_Bool, reorder_mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_reorder_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether a given gengrid widget is or not able have items
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_reorder_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_reorder_mode_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_REORDER_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_bounce_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable bouncing effect for a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] h_bounce
|
||||||
|
* @param[in] v_bounce
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_bounce_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_bounce_set(h_bounce, v_bounce) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_BOUNCE_SET), EO_TYPECHECK(Eina_Bool, h_bounce), EO_TYPECHECK(Eina_Bool, v_bounce)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_bounce_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether bouncing effects are enabled or disabled, for a
|
||||||
|
* given gengrid widget, on each axis
|
||||||
|
*
|
||||||
|
* @param[out] h_bounce
|
||||||
|
* @param[out] v_bounce
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_bounce_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_bounce_get(h_bounce, v_bounce) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_BOUNCE_GET), EO_TYPECHECK(Eina_Bool *, h_bounce), EO_TYPECHECK(Eina_Bool *, v_bounce)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_page_relative_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set a given gengrid widget's scrolling page size, relative to
|
||||||
|
* its viewport size.
|
||||||
|
*
|
||||||
|
* @param[in] h_pagerel
|
||||||
|
* @param[in] v_pagerel
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_relative_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_page_relative_set(h_pagerel, v_pagerel) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_PAGE_RELATIVE_SET), EO_TYPECHECK(double, h_pagerel), EO_TYPECHECK(double, v_pagerel)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_page_relative_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get a given gengrid widget's scrolling page size, relative to
|
||||||
|
* its viewport size.
|
||||||
|
*
|
||||||
|
* @param[out] h_pagerel
|
||||||
|
* @param[out] v_pagerel
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_relative_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_page_relative_get(h_pagerel, v_pagerel) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_PAGE_RELATIVE_GET), EO_TYPECHECK(double *, h_pagerel), EO_TYPECHECK(double *, v_pagerel)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_page_size_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set a given gengrid widget's scrolling page size
|
||||||
|
*
|
||||||
|
* @param[in] h_pagesize
|
||||||
|
* @param[in] v_pagesize
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_size_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_page_size_set(h_pagesize, v_pagesize) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_PAGE_SIZE_SET), EO_TYPECHECK(Evas_Coord, h_pagesize), EO_TYPECHECK(Evas_Coord, v_pagesize)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_current_page_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @brief Get gengrid current page number.
|
||||||
|
*
|
||||||
|
* @param[out] h_pagenumber
|
||||||
|
* @param[out] v_pagenumber
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_current_page_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_current_page_get(h_pagenumber, v_pagenumber) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_CURRENT_PAGE_GET), EO_TYPECHECK(int *, h_pagenumber), EO_TYPECHECK(int *, v_pagenumber)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_last_page_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @brief Get gengrid last page number.
|
||||||
|
*
|
||||||
|
* @param[out] h_pagenumber
|
||||||
|
* @param[out] v_pagenumber
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_last_page_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_last_page_get(h_pagenumber, v_pagenumber) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_LAST_PAGE_GET), EO_TYPECHECK(int *, h_pagenumber), EO_TYPECHECK(int *, v_pagenumber)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_page_show
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Show a specific virtual region within the gengrid content object by page number.
|
||||||
|
*
|
||||||
|
* @param[in] h_pagenumber
|
||||||
|
* @param[in] v_pagenumber
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_show
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_page_show(h_pagenumber, v_pagenumber) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_PAGE_SHOW), EO_TYPECHECK(int, h_pagenumber), EO_TYPECHECK(int, v_pagenumber)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_page_bring_in
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Show a specific virtual region within the gengrid content object by page number.
|
||||||
|
*
|
||||||
|
* @param[in] h_pagenumber
|
||||||
|
* @param[in] v_pagenumber
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_bring_in
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_page_bring_in(h_pagenumber, v_pagenumber) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_PAGE_BRING_IN), EO_TYPECHECK(int, h_pagenumber), EO_TYPECHECK(int, v_pagenumber)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_scroller_policy_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the scrollbar policy
|
||||||
|
*
|
||||||
|
* @param[in] policy_h
|
||||||
|
* @param[in] policy_v
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_scroller_policy_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_scroller_policy_set(policy_h, policy_v) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SCROLLER_POLICY_SET), EO_TYPECHECK(Elm_Scroller_Policy, policy_h), EO_TYPECHECK(Elm_Scroller_Policy, policy_v)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_scroller_policy_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the scrollbar policy
|
||||||
|
*
|
||||||
|
* @param[out] policy_h
|
||||||
|
* @param[out] policy_v
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_scroller_policy_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_scroller_policy_get(policy_h, policy_v) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SCROLLER_POLICY_GET), EO_TYPECHECK(Elm_Scroller_Policy *, policy_h), EO_TYPECHECK(Elm_Scroller_Policy *, policy_v)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_first_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the first item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_first_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_first_item_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_FIRST_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_last_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the last item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_last_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_last_item_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_LAST_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_filled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set how the items grid's filled within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[in] fill
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_filled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_filled_set(fill) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_FILLED_SET), EO_TYPECHECK(Eina_Bool, fill)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_filled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get how the items grid's filled within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_filled_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_filled_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_FILLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_items_count
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Return how many items are currently in a list
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_items_count
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_items_count(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_ITEMS_COUNT), EO_TYPECHECK(unsigned int *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_select_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the gengrid select mode.
|
||||||
|
*
|
||||||
|
* @param[in] mode
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_select_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_select_mode_set(mode) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECT_MODE_SET), EO_TYPECHECK(Elm_Object_Select_Mode, mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_select_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the gengrid select mode.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_select_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_select_mode_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_SELECT_MODE_GET), EO_TYPECHECK(Elm_Object_Select_Mode *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_highlight_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set whether the gengrid items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param[in] highlight
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_highlight_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_highlight_mode_set(highlight) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_HIGHLIGHT_MODE_SET), EO_TYPECHECK(Eina_Bool, highlight)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_gengrid_highlight_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether the gengrid items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_highlight_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_gengrid_highlight_mode_get(ret) ELM_OBJ_GENGRID_ID(ELM_OBJ_GENGRID_SUB_ID_HIGHLIGHT_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,868 @@
|
||||||
|
/**
|
||||||
|
* Add a new gengrid widget to the given parent Elementary
|
||||||
|
* (container) object
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return a new gengrid widget handle or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* This function inserts a new gengrid widget on the canvas.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_size_set()
|
||||||
|
* @see elm_gengrid_group_item_size_set()
|
||||||
|
* @see elm_gengrid_horizontal_set()
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
* @see elm_gengrid_clear()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all items from a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
*
|
||||||
|
* This removes (and deletes) all items in @p obj, leaving it
|
||||||
|
* empty.
|
||||||
|
*
|
||||||
|
* @see elm_object_item_del(), to remove just one item.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_clear(Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable multi-selection in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param multi @c EINA_TRUE, to enable multi-selection,
|
||||||
|
* @c EINA_FALSE to disable it.
|
||||||
|
*
|
||||||
|
* Multi-selection is the ability to have @b more than one
|
||||||
|
* item selected, on a given gengrid, simultaneously. When it is
|
||||||
|
* enabled, a sequence of clicks on different items will make them
|
||||||
|
* all selected, progressively. A click on an already selected item
|
||||||
|
* will unselect it. If interacting via the keyboard,
|
||||||
|
* multi-selection is enabled while holding the "Shift" key.
|
||||||
|
*
|
||||||
|
* @note By default, multi-selection is @b disabled on gengrids
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_multi_select_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether multi-selection is enabled or disabled for a given
|
||||||
|
* gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return @c EINA_TRUE, if multi-selection is enabled, @c
|
||||||
|
* EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_multi_select_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_multi_select_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the direction in which a given gengrid widget will expand while
|
||||||
|
* placing its items.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param horizontal @c EINA_TRUE to make the gengrid expand horizontally,
|
||||||
|
* @c EINA_FALSE to expand vertically.
|
||||||
|
*
|
||||||
|
* When in "horizontal mode" (@c EINA_TRUE), items will be placed in @b columns,
|
||||||
|
* from top to bottom and, when the space for a column is filled, another one is
|
||||||
|
* started on the right, thus expanding the grid horizontally. When in
|
||||||
|
* "vertical mode" (@c EINA_FALSE), though, items will be placed in @b rows,
|
||||||
|
* from left to right and, when the space for a row is filled, another one is
|
||||||
|
* started below, thus expanding the grid vertically.
|
||||||
|
*
|
||||||
|
* @note By default, gengrid is in vertical mode, @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_horizontal_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get for what direction a given gengrid widget will expand while
|
||||||
|
* placing its items.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return @c EINA_TRUE, if @p obj is set to expand horizontally,
|
||||||
|
* @c EINA_FALSE if it's set to expand vertically.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_horizontal_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_horizontal_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable bouncing effect for a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_bounce @c EINA_TRUE, to enable @b horizontal bouncing,
|
||||||
|
* @c EINA_FALSE to disable it
|
||||||
|
* @param v_bounce @c EINA_TRUE, to enable @b vertical bouncing,
|
||||||
|
* @c EINA_FALSE to disable it
|
||||||
|
*
|
||||||
|
* The bouncing effect occurs whenever one reaches the gengrid's
|
||||||
|
* edge's while panning it -- it will scroll past its limits a
|
||||||
|
* little bit and return to the edge again, in a animated for,
|
||||||
|
* automatically.
|
||||||
|
*
|
||||||
|
* @note By default, gengrids have bouncing enabled on both axis
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_bounce_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_bounce_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether bouncing effects are enabled or disabled, for a
|
||||||
|
* given gengrid widget, on each axis
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_bounce Pointer to a variable where to store the
|
||||||
|
* horizontal bouncing flag.
|
||||||
|
* @param v_bounce Pointer to a variable where to store the
|
||||||
|
* vertical bouncing flag.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_bounce_get() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_bounce_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append a new item in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param gic The item class for the item.
|
||||||
|
* @param data The item data.
|
||||||
|
* @param func Convenience function called when the item is
|
||||||
|
* selected.
|
||||||
|
* @param func_data Data to be passed to @p func.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors.
|
||||||
|
*
|
||||||
|
* This adds an item to the beginning of the gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_prepend()
|
||||||
|
* @see elm_gengrid_item_insert_before()
|
||||||
|
* @see elm_gengrid_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepend a new item in a given gengrid widget.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param gic The item class for the item.
|
||||||
|
* @param data The item data.
|
||||||
|
* @param func Convenience function called when the item is
|
||||||
|
* selected.
|
||||||
|
* @param func_data Data to be passed to @p func.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors.
|
||||||
|
*
|
||||||
|
* This adds an item to the end of the gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
* @see elm_gengrid_item_insert_before()
|
||||||
|
* @see elm_gengrid_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert an item before another in a gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param gic The item class for the item.
|
||||||
|
* @param data The item data.
|
||||||
|
* @param relative The item to place this new one before.
|
||||||
|
* @param func Convenience function called when the item is
|
||||||
|
* selected.
|
||||||
|
* @param func_data Data to be passed to @p func.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors.
|
||||||
|
*
|
||||||
|
* This inserts an item before another in the gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
* @see elm_gengrid_item_prepend()
|
||||||
|
* @see elm_gengrid_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_insert_before(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Object_Item *relative, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert an item after another in a gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param gic The item class for the item.
|
||||||
|
* @param data The item data.
|
||||||
|
* @param relative The item to place this new one after.
|
||||||
|
* @param func Convenience function called when the item is
|
||||||
|
* selected.
|
||||||
|
* @param func_data Data to be passed to @p func.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors.
|
||||||
|
*
|
||||||
|
* This inserts an item after another in the gengrid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
* @see elm_gengrid_item_prepend()
|
||||||
|
* @see elm_gengrid_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Object_Item *relative, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert an item in a gengrid widget using a user-defined sort function.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param gic The item class for the item.
|
||||||
|
* @param data The item data.
|
||||||
|
* @param comp User defined comparison function that defines the sort order
|
||||||
|
* based on Elm_Gen_Item and its data param.
|
||||||
|
* @param func Convenience function called when the item is selected.
|
||||||
|
* @param func_data Data to be passed to @p func.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors.
|
||||||
|
*
|
||||||
|
* This inserts an item in the gengrid based on user defined comparison
|
||||||
|
* function. The two arguments passed to the function @p func are gengrid
|
||||||
|
* item handles to compare.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_append()
|
||||||
|
* @see elm_gengrid_item_prepend()
|
||||||
|
* @see elm_gengrid_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_item_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the selected item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return The selected item's handle or @c NULL, if none is
|
||||||
|
* selected at the moment (and on errors)
|
||||||
|
*
|
||||||
|
* This returns the selected item in @p obj. If multi selection is
|
||||||
|
* enabled on @p obj (@see elm_gengrid_multi_select_set()), only
|
||||||
|
* the first item in the list is selected, which might not be very
|
||||||
|
* useful. For that case, see elm_gengrid_selected_items_get().
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_selected_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get <b>a list</b> of selected items in a given gengrid
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return The list of selected items or @c NULL, if none is
|
||||||
|
* selected at the moment (and on errors)
|
||||||
|
*
|
||||||
|
* This returns a list of the selected items, in the order that
|
||||||
|
* they appear in the grid. This list is only valid as long as no
|
||||||
|
* more items are selected or unselected (or unselected implicitly
|
||||||
|
* by deletion). The list contains Gengrid item pointers as
|
||||||
|
* data, naturally.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_selected_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of realized items in gengrid
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @return The list of realized items, nor NULL if none are realized.
|
||||||
|
*
|
||||||
|
* This returns a list of the realized items in the gengrid. The list
|
||||||
|
* contains gengrid item pointers. The list must be freed by the
|
||||||
|
* caller when done with eina_list_free(). The item pointers in the
|
||||||
|
* list are only valid so long as those items are not deleted or the
|
||||||
|
* gengrid is not deleted.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_realized_items_update()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_List *elm_gengrid_realized_items_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the contents of all realized items.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
*
|
||||||
|
* 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 elm_gengrid_item_update().
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_realized_items_get()
|
||||||
|
* @see elm_gengrid_item_update()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_realized_items_update(Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the first item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @return The first item's handle or @c NULL, if there are no
|
||||||
|
* items in @p obj (and on errors)
|
||||||
|
*
|
||||||
|
* This returns the first item in the @p obj's internal list of
|
||||||
|
* items.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_last_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_first_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the last item in a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @return The last item's handle or @c NULL, if there are no
|
||||||
|
* items in @p obj (and on errors)
|
||||||
|
*
|
||||||
|
* This returns the last item in the @p obj's internal list of
|
||||||
|
* items.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_first_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_last_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the scrollbar policy
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param policy_h Horizontal scrollbar policy.
|
||||||
|
* @param policy_v Vertical scrollbar policy.
|
||||||
|
*
|
||||||
|
* This sets the scrollbar visibility policy for the given gengrid
|
||||||
|
* scroller. #ELM_SCROLLER_POLICY_AUTO means the scrollbar is made
|
||||||
|
* visible if it is needed, and otherwise kept
|
||||||
|
* hidden. #ELM_SCROLLER_POLICY_ON turns it on all the time, and
|
||||||
|
* #ELM_SCROLLER_POLICY_OFF always keeps it off. This applies
|
||||||
|
* respectively for the horizontal and vertical scrollbars. Default
|
||||||
|
* is #ELM_SCROLLER_POLICY_AUTO.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_policy_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_policy_set()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_scroller_policy_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the scrollbar policy
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param policy_h Pointer to store the horizontal scrollbar policy.
|
||||||
|
* @param policy_v Pointer to store the vertical scrollbar policy.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_policy_get() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_policy_get()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_scroller_policy_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return how many items are currently in a list
|
||||||
|
*
|
||||||
|
* @param obj The list
|
||||||
|
* @return The total number of list items in the list
|
||||||
|
*
|
||||||
|
* This behavior is O(1) and includes items which may or may not be realized.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI unsigned int elm_gengrid_items_count(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the size for the items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param w The items' width.
|
||||||
|
* @param h The items' height;
|
||||||
|
*
|
||||||
|
* A gengrid, after creation, has still no information on the size
|
||||||
|
* to give to each of its cells. So, you most probably will end up
|
||||||
|
* with squares one @ref Fingers "finger" wide, the default
|
||||||
|
* size. Use this function to force a custom size for you items,
|
||||||
|
* making them as big as you wish.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_size_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the size set for the items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param w Pointer to a variable where to store the items' width.
|
||||||
|
* @param h Pointer to a variable where to store the items' height.
|
||||||
|
*
|
||||||
|
* @note Use @c NULL pointers on the size values you're not
|
||||||
|
* interested in: they'll be ignored by the function.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_item_size_get() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the size for the group items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param w The group items' width.
|
||||||
|
* @param h The group items' height;
|
||||||
|
*
|
||||||
|
* A gengrid, after creation, has still no information on the size
|
||||||
|
* to give to each of its cells. So, you most probably will end up
|
||||||
|
* with squares one @ref Fingers "finger" wide, the default
|
||||||
|
* size. Use this function to force a custom size for you group items,
|
||||||
|
* making them as big as you wish.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_group_item_size_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_group_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the size set for the group items of a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param w Pointer to a variable where to store the group items' width.
|
||||||
|
* @param h Pointer to a variable where to store the group items' height.
|
||||||
|
*
|
||||||
|
* @note Use @c NULL pointers on the size values you're not
|
||||||
|
* interested in: they'll be ignored by the function.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_group_item_size_get() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_group_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the items grid's alignment within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param align_x Alignment in the horizontal axis (0 <= align_x <= 1).
|
||||||
|
* @param align_y Alignment in the vertical axis (0 <= align_y <= 1).
|
||||||
|
*
|
||||||
|
* This sets the alignment of the whole grid of items of a gengrid
|
||||||
|
* within its given viewport. By default, those values are both
|
||||||
|
* 0.5, meaning that the gengrid will have its items grid placed
|
||||||
|
* exactly in the middle of its viewport.
|
||||||
|
*
|
||||||
|
* @note If given alignment values are out of the cited ranges,
|
||||||
|
* they'll be changed to the nearest boundary values on the valid
|
||||||
|
* ranges.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_align_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the items grid's alignment values within a given gengrid
|
||||||
|
* widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param align_x Pointer to a variable where to store the
|
||||||
|
* horizontal alignment.
|
||||||
|
* @param align_y Pointer to a variable where to store the vertical
|
||||||
|
* alignment.
|
||||||
|
*
|
||||||
|
* @note Use @c NULL pointers on the alignment values you're not
|
||||||
|
* interested in: they'll be ignored by the function.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_align_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether a given gengrid widget is or not able have items
|
||||||
|
* @b reordered
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param reorder_mode Use @c EINA_TRUE to turn reordering on,
|
||||||
|
* @c EINA_FALSE to turn it off
|
||||||
|
*
|
||||||
|
* If a gengrid is set to allow reordering, a click held for more
|
||||||
|
* than 0.5 over a given item will highlight it specially,
|
||||||
|
* signaling the gengrid has entered the reordering state. From
|
||||||
|
* that time on, the user will be able to, while still holding the
|
||||||
|
* mouse button down, move the item freely in the gengrid's
|
||||||
|
* viewport, replacing to said item to the locations it goes to.
|
||||||
|
* The replacements will be animated and, whenever the user
|
||||||
|
* releases the mouse button, the item being replaced gets a new
|
||||||
|
* definitive place in the grid.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_reorder_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_reorder_mode_set(Evas_Object *obj, Eina_Bool reorder_mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether a given gengrid widget is or not able have items
|
||||||
|
* @b reordered
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @return @c EINA_TRUE, if reordering is on, @c EINA_FALSE if it's
|
||||||
|
* off
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_reorder_mode_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_reorder_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a given gengrid widget's scrolling page size, relative to
|
||||||
|
* its viewport size.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagerel The horizontal page (relative) size
|
||||||
|
* @param v_pagerel The vertical page (relative) size
|
||||||
|
*
|
||||||
|
* The gengrid's scroller is capable of binding scrolling by the
|
||||||
|
* user to "pages". It means that, while scrolling and, specially
|
||||||
|
* after releasing the mouse button, the grid will @b snap to the
|
||||||
|
* nearest displaying page's area. When page sizes are set, the
|
||||||
|
* grid's continuous content area is split into (equal) page sized
|
||||||
|
* pieces.
|
||||||
|
*
|
||||||
|
* This function sets the size of a page <b>relatively to the
|
||||||
|
* viewport dimensions</b> of the gengrid, for each axis. A value
|
||||||
|
* @c 1.0 means "the exact viewport's size", in that axis, while @c
|
||||||
|
* 0.0 turns paging off in that axis. Likewise, @c 0.5 means "half
|
||||||
|
* a viewport". Sane usable values are, than, between @c 0.0 and @c
|
||||||
|
* 1.0. Values beyond those will make it behave behave
|
||||||
|
* inconsistently. If you only want one axis to snap to pages, use
|
||||||
|
* the value @c 0.0 for the other one.
|
||||||
|
*
|
||||||
|
* There is a function setting page size values in @b absolute
|
||||||
|
* values, too -- elm_gengrid_page_size_set(). Naturally, its use
|
||||||
|
* is mutually exclusive to this one.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_page_relative_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_page_relative_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a given gengrid widget's scrolling page size, relative to
|
||||||
|
* its viewport size.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagerel Pointer to a variable where to store the
|
||||||
|
* horizontal page (relative) size
|
||||||
|
* @param v_pagerel Pointer to a variable where to store the
|
||||||
|
* vertical page (relative) size
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_page_relative_get() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_page_relative_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a given gengrid widget's scrolling page size
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagesize The horizontal page size, in pixels
|
||||||
|
* @param v_pagesize The vertical page size, in pixels
|
||||||
|
*
|
||||||
|
* The gengrid's scroller is capable of binding scrolling by the
|
||||||
|
* user to "pages". It means that, while scrolling and, specially
|
||||||
|
* after releasing the mouse button, the grid will @b snap to the
|
||||||
|
* nearest displaying page's area. When page sizes are set, the
|
||||||
|
* grid's continuous content area is split into (equal) page sized
|
||||||
|
* pieces.
|
||||||
|
*
|
||||||
|
* This function sets the size of a page of the gengrid, in pixels,
|
||||||
|
* for each axis. Sane usable values are, between @c 0 and the
|
||||||
|
* dimensions of @p obj, for each axis. Values beyond those will
|
||||||
|
* make it behave behave inconsistently. If you only want one axis
|
||||||
|
* to snap to pages, use the value @c 0 for the other one.
|
||||||
|
*
|
||||||
|
* There is a function setting page size values in @b relative
|
||||||
|
* values, too -- elm_gengrid_page_relative_set(). Naturally, its
|
||||||
|
* use is mutually exclusive to this one.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_page_size_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_page_size_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get gengrid current page number.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagenumber The horizontal page number
|
||||||
|
* @param v_pagenumber The vertical page number
|
||||||
|
*
|
||||||
|
* The page number starts from 0. 0 is the first page.
|
||||||
|
* Current page means the page which meet the top-left of the viewport.
|
||||||
|
* If there are two or more pages in the viewport, it returns the number of page
|
||||||
|
* which meet the top-left of the viewport.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_current_page_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_current_page_set()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_last_page_get()
|
||||||
|
* @see elm_gengrid_page_show()
|
||||||
|
* @see elm_gengrid_page_bring_in()
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get gengrid last page number.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagenumber The horizontal page number
|
||||||
|
* @param v_pagenumber The vertical page number
|
||||||
|
*
|
||||||
|
* The page number starts from 0. 0 is the first page.
|
||||||
|
* This returns the last page number among the pages.
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_last_page_set() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_last_page_set()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_current_page_get()
|
||||||
|
* @see elm_gengrid_page_show()
|
||||||
|
* @see elm_gengrid_page_bring_in()
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show a specific virtual region within the gengrid content object by page number.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagenumber The horizontal page number
|
||||||
|
* @param v_pagenumber The vertical page number
|
||||||
|
*
|
||||||
|
* 0, 0 of the indicated page is located at the top-left of the viewport.
|
||||||
|
* This will jump to the page directly without animation.
|
||||||
|
*
|
||||||
|
* Example of usage:
|
||||||
|
*
|
||||||
|
* @code
|
||||||
|
* sc = elm_gengrid_add(win);
|
||||||
|
* elm_gengrid_content_set(sc, content);
|
||||||
|
* elm_gengrid_page_relative_set(sc, 1, 0);
|
||||||
|
* elm_gengrid_current_page_get(sc, &h_page, &v_page);
|
||||||
|
* elm_gengrid_page_show(sc, h_page + 1, v_page);
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_bring_in()
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show a specific virtual region within the gengrid content object by page number.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param h_pagenumber The horizontal page number
|
||||||
|
* @param v_pagenumber The vertical page number
|
||||||
|
*
|
||||||
|
* 0, 0 of the indicated page is located at the top-left of the viewport.
|
||||||
|
* This will slide to the page with animation.
|
||||||
|
*
|
||||||
|
* Example of usage:
|
||||||
|
*
|
||||||
|
* @code
|
||||||
|
* sc = elm_gengrid_add(win);
|
||||||
|
* elm_gengrid_content_set(sc, content);
|
||||||
|
* elm_gengrid_page_relative_set(sc, 1, 0);
|
||||||
|
* elm_gengrid_last_page_get(sc, &h_page, &v_page);
|
||||||
|
* elm_gengrid_page_bring_in(sc, h_page, v_page);
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* @deprecated Use elm_scroller_page_bring_in() instead.
|
||||||
|
*
|
||||||
|
* @see elm_scroller_page_bring_in()
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_page_show()
|
||||||
|
*/
|
||||||
|
EINA_DEPRECATED EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set how the items grid's filled within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param fill Filled if True
|
||||||
|
*
|
||||||
|
* This sets the fill state of the whole grid of items of a gengrid
|
||||||
|
* within its given viewport. By default, this value is false, meaning
|
||||||
|
* that if the first line of items grid's isn't filled, the items are
|
||||||
|
* centered with the alignment
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_filled_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_filled_set(Evas_Object *obj, Eina_Bool fill);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get how the items grid's filled within a given gengrid widget
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return @c EINA_TRUE, if filled is on, @c EINA_FALSE if it's
|
||||||
|
* off
|
||||||
|
*
|
||||||
|
* @note Use @c NULL pointers on the alignment values you're not
|
||||||
|
* interested in: they'll be ignored by the function.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_align_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_gengrid_filled_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the gengrid select mode.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param mode The select mode
|
||||||
|
*
|
||||||
|
* elm_gengrid_select_mode_set() changes item select mode in the gengrid widget.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_DEFAULT : Items 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 : This means that, even if selected,
|
||||||
|
* every click will make the selected callbacks be called.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
|
||||||
|
* entirely and they will neither appear selected nor call selected
|
||||||
|
* callback functions.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_select_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI void elm_gengrid_select_mode_set(Evas_Object *obj, Elm_Object_Select_Mode mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the gengrid select mode.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @return The select mode
|
||||||
|
* (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_select_mode_set()
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Select_Mode elm_gengrid_select_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether the gengrid items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @param highlight @c EINA_TRUE to enable highlight or @c EINA_FALSE to
|
||||||
|
* disable it.
|
||||||
|
*
|
||||||
|
* This will turn on/off the highlight effect when items are selected and
|
||||||
|
* they will or will not be highlighted. The selected and clicked
|
||||||
|
* callback functions will still be called.
|
||||||
|
*
|
||||||
|
* highlight is enabled by default.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_highlight_mode_get().
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
|
||||||
|
EAPI void elm_gengrid_highlight_mode_set(Evas_Object *obj, Eina_Bool highlight);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether the gengrid items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object.
|
||||||
|
* @return @c EINA_TRUE means items can be highlighted. @c EINA_FALSE indicates
|
||||||
|
* they can't. If @p obj is @c NULL, @c EINA_FALSE is returned.
|
||||||
|
*
|
||||||
|
* @see elm_gengrid_highlight_mode_set() for details.
|
||||||
|
*
|
||||||
|
* @ingroup Gengrid
|
||||||
|
*/
|
||||||
|
|
||||||
|
EAPI Eina_Bool elm_gengrid_highlight_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the nth item, in a given gengrid widget, placed at position @p nth, in
|
||||||
|
* its internal items list
|
||||||
|
*
|
||||||
|
* @param obj The gengrid object
|
||||||
|
* @param nth The number of the item to grab (0 being the first)
|
||||||
|
*
|
||||||
|
* @return The item stored in @p obj at position @p nth or @c NULL, if there's
|
||||||
|
* no item with that index (and on errors)
|
||||||
|
*
|
||||||
|
* @ingroup Genilst
|
||||||
|
* @since 1.8
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_gengrid_nth_item_get(const Evas_Object *obj, unsigned int nth);
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,824 @@
|
||||||
|
#define ELM_GENLIST_ITEM_CLASS_VERSION ELM_GEN_ITEM_CLASS_VERSION
|
||||||
|
#define ELM_GENLIST_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_HEADER
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines if the item is of any special type (has subitems or it's the
|
||||||
|
* index of a group), or is just a simple item.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ELM_GENLIST_ITEM_NONE = 0, /**< simple item */
|
||||||
|
ELM_GENLIST_ITEM_TREE = (1 << 0), /**< this may be expanded and have child items. */
|
||||||
|
ELM_GENLIST_ITEM_GROUP = (1 << 1), /**< an index item of a group of items. this item can have child items. */
|
||||||
|
|
||||||
|
ELM_GENLIST_ITEM_MAX = (1 << 2)
|
||||||
|
} Elm_Genlist_Item_Type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines the type of the item part
|
||||||
|
* Used while updating item's parts
|
||||||
|
* It can be used at updating multi fields.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ELM_GENLIST_ITEM_FIELD_ALL = 0,
|
||||||
|
ELM_GENLIST_ITEM_FIELD_TEXT = (1 << 0),
|
||||||
|
ELM_GENLIST_ITEM_FIELD_CONTENT = (1 << 1),
|
||||||
|
ELM_GENLIST_ITEM_FIELD_STATE = (1 << 2)
|
||||||
|
} Elm_Genlist_Item_Field_Type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines where to position the item in the genlist.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ELM_GENLIST_ITEM_SCROLLTO_NONE = 0, /**< no scrollto */
|
||||||
|
ELM_GENLIST_ITEM_SCROLLTO_IN = (1 << 0), /**< to the nearest viewport */
|
||||||
|
ELM_GENLIST_ITEM_SCROLLTO_TOP = (1 << 1), /**< to the top of viewport */
|
||||||
|
ELM_GENLIST_ITEM_SCROLLTO_MIDDLE = (1 << 2) /**< to the middle of viewport */
|
||||||
|
} Elm_Genlist_Item_Scrollto_Type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Class
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Class Elm_Genlist_Item_Class;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Text_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Text_Get_Cb Elm_Genlist_Item_Text_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Content_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Content_Get_Cb Elm_Genlist_Item_Content_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_State_Get_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_State_Get_Cb Elm_Genlist_Item_State_Get_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Elm_Gen_Item_Del_Cb
|
||||||
|
*/
|
||||||
|
typedef Elm_Gen_Item_Del_Cb Elm_Genlist_Item_Del_Cb;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the @b next item in a genlist widget's internal list of items,
|
||||||
|
* given a handle to one of those items.
|
||||||
|
*
|
||||||
|
* @param it The genlist item to fetch next from
|
||||||
|
* @return The item after @p item, or @c NULL if there's none (and
|
||||||
|
* on errors)
|
||||||
|
*
|
||||||
|
* This returns the item placed after the @p item, on the container
|
||||||
|
* genlist.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_prev_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_next_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the @b previous item in a genlist widget's internal list of items,
|
||||||
|
* given a handle to one of those items.
|
||||||
|
*
|
||||||
|
* @param it The genlist item to fetch previous from
|
||||||
|
* @return The item before @p item, or @c NULL if there's none (and
|
||||||
|
* on errors)
|
||||||
|
*
|
||||||
|
* This returns the item placed before the @p item, on the container
|
||||||
|
* genlist.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_next_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_prev_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether a given genlist item is selected or not
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @param selected Use @c EINA_TRUE, to make it selected, @c
|
||||||
|
* EINA_FALSE to make it unselected
|
||||||
|
*
|
||||||
|
* This sets the selected state of an item. If multi selection is
|
||||||
|
* not enabled on the containing genlist and @p selected is @c
|
||||||
|
* EINA_TRUE, any other previously selected items will get
|
||||||
|
* unselected in favor of this new one.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_selected_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether a given genlist item is selected or not
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_selected_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the portion of a genlist's internal list containing a given
|
||||||
|
* item, immediately.
|
||||||
|
*
|
||||||
|
* @param it The item to display
|
||||||
|
* @param type The position to bring in, the given item to.
|
||||||
|
* @ref Elm_Genlist_Item_Scrollto_Type
|
||||||
|
*
|
||||||
|
* This causes genlist to jump to the given item @p it and show it (by
|
||||||
|
* jumping to that position), if it is not fully visible.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_bring_in()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_show(Elm_Object_Item *it, Elm_Genlist_Item_Scrollto_Type type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Animatedly bring in, to the visible are of a genlist, a given
|
||||||
|
* item on it.
|
||||||
|
*
|
||||||
|
* @param it The item to display
|
||||||
|
* @param type The position to bring in, the given item to.
|
||||||
|
* @ref Elm_Genlist_Item_Scrollto_Type
|
||||||
|
*
|
||||||
|
* This causes genlist to jump to the given item @p 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_show()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_bring_in(Elm_Object_Item *it, Elm_Genlist_Item_Scrollto_Type type);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update all the contents of an item
|
||||||
|
*
|
||||||
|
* @param it The 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_realized_items_update()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_update(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the item class of an item
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @param itc The item class for the item
|
||||||
|
*
|
||||||
|
* This sets another class of the item, changing the way that it is
|
||||||
|
* displayed. After changing the item class, elm_genlist_item_update() is
|
||||||
|
* called on the item @p it.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_item_class_update(Elm_Object_Item *it, const Elm_Genlist_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Genlist Item class for the given Genlist Item.
|
||||||
|
*
|
||||||
|
* @param it The genlist item
|
||||||
|
*
|
||||||
|
* This returns the Genlist_Item_Class for the given item. It can be used to
|
||||||
|
* examine the function pointers and item_style.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the index of the item. It is only valid once displayed.
|
||||||
|
*
|
||||||
|
* @param it a genlist item
|
||||||
|
* @return the position inside the list of item.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI int elm_genlist_item_index_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new genlist item class in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @return New allocated a genlist item class.
|
||||||
|
*
|
||||||
|
* This adds genlist item class for the genlist widget. When adding an item,
|
||||||
|
* genlist_item_{append, prepend, insert} function needs item class of the item.
|
||||||
|
* Given callback parameters are used at retrieving {text, content} of
|
||||||
|
* added item. Set as NULL if it's not used.
|
||||||
|
* If there's no available memory, return can be NULL.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_class_free()
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Genlist_Item_Class *elm_genlist_item_class_new(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove an item class in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param itc The itc to be removed.
|
||||||
|
*
|
||||||
|
* This removes item class from the genlist widget.
|
||||||
|
* Whenever it has no more references to it, item class is going to be freed.
|
||||||
|
* Otherwise it just decreases its reference count.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_class_new()
|
||||||
|
* @see elm_genlist_item_class_ref()
|
||||||
|
* @see elm_genlist_item_class_unref()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increments object reference count for the item class.
|
||||||
|
*
|
||||||
|
* @param itc The given item class object to reference
|
||||||
|
*
|
||||||
|
* This API just increases its reference count for item class management.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_class_unref()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decrements object reference count for the item class.
|
||||||
|
*
|
||||||
|
* @param itc The given item class object to reference
|
||||||
|
*
|
||||||
|
* This API just decreases its reference count for item class management.
|
||||||
|
* Reference count can't be less than 0.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_class_ref()
|
||||||
|
* @see elm_genlist_item_class_free()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the text to be shown in a given genlist item's tooltips.
|
||||||
|
*
|
||||||
|
* @param it The genlist item
|
||||||
|
* @param text The text to set in the content
|
||||||
|
*
|
||||||
|
* This call will setup the text to be used as tooltip to that item
|
||||||
|
* (analogous to elm_object_tooltip_text_set(), but being item
|
||||||
|
* tooltips with higher precedence than object tooltips). It can
|
||||||
|
* have only one tooltip at a time, so any previous tooltip data
|
||||||
|
* will get removed.
|
||||||
|
*
|
||||||
|
* In order to set a content or something else as a tooltip, look at
|
||||||
|
* elm_genlist_item_tooltip_content_cb_set().
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_tooltip_text_set(Elm_Object_Item *it, const char *text);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the content to be shown in a given genlist item's tooltips
|
||||||
|
*
|
||||||
|
* @param it The genlist item.
|
||||||
|
* @param func The function returning the tooltip contents.
|
||||||
|
* @param data What to provide to @a func as callback data/context.
|
||||||
|
* @param del_cb Called when data is not needed anymore, either when
|
||||||
|
* another callback replaces @p func, the tooltip is unset with
|
||||||
|
* elm_genlist_item_tooltip_unset() or the owner @p item
|
||||||
|
* dies. This callback receives as its first parameter the
|
||||||
|
* given @p data, being @c event_info the item handle.
|
||||||
|
*
|
||||||
|
* This call will setup the tooltip's contents to @p item
|
||||||
|
* (analogous to elm_object_tooltip_content_cb_set(), but being
|
||||||
|
* item tooltips with higher precedence than object tooltips). It
|
||||||
|
* can have only one tooltip at a time, so any previous tooltip
|
||||||
|
* content will get removed. @p func (with @p data) will be called
|
||||||
|
* every time Elementary needs to show the tooltip and it should
|
||||||
|
* return a valid Evas object, which will be fully managed by the
|
||||||
|
* tooltip system, getting deleted when the tooltip is gone.
|
||||||
|
*
|
||||||
|
* In order to set just a text as a tooltip, look at
|
||||||
|
* elm_genlist_item_tooltip_text_set().
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset a tooltip from a given genlist item
|
||||||
|
*
|
||||||
|
* @param it genlist item to remove a previously set tooltip from.
|
||||||
|
*
|
||||||
|
* This call removes any tooltip set on @p item. The callback
|
||||||
|
* provided as @c del_cb to
|
||||||
|
* elm_genlist_item_tooltip_content_cb_set() will be called to
|
||||||
|
* notify it is not used anymore (and have resources cleaned, if
|
||||||
|
* need be).
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_tooltip_content_cb_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_tooltip_unset(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a different @b style for a given genlist item's tooltip.
|
||||||
|
*
|
||||||
|
* @param it genlist item with tooltip set
|
||||||
|
* @param style the <b>theme style</b> to use on tooltips (e.g. @c
|
||||||
|
* "default", @c "transparent", etc)
|
||||||
|
*
|
||||||
|
* Tooltips can have <b>alternate styles</b> to be displayed on,
|
||||||
|
* which are defined by the theme set on Elementary. This function
|
||||||
|
* works analogously as elm_object_tooltip_style_set(), but here
|
||||||
|
* applied only to genlist item objects. The default style for
|
||||||
|
* tooltips is @c "default".
|
||||||
|
*
|
||||||
|
* @note before you set a style you should define a tooltip with
|
||||||
|
* elm_genlist_item_tooltip_content_cb_set() or
|
||||||
|
* elm_genlist_item_tooltip_text_set()
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_tooltip_style_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_tooltip_style_set(Elm_Object_Item *it, const char *style);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style set a given genlist item's tooltip.
|
||||||
|
*
|
||||||
|
* @param it genlist item with tooltip already set on.
|
||||||
|
* @return style the theme style in use, which defaults to
|
||||||
|
* "default". If the object does not have a tooltip set,
|
||||||
|
* then @c NULL is returned.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_tooltip_style_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_genlist_item_tooltip_style_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Disable size restrictions on an object's tooltip
|
||||||
|
* @param it The tooltip's anchor object
|
||||||
|
* @param disable If EINA_TRUE, size restrictions are disabled
|
||||||
|
* @return EINA_FALSE on failure, EINA_TRUE on success
|
||||||
|
*
|
||||||
|
* This function allows a tooltip to expand beyond its parent window's canvas.
|
||||||
|
* It will instead be limited only by the size of the display.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_tooltip_window_mode_set(Elm_Object_Item *it, Eina_Bool disable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Retrieve size restriction state of an object's tooltip
|
||||||
|
* @param it The tooltip's anchor object
|
||||||
|
* @return If EINA_TRUE, size restrictions are disabled
|
||||||
|
*
|
||||||
|
* This function returns whether a tooltip is allowed to expand beyond
|
||||||
|
* its parent window's canvas.
|
||||||
|
* It will instead be limited only by the size of the display.
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_tooltip_window_mode_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the type of mouse pointer/cursor decoration to be shown,
|
||||||
|
* when the mouse pointer is over the given genlist widget item
|
||||||
|
*
|
||||||
|
* @param it genlist item to customize cursor on
|
||||||
|
* @param cursor the cursor type's name
|
||||||
|
*
|
||||||
|
* This function works analogously as elm_object_cursor_set(), but
|
||||||
|
* here the cursor's changing area is restricted to the item's
|
||||||
|
* area, and not the whole widget's. Note that that item cursors
|
||||||
|
* have precedence over widget cursors, so that a mouse over @p
|
||||||
|
* item will always show cursor @p type.
|
||||||
|
*
|
||||||
|
* If this function is called twice for an object, a previously set
|
||||||
|
* cursor will be unset on the second call.
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_set()
|
||||||
|
* @see elm_genlist_item_cursor_get()
|
||||||
|
* @see elm_genlist_item_cursor_unset()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_cursor_set(Elm_Object_Item *it, const char *cursor);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the type of mouse pointer/cursor decoration set to be shown,
|
||||||
|
* when the mouse pointer is over the given genlist widget item
|
||||||
|
*
|
||||||
|
* @param it genlist item with custom cursor set
|
||||||
|
* @return the cursor type's name or @c NULL, if no custom cursors
|
||||||
|
* were set to @p item (and on errors)
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_get()
|
||||||
|
* @see elm_genlist_item_cursor_set() for more details
|
||||||
|
* @see elm_genlist_item_cursor_unset()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_genlist_item_cursor_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset any custom mouse pointer/cursor decoration set to be
|
||||||
|
* shown, when the mouse pointer is over the given genlist widget
|
||||||
|
* item, thus making it show the @b default cursor again.
|
||||||
|
*
|
||||||
|
* @param it a genlist item
|
||||||
|
*
|
||||||
|
* Use this call to undo any custom settings on this item's cursor
|
||||||
|
* decoration, bringing it back to defaults (no custom style set).
|
||||||
|
*
|
||||||
|
* @see elm_object_cursor_unset()
|
||||||
|
* @see elm_genlist_item_cursor_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_cursor_unset(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a different @b style for a given custom cursor set for a
|
||||||
|
* genlist item.
|
||||||
|
*
|
||||||
|
* @param it genlist item with custom cursor set
|
||||||
|
* @param style the <b>theme style</b> to use (e.g. @c "default",
|
||||||
|
* @c "transparent", etc)
|
||||||
|
*
|
||||||
|
* This function only makes sense when one is using custom mouse
|
||||||
|
* cursor decorations <b>defined in a theme file</b> , which can
|
||||||
|
* have, given a cursor name/type, <b>alternate styles</b> on
|
||||||
|
* it. It works analogously as elm_object_cursor_style_set(), but
|
||||||
|
* here applied only to genlist item objects.
|
||||||
|
*
|
||||||
|
* @warning Before you set a cursor style you should have defined a
|
||||||
|
* custom cursor previously on the item, with
|
||||||
|
* elm_genlist_item_cursor_set()
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_cursor_engine_only_set()
|
||||||
|
* @see elm_genlist_item_cursor_style_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_cursor_style_set(Elm_Object_Item *it, const char *style);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current @b style set for a given genlist item's custom
|
||||||
|
* cursor
|
||||||
|
*
|
||||||
|
* @param it genlist item with custom cursor set.
|
||||||
|
* @return style the cursor style in use. If the object does not
|
||||||
|
* have a cursor set, then @c NULL is returned.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_cursor_style_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_genlist_item_cursor_style_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set if the (custom) cursor for a given genlist item should be
|
||||||
|
* searched in its theme, also, or should only rely on the
|
||||||
|
* rendering engine.
|
||||||
|
*
|
||||||
|
* @param it item with custom (custom) cursor already set on
|
||||||
|
* @param engine_only Use @c EINA_TRUE to have cursors looked for
|
||||||
|
* only on those provided by the rendering engine, @c EINA_FALSE to
|
||||||
|
* have them searched on the widget's theme, as well.
|
||||||
|
*
|
||||||
|
* @note This call is of use only if you've set a custom cursor
|
||||||
|
* for genlist items, with elm_genlist_item_cursor_set().
|
||||||
|
*
|
||||||
|
* @note By default, cursors will only be looked for between those
|
||||||
|
* provided by the rendering engine.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Object_Item *it, Eina_Bool engine_only);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the (custom) cursor for a given genlist item is being
|
||||||
|
* searched in its theme, also, or is only relying on the rendering
|
||||||
|
* engine.
|
||||||
|
*
|
||||||
|
* @param it a genlist item
|
||||||
|
* @return @c EINA_TRUE, if cursors are being looked for only on
|
||||||
|
* those provided by the rendering engine, @c EINA_FALSE if they
|
||||||
|
* are being searched on the widget's theme, as well.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_cursor_engine_only_set(), for more details
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the parent item of the given item
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @return The parent of the item or @c NULL if it has no parent.
|
||||||
|
*
|
||||||
|
* This returns the item that was specified as parent of the item @p it on
|
||||||
|
* elm_genlist_item_append() and insertion related functions.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_parent_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all sub-items (children) of the given item
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
*
|
||||||
|
* This removes all items that are children (and their descendants) of the
|
||||||
|
* given item @p it.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_clear()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_subitems_clear(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the expanded state of an item.
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @param expanded The expanded state (@c EINA_TRUE expanded, @c EINA_FALSE not expanded).
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_expanded_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_expanded_set(Elm_Object_Item *it, Eina_Bool expanded);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the expanded state of an item
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @return The expanded state
|
||||||
|
*
|
||||||
|
* This gets the expanded state of an item.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_expanded_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_expanded_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the depth of expanded item
|
||||||
|
*
|
||||||
|
* @param it The genlist item object
|
||||||
|
* @return The depth of expanded item
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI int elm_genlist_item_expanded_depth_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset all contents fetched by the item class
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @param l The contents list to return
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_all_contents_unset(Elm_Object_Item *it, Eina_List **l);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Promote an item to the top of the list
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_promote(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Demote an item to the end of the list
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_demote(Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the part of an item
|
||||||
|
*
|
||||||
|
* @param it The item
|
||||||
|
* @param parts The name of item's part
|
||||||
|
* @param itf The type of item's part type
|
||||||
|
*
|
||||||
|
* 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 parts argument is used for globbing to match '*', '?', and '.'
|
||||||
|
* It can be used at updating multi fields.
|
||||||
|
*
|
||||||
|
* Use elm_genlist_realized_items_update() to update an item's all
|
||||||
|
* property.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_update()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_fields_update(Elm_Object_Item *it, const char *parts, Elm_Genlist_Item_Field_Type itf);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Activate a genlist mode on an item
|
||||||
|
*
|
||||||
|
* @param it The genlist item
|
||||||
|
* @param decorate_it_type Mode name
|
||||||
|
* @param decorate_it_set Boolean to define set or unset mode.
|
||||||
|
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
* elm_genlist_decorated_item_get().
|
||||||
|
*
|
||||||
|
* The characteristics of genlist mode are:
|
||||||
|
* - 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_get()
|
||||||
|
* @see elm_genlist_decorated_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_decorate_mode_set(Elm_Object_Item *it, const char *decorate_it_type, Eina_Bool decorate_it_set);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the item's decorate mode.
|
||||||
|
*
|
||||||
|
* @param it The genlist item
|
||||||
|
*
|
||||||
|
* This function just returns the name of the item's decorate mode.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_decorate_mode_set()
|
||||||
|
* @see elm_genlist_decorated_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_genlist_item_decorate_mode_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the Item's Type
|
||||||
|
*
|
||||||
|
* @param it The genlist item
|
||||||
|
* @return The item type.
|
||||||
|
*
|
||||||
|
* This function returns the item's type. Normally the item's type.
|
||||||
|
* If it failed, return value is ELM_GENLIST_ITEM_MAX
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Genlist_Item_Type elm_genlist_item_type_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the flip state of a given genlist item.
|
||||||
|
*
|
||||||
|
* @param it The genlist item object
|
||||||
|
* @param flip The flip mode
|
||||||
|
* (EINA_TRUE = on, EINA_FALSE = off)
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_flip_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_item_flip_set(Elm_Object_Item *it, Eina_Bool flip);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the flip state of a given genlist item.
|
||||||
|
*
|
||||||
|
* @param it The genlist item object
|
||||||
|
*
|
||||||
|
* This function returns the flip state of a given genlist item.
|
||||||
|
* If the parameter is invalid, it returns EINA_FALSE.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_flip_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_item_flip_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the genlist item's select mode.
|
||||||
|
*
|
||||||
|
* @param it The genlist item object
|
||||||
|
* @param mode The select mode
|
||||||
|
*
|
||||||
|
* elm_genlist_select_mode_set() changes item's select mode.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_DEFAULT : 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 : This means that, even if selected,
|
||||||
|
* every click will make the selected callbacks be called.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_NONE : This 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 : This 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_select_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void
|
||||||
|
elm_genlist_item_select_mode_set(Elm_Object_Item *it,
|
||||||
|
Elm_Object_Select_Mode mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the genlist item's select mode.
|
||||||
|
*
|
||||||
|
* @param it The genlist item object
|
||||||
|
* @return The select mode
|
||||||
|
* (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_select_mode_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Select_Mode
|
||||||
|
elm_genlist_item_select_mode_get(const Elm_Object_Item *it);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,508 @@
|
||||||
|
#define ELM_OBJ_GENLIST_PAN_CLASS elm_obj_genlist_pan_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_genlist_pan_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
#define ELM_OBJ_GENLIST_CLASS elm_obj_genlist_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_genlist_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
extern EAPI Eo_Op ELM_OBJ_GENLIST_BASE_ID;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEMS_COUNT,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEM_APPEND,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEM_PREPEND,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEM_INSERT_AFTER,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEM_INSERT_BEFORE,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_ITEM_SORTED_INSERT,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_CLEAR,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_MULTI_SELECT_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_MULTI_SELECT_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_SELECTED_ITEM_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_SELECTED_ITEMS_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_REALIZED_ITEMS_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_AT_XY_ITEM_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_FIRST_ITEM_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_LAST_ITEM_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_MODE_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_MODE_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_HOMOGENEOUS_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_HOMOGENEOUS_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_BLOCK_COUNT_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_BLOCK_COUNT_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_LONGPRESS_TIMEOUT_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_LONGPRESS_TIMEOUT_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_REALIZED_ITEMS_UPDATE,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_DECORATED_ITEM_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_DECORATE_MODE_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_DECORATE_MODE_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_REORDER_MODE_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_REORDER_MODE_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_SELECT_MODE_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_SELECT_MODE_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_HIGHLIGHT_MODE_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_HIGHLIGHT_MODE_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_TREE_EFFECT_ENABLED_SET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_TREE_EFFECT_ENABLED_GET,
|
||||||
|
ELM_OBJ_GENLIST_SUB_ID_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ELM_OBJ_GENLIST_ID(sub_id) (ELM_OBJ_GENLIST_BASE_ID + sub_id)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_items_count
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Return how many items are currently in a list
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_items_count
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_items_count(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEMS_COUNT), EO_TYPECHECK(unsigned int *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_item_append
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Append a new item in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] parent
|
||||||
|
* @param[in] type
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_item_append(itc, data, parent, type, func, func_data, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEM_APPEND), EO_TYPECHECK(const Elm_Genlist_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, parent), EO_TYPECHECK(Elm_Genlist_Item_Type, type), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_item_prepend
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Prepend a new item in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] parent
|
||||||
|
* @param[in] type
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_prepend
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_item_prepend(itc, data, parent, type, func, func_data, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEM_PREPEND), EO_TYPECHECK(const Elm_Genlist_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, parent), EO_TYPECHECK(Elm_Genlist_Item_Type, type), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_item_insert_after
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert an item after another in a genlist widget
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] parent
|
||||||
|
* @param[in] after_it
|
||||||
|
* @param[in] type
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_insert_after
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_item_insert_after(itc, data, parent, after_it, type, func, func_data, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEM_INSERT_AFTER), EO_TYPECHECK(const Elm_Genlist_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, parent), EO_TYPECHECK(Elm_Object_Item *, after_it), EO_TYPECHECK(Elm_Genlist_Item_Type, type), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_item_insert_before
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert an item before another in a genlist widget
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] parent
|
||||||
|
* @param[in] before_it
|
||||||
|
* @param[in] type
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_insert_before
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_item_insert_before(itc, data, parent, before_it, type, func, func_data, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEM_INSERT_BEFORE), EO_TYPECHECK(const Elm_Genlist_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, parent), EO_TYPECHECK(Elm_Object_Item *, before_it), EO_TYPECHECK(Elm_Genlist_Item_Type, type), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_item_sorted_insert
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert a new item into the sorted genlist object
|
||||||
|
*
|
||||||
|
* @param[in] itc
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] parent
|
||||||
|
* @param[in] type
|
||||||
|
* @param[in] comp
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] func_data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_sorted_insert
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_item_sorted_insert(itc, data, parent, type, comp, func, func_data, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_ITEM_SORTED_INSERT), EO_TYPECHECK(const Elm_Genlist_Item_Class *, itc), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item *, parent), EO_TYPECHECK(Elm_Genlist_Item_Type, type), EO_TYPECHECK(Eina_Compare_Cb, comp), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, func_data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_clear
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Remove all items from a given genlist widget.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see elm_genlist_clear
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_clear() ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_CLEAR)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_multi_select_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable multi-selection in the genlist
|
||||||
|
*
|
||||||
|
* @param[in] multi
|
||||||
|
*
|
||||||
|
* @see elm_genlist_multi_select_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_multi_select_set(multi) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_MULTI_SELECT_SET), EO_TYPECHECK(Eina_Bool, multi)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_multi_select_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Gets if multi-selection in genlist is enabled or disabled.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_multi_select_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_multi_select_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_MULTI_SELECT_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_selected_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the selected item in the genlist.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_selected_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_selected_item_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_SELECTED_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_selected_items_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get a list of selected items in the genlist.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_selected_items_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_selected_items_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_SELECTED_ITEMS_GET), EO_TYPECHECK(const Eina_List **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_realized_items_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get a list of realized items in genlist
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_realized_items_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_realized_items_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_REALIZED_ITEMS_GET), EO_TYPECHECK(Eina_List **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_at_xy_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the item that is at the x, y canvas coords.
|
||||||
|
*
|
||||||
|
* @param[in] x
|
||||||
|
* @param[in] y
|
||||||
|
* @param[out] posret
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_at_xy_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_at_xy_item_get(x, y, posret, ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_AT_XY_ITEM_GET), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(int *, posret), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_first_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the first item in the genlist
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_first_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_first_item_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_FIRST_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_last_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the last item in the genlist
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_last_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_last_item_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_LAST_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* This sets the horizontal stretching mode.
|
||||||
|
*
|
||||||
|
* @param[in] mode
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_mode_set(mode) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_MODE_SET), EO_TYPECHECK(Elm_List_Mode, mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Gets the horizontal stretching mode.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_mode_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_MODE_GET), EO_TYPECHECK(Elm_List_Mode *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_homogeneous_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable/disable homogeneous mode.
|
||||||
|
*
|
||||||
|
* @param[in] homogeneous
|
||||||
|
*
|
||||||
|
* @see elm_genlist_homogeneous_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_homogeneous_set(homogeneous) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_HOMOGENEOUS_SET), EO_TYPECHECK(Eina_Bool, homogeneous)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_homogeneous_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether the homogeneous mode is enabled.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_homogeneous_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_homogeneous_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_HOMOGENEOUS_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_block_count_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the maximum number of items within an item block
|
||||||
|
*
|
||||||
|
* @param[in] count
|
||||||
|
*
|
||||||
|
* @see elm_genlist_block_count_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_block_count_set(count) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_BLOCK_COUNT_SET), EO_TYPECHECK(int, count)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_block_count_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the maximum number of items within an item block
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_block_count_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_block_count_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_BLOCK_COUNT_GET), EO_TYPECHECK(int *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_longpress_timeout_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the timeout in seconds for the longpress event.
|
||||||
|
*
|
||||||
|
* @param[in] timeout
|
||||||
|
*
|
||||||
|
* @see elm_genlist_longpress_timeout_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_longpress_timeout_set(timeout) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_LONGPRESS_TIMEOUT_SET), EO_TYPECHECK(double, timeout)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_longpress_timeout_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the timeout in seconds for the longpress event.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_longpress_timeout_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_longpress_timeout_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_LONGPRESS_TIMEOUT_GET), EO_TYPECHECK(double *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_realized_items_update
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Update the contents of all realized items.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see elm_genlist_realized_items_update
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_realized_items_update() ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_REALIZED_ITEMS_UPDATE)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_decorated_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get active genlist mode item
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_decorated_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_decorated_item_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_DECORATED_ITEM_GET), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_decorate_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get Genlist decorate mode
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_decorate_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_decorate_mode_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_DECORATE_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_decorate_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set Genlist decorate mode
|
||||||
|
*
|
||||||
|
* @param[in] decorated
|
||||||
|
*
|
||||||
|
* @see elm_genlist_decorate_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_decorate_mode_set(decorated) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_DECORATE_MODE_SET), EO_TYPECHECK(Eina_Bool, decorated)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_reorder_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set reorder mode
|
||||||
|
*
|
||||||
|
* @param[in] reorder_mode
|
||||||
|
*
|
||||||
|
* @see elm_genlist_reorder_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_reorder_mode_set(reorder_mode) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_REORDER_MODE_SET), EO_TYPECHECK(Eina_Bool, reorder_mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_reorder_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the reorder mode
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_reorder_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_reorder_mode_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_REORDER_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_select_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the genlist select mode.
|
||||||
|
*
|
||||||
|
* @param[in] mode
|
||||||
|
*
|
||||||
|
* @see elm_genlist_select_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_select_mode_set(mode) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_SELECT_MODE_SET), EO_TYPECHECK(Elm_Object_Select_Mode, mode)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_select_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the genlist select mode.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_select_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_select_mode_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_SELECT_MODE_GET), EO_TYPECHECK(Elm_Object_Select_Mode *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_highlight_mode_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set whether the genlist items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param[in] highlight
|
||||||
|
*
|
||||||
|
* @see elm_genlist_highlight_mode_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_highlight_mode_set(highlight) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_HIGHLIGHT_MODE_SET), EO_TYPECHECK(Eina_Bool, highlight)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_highlight_mode_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether the genlist items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_highlight_mode_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_highlight_mode_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_HIGHLIGHT_MODE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_tree_effect_enabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set Genlist tree effect
|
||||||
|
*
|
||||||
|
* @param[in] enabled
|
||||||
|
*
|
||||||
|
* @see elm_genlist_tree_effect_enabled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_tree_effect_enabled_set(enabled) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_TREE_EFFECT_ENABLED_SET), EO_TYPECHECK(Eina_Bool, enabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_genlist_tree_effect_enabled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get Genlist tree effect
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_genlist_tree_effect_enabled_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_genlist_tree_effect_enabled_get(ret) ELM_OBJ_GENLIST_ID(ELM_OBJ_GENLIST_SUB_ID_TREE_EFFECT_ENABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,645 @@
|
||||||
|
/**
|
||||||
|
* Add a new genlist widget to the given parent Elementary
|
||||||
|
* (container) object
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return a new genlist widget handle or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* This function inserts a new genlist widget on the canvas.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
* @see elm_genlist_clear()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_genlist_add(Evas_Object *parent);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove all items from a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
*
|
||||||
|
* This removes (and deletes) all items in @p obj, leaving it empty.
|
||||||
|
*
|
||||||
|
* @see elm_object_item_del(), to remove just one item.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_clear(Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable multi-selection in the genlist
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param multi Multi-select enable/disable. Default is disabled.
|
||||||
|
*
|
||||||
|
* This enables (@c EINA_TRUE) or disables (@c EINA_FALSE) multi-selection in
|
||||||
|
* the list. This allows more than 1 item to be selected. To retrieve the list
|
||||||
|
* of selected items, use elm_genlist_selected_items_get().
|
||||||
|
*
|
||||||
|
* @see elm_genlist_selected_items_get()
|
||||||
|
* @see elm_genlist_multi_select_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_multi_select_set(Evas_Object *obj, Eina_Bool multi);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets if multi-selection in genlist is enabled or disabled.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return Multi-select enabled/disabled
|
||||||
|
* (@c EINA_TRUE = enabled/@c EINA_FALSE = disabled). Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_multi_select_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_multi_select_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This sets the horizontal stretching mode.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param mode The mode to use (one of #ELM_LIST_SCROLL or #ELM_LIST_LIMIT).
|
||||||
|
*
|
||||||
|
* This sets the mode used for sizing items horizontally. Valid modes
|
||||||
|
* are #ELM_LIST_LIMIT, #ELM_LIST_SCROLL, and #ELM_LIST_COMPRESS. The default is
|
||||||
|
* 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
|
||||||
|
* ELM_LIST_LIMIT, items will be expanded to the viewport width and
|
||||||
|
* limited to that size. If it is 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 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 is for that all items in the genlist same
|
||||||
|
* width/height. With ELM_LIST_COMPRESS, it makes genlist items to fast
|
||||||
|
* initializing. However there's no sub-objects in genlist which can be
|
||||||
|
* on the flying resizable (such as TEXTBLOCK). If then, some dynamic
|
||||||
|
* resizable objects in genlist would not diplayed properly.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_mode_set(Evas_Object *obj, Elm_List_Mode mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the horizontal stretching mode.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The mode to use
|
||||||
|
* (#ELM_LIST_LIMIT, #ELM_LIST_SCROLL)
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_List_Mode elm_genlist_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append a new item in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param itc The item class for the item
|
||||||
|
* @param data The item data
|
||||||
|
* @param parent The parent item, or NULL if none
|
||||||
|
* @param type Item type
|
||||||
|
* @param func Convenience function called when the item is selected
|
||||||
|
* @param func_data Data passed to @p func above.
|
||||||
|
* @return A handle to the item added or @c NULL if not possible
|
||||||
|
*
|
||||||
|
* This adds the given item to the end of the list or the end of
|
||||||
|
* the children list if the @p parent is given.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_prepend()
|
||||||
|
* @see elm_genlist_item_insert_before()
|
||||||
|
* @see elm_genlist_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepend a new item in a given genlist widget.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param itc The item class for the item
|
||||||
|
* @param data The item data
|
||||||
|
* @param parent The parent item, or NULL if none
|
||||||
|
* @param type Item type
|
||||||
|
* @param func Convenience function called when the item is selected
|
||||||
|
* @param func_data Data passed to @p func above.
|
||||||
|
* @return A handle to the item added or NULL if not possible
|
||||||
|
*
|
||||||
|
* This adds an item to the beginning of the list or beginning of the
|
||||||
|
* children of the parent if given.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
* @see elm_genlist_item_insert_before()
|
||||||
|
* @see elm_genlist_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *parent, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert an item before another in a genlist widget
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param itc The item class for the item
|
||||||
|
* @param data The item data
|
||||||
|
* @param parent The parent item, or NULL if none
|
||||||
|
* @param before The item to place this new one before.
|
||||||
|
* @param type Item type
|
||||||
|
* @param func Convenience function called when the item is selected
|
||||||
|
* @param func_data Data passed to @p func above.
|
||||||
|
* @return A handle to the item added or @c NULL if not possible
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
* @see elm_genlist_item_prepend()
|
||||||
|
* @see elm_genlist_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *parent, Elm_Object_Item *before, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert an item after another in a genlist widget
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param itc The item class for the item
|
||||||
|
* @param data The item data
|
||||||
|
* @param parent The parent item, or NULL if none
|
||||||
|
* @param after The item to place this new one after.
|
||||||
|
* @param type Item type
|
||||||
|
* @param func Convenience function called when the item is selected
|
||||||
|
* @param func_data Data passed to @p func above.
|
||||||
|
* @return A handle to the item added or @c NULL if not possible
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
* @see elm_genlist_item_prepend()
|
||||||
|
* @see elm_genlist_item_insert_before()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *parent, Elm_Object_Item *after, Elm_Genlist_Item_Type type, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a new item into the sorted genlist object
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param itc The item class for the item
|
||||||
|
* @param data The item data
|
||||||
|
* @param parent The parent item, or NULL if none
|
||||||
|
* @param type Item type
|
||||||
|
* @param comp The function called for the sort
|
||||||
|
* @param func Convenience function called when item selected
|
||||||
|
* @param func_data Data passed to @p func above.
|
||||||
|
* @return A handle to the item added or NULL if not possible
|
||||||
|
*
|
||||||
|
* This inserts an item in the genlist based on user defined comparison
|
||||||
|
* function. The two arguments passed to the function @p func are genlist item
|
||||||
|
* handles to compare.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_append()
|
||||||
|
* @see elm_genlist_item_prepend()
|
||||||
|
* @see elm_genlist_item_insert_after()
|
||||||
|
* @see elm_object_item_del()
|
||||||
|
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_item_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Object_Item *parent, Elm_Genlist_Item_Type type, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
|
||||||
|
|
||||||
|
/* operations to retrieve existing items */
|
||||||
|
/**
|
||||||
|
* Get the selected item in the genlist.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The selected item, or NULL if none is selected.
|
||||||
|
*
|
||||||
|
* 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 elm_genlist_selected_items_get() for when multi-selection is
|
||||||
|
* used).
|
||||||
|
*
|
||||||
|
* If no item is selected, NULL is returned.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_selected_items_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_selected_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of selected items in the genlist.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The list of selected items, or NULL if none are selected.
|
||||||
|
*
|
||||||
|
* 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 implicitly 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
|
||||||
|
* elm_genlist_selected_item_get() instead.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_multi_select_set()
|
||||||
|
* @see elm_genlist_selected_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI const Eina_List *elm_genlist_selected_items_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of realized items in genlist
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The list of realized items, nor NULL if none are realized.
|
||||||
|
*
|
||||||
|
* 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 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_realized_items_update()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_List *elm_genlist_realized_items_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the first item in the genlist
|
||||||
|
*
|
||||||
|
* This returns the first item in the list.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The first item, or NULL if none
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_first_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the last item in the genlist
|
||||||
|
*
|
||||||
|
* This returns the last item in the list.
|
||||||
|
*
|
||||||
|
* @return The last item, or NULL if none
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_last_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the contents of all realized items.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object.
|
||||||
|
*
|
||||||
|
* 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 elm_genlist_item_update().
|
||||||
|
*
|
||||||
|
* @see elm_genlist_realized_items_get()
|
||||||
|
* @see elm_genlist_item_update()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_realized_items_update(Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return how many items are currently in a list
|
||||||
|
*
|
||||||
|
* @param obj The list
|
||||||
|
* @return The total number of list items in the list
|
||||||
|
*
|
||||||
|
* This behavior is O(1) and includes items which may or may not be realized.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI unsigned int elm_genlist_items_count(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/disable homogeneous mode.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param homogeneous Assume the items within the genlist are of the
|
||||||
|
* same height and width (EINA_TRUE = on, EINA_FALSE = off). Default is @c
|
||||||
|
* EINA_FALSE.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_mode_set()
|
||||||
|
* @see elm_genlist_homogeneous_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether the homogeneous mode is enabled.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return Assume the items within the genlist are of the same height
|
||||||
|
* and width (EINA_TRUE = on, EINA_FALSE = off)
|
||||||
|
*
|
||||||
|
* @see elm_genlist_homogeneous_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_homogeneous_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the maximum number of items within an item block
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param count Maximum number of items within an item block. Default is 32.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_block_count_get()
|
||||||
|
* @see @ref Genlist_Implementation
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_block_count_set(Evas_Object *obj, int count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the maximum number of items within an item block
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return Maximum number of items within an item block
|
||||||
|
*
|
||||||
|
* @see elm_genlist_block_count_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI int elm_genlist_block_count_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the timeout in seconds for the longpress event.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param timeout timeout in seconds. Default is elm config value(1.0)
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_longpress_timeout_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_longpress_timeout_set(Evas_Object *obj, double timeout);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the timeout in seconds for the longpress event.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return timeout in seconds
|
||||||
|
*
|
||||||
|
* @see elm_genlist_longpress_timeout_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI double elm_genlist_longpress_timeout_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the item that is at the x, y canvas coords.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object.
|
||||||
|
* @param x The input x coordinate
|
||||||
|
* @param y The input y coordinate
|
||||||
|
* @param posret The position relative to the item returned here
|
||||||
|
* @return The item at the coordinates or NULL if none
|
||||||
|
*
|
||||||
|
* 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 @p 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.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *posret);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get active genlist mode item
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The active item for that current mode. Or @c NULL if no item is
|
||||||
|
* activated with any mode.
|
||||||
|
*
|
||||||
|
* This function returns the item that was activated with a mode, by the
|
||||||
|
* function elm_genlist_item_decorate_mode_set().
|
||||||
|
*
|
||||||
|
* @see elm_genlist_item_decorate_mode_set()
|
||||||
|
* @see elm_genlist_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_genlist_decorated_item_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set reorder mode
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param reorder_mode The reorder mode
|
||||||
|
* (EINA_TRUE = on, EINA_FALSE = off)
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_reorder_mode_set(Evas_Object *obj, Eina_Bool reorder_mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reorder mode
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The reorder mode
|
||||||
|
* (EINA_TRUE = on, EINA_FALSE = off)
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_reorder_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Genlist decorate mode
|
||||||
|
*
|
||||||
|
* This sets Genlist decorate mode to all items.
|
||||||
|
*
|
||||||
|
* @param obj The Genlist object
|
||||||
|
* @param decorated The decorate mode status
|
||||||
|
* (EINA_TRUE = decorate mode, EINA_FALSE = normal mode
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_decorate_mode_set(Evas_Object *obj, Eina_Bool decorated);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Genlist decorate mode
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The decorate mode status
|
||||||
|
* (EINA_TRUE = decorate mode, EINA_FALSE = normal mode
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_decorate_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Genlist tree effect
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param enabled The tree effect status
|
||||||
|
* (EINA_TRUE = enabled, EINA_FALSE = disabled
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_tree_effect_enabled_set(Evas_Object *obj, Eina_Bool enabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Genlist tree effect
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The tree effect status
|
||||||
|
* (EINA_TRUE = enabled, EINA_FALSE = disabled
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_tree_effect_enabled_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the genlist select mode.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param mode The select mode
|
||||||
|
*
|
||||||
|
* elm_genlist_select_mode_set() changes item select mode in the genlist widget.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_DEFAULT : 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 : This means that, even if selected,
|
||||||
|
* every click will make the selected callbacks be called.
|
||||||
|
* - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
|
||||||
|
* entirely and they will neither appear selected nor call selected
|
||||||
|
* callback functions.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_select_mode_get()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_select_mode_set(Evas_Object *obj, Elm_Object_Select_Mode mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the genlist select mode.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @return The select mode
|
||||||
|
* (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||||
|
*
|
||||||
|
* @see elm_genlist_select_mode_set()
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Select_Mode elm_genlist_select_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether the genlist items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object.
|
||||||
|
* @param highlight @c EINA_TRUE to enable highlighting or @c EINA_FALSE to
|
||||||
|
* disable it.
|
||||||
|
*
|
||||||
|
* This will turn on/off the highlight effect when item selection and
|
||||||
|
* they will, or will not highlighted. The selected and clicked
|
||||||
|
* callback functions will still be called.
|
||||||
|
*
|
||||||
|
* Highlight is enabled by default.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_highlight_mode_get().
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI void elm_genlist_highlight_mode_set(Evas_Object *obj, Eina_Bool highlight);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether the genlist items' should be highlighted when item selected.
|
||||||
|
*
|
||||||
|
* @param obj The genlist object.
|
||||||
|
* @return @c EINA_TRUE means items can be highlighted. @c EINA_FALSE indicates
|
||||||
|
* they can't. If @p obj is @c NULL, @c EINA_FALSE is returned.
|
||||||
|
*
|
||||||
|
* @see elm_genlist_highlight_mode_set() for details.
|
||||||
|
*
|
||||||
|
* @ingroup Genlist
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_genlist_highlight_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the nth item, in a given genlist widget, placed at position @p nth, in
|
||||||
|
* its internal items list
|
||||||
|
*
|
||||||
|
* @param obj The genlist object
|
||||||
|
* @param nth The number of the item to grab (0 being the first)
|
||||||
|
*
|
||||||
|
* @return The item stored in @p obj at position @p nth or @c NULL, if there's
|
||||||
|
* no item with that index (and on errors)
|
||||||
|
*
|
||||||
|
* @ingroup Genilst
|
||||||
|
* @since 1.8
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *
|
||||||
|
elm_genlist_nth_item_get(const Evas_Object *obj, unsigned int nth);
|
||||||
|
|
|
@ -17,208 +17,12 @@
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ELM_OBJ_GRID_CLASS elm_obj_grid_class_get()
|
#ifdef EFL_EO_API_SUPPORT
|
||||||
|
#include <elm_grid_eo.h>
|
||||||
const Eo_Class *elm_obj_grid_class_get(void) EINA_CONST;
|
#endif
|
||||||
|
#ifndef EFL_NOLEGACY_API_SUPPORT
|
||||||
extern EAPI Eo_Op ELM_OBJ_GRID_BASE_ID;
|
#include <elm_grid_legacy.h>
|
||||||
|
#endif
|
||||||
enum
|
|
||||||
{
|
|
||||||
ELM_OBJ_GRID_SUB_ID_SIZE_SET,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_SIZE_GET,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_PACK,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_UNPACK,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_CLEAR,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_CHILDREN_GET,
|
|
||||||
ELM_OBJ_GRID_SUB_ID_LAST
|
|
||||||
};
|
|
||||||
|
|
||||||
#define ELM_OBJ_GRID_ID(sub_id) (ELM_OBJ_GRID_BASE_ID + sub_id)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_size_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Set the virtual size of the grid
|
|
||||||
*
|
|
||||||
* @param[in] w
|
|
||||||
* @param[in] h
|
|
||||||
*
|
|
||||||
* @see elm_grid_size_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_size_set(w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_SIZE_SET), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_size_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get the virtual size of the grid
|
|
||||||
*
|
|
||||||
* @param[out] w
|
|
||||||
* @param[out] h
|
|
||||||
*
|
|
||||||
* @see elm_grid_size_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_size_get(w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_SIZE_GET), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_pack
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Pack child at given position and size
|
|
||||||
*
|
|
||||||
* @param[in] subobj
|
|
||||||
* @param[in] x
|
|
||||||
* @param[in] y
|
|
||||||
* @param[in] w
|
|
||||||
* @param[in] h
|
|
||||||
*
|
|
||||||
* @see elm_grid_pack
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_pack(subobj, x, y, w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_PACK), EO_TYPECHECK(Evas_Object *, subobj), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_unpack
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Unpack a child from a grid object
|
|
||||||
*
|
|
||||||
* @param[in] subobj
|
|
||||||
*
|
|
||||||
* @see elm_grid_unpack
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_unpack(subobj) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_UNPACK), EO_TYPECHECK(Evas_Object *, subobj)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_clear
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Faster way to remove all child objects from a grid object.
|
|
||||||
*
|
|
||||||
* @param[in] clear
|
|
||||||
*
|
|
||||||
* @see elm_grid_clear
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_clear(clear) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_grid_children_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get the list of the children for the grid.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_grid_children_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_grid_children_get(ret) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_CHILDREN_GET), EO_TYPECHECK(Eina_List **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a new grid to the parent
|
|
||||||
*
|
|
||||||
* @param parent The parent object
|
|
||||||
* @return The new object or NULL if it cannot be created
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *elm_grid_add(Evas_Object *parent);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the virtual size of the grid
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
* @param w The virtual width of the grid
|
|
||||||
* @param h The virtual height of the grid
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the virtual size of the grid
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
* @param w Pointer to integer to store the virtual width of the grid
|
|
||||||
* @param h Pointer to integer to store the virtual height of the grid
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pack child at given position and size
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
* @param subobj The child to pack
|
|
||||||
* @param x The virtual x coord at which to pack it
|
|
||||||
* @param y The virtual y coord at which to pack it
|
|
||||||
* @param w The virtual width at which to pack it
|
|
||||||
* @param h The virtual height at which to pack it
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_pack(Evas_Object *obj, Evas_Object *subobj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unpack a child from a grid object
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
* @param subobj The child to unpack
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_unpack(Evas_Object *obj, Evas_Object *subobj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Faster way to remove all child objects from a grid object.
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
* @param clear If true, it will delete just removed children
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_clear(Evas_Object *obj, Eina_Bool clear);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set packing of an existing child at to position and size
|
|
||||||
*
|
|
||||||
* @param subobj The child to set packing of
|
|
||||||
* @param x The virtual x coord at which to pack it
|
|
||||||
* @param y The virtual y coord at which to pack it
|
|
||||||
* @param w The virtual width at which to pack it
|
|
||||||
* @param h The virtual height at which to pack it
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_pack_set(Evas_Object *subobj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get packing of a child
|
|
||||||
*
|
|
||||||
* @param subobj The child to query
|
|
||||||
* @param x Pointer to integer to store the virtual x coord
|
|
||||||
* @param y Pointer to integer to store the virtual y coord
|
|
||||||
* @param w Pointer to integer to store the virtual width
|
|
||||||
* @param h Pointer to integer to store the virtual height
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI void elm_grid_pack_get(Evas_Object *subobj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the list of the children for the grid.
|
|
||||||
*
|
|
||||||
* @param obj The grid object
|
|
||||||
*
|
|
||||||
* @note This is a duplicate of the list kept by the grid internally.
|
|
||||||
* It's up to the user to destroy it when it no longer needs it.
|
|
||||||
* It's possible to remove objects from the grid when walking this
|
|
||||||
* list, but these removals won't be reflected on it.
|
|
||||||
*
|
|
||||||
* @ingroup Grid
|
|
||||||
*/
|
|
||||||
EAPI Eina_List *elm_grid_children_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
#define ELM_OBJ_GRID_CLASS elm_obj_grid_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_grid_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
extern EAPI Eo_Op ELM_OBJ_GRID_BASE_ID;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ELM_OBJ_GRID_SUB_ID_SIZE_SET,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_SIZE_GET,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_PACK,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_UNPACK,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_CLEAR,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_CHILDREN_GET,
|
||||||
|
ELM_OBJ_GRID_SUB_ID_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ELM_OBJ_GRID_ID(sub_id) (ELM_OBJ_GRID_BASE_ID + sub_id)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_size_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the virtual size of the grid
|
||||||
|
*
|
||||||
|
* @param[in] w
|
||||||
|
* @param[in] h
|
||||||
|
*
|
||||||
|
* @see elm_grid_size_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_size_set(w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_SIZE_SET), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_size_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the virtual size of the grid
|
||||||
|
*
|
||||||
|
* @param[out] w
|
||||||
|
* @param[out] h
|
||||||
|
*
|
||||||
|
* @see elm_grid_size_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_size_get(w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_SIZE_GET), EO_TYPECHECK(Evas_Coord *, w), EO_TYPECHECK(Evas_Coord *, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_pack
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Pack child at given position and size
|
||||||
|
*
|
||||||
|
* @param[in] subobj
|
||||||
|
* @param[in] x
|
||||||
|
* @param[in] y
|
||||||
|
* @param[in] w
|
||||||
|
* @param[in] h
|
||||||
|
*
|
||||||
|
* @see elm_grid_pack
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_pack(subobj, x, y, w, h) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_PACK), EO_TYPECHECK(Evas_Object *, subobj), EO_TYPECHECK(Evas_Coord, x), EO_TYPECHECK(Evas_Coord, y), EO_TYPECHECK(Evas_Coord, w), EO_TYPECHECK(Evas_Coord, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_unpack
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Unpack a child from a grid object
|
||||||
|
*
|
||||||
|
* @param[in] subobj
|
||||||
|
*
|
||||||
|
* @see elm_grid_unpack
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_unpack(subobj) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_UNPACK), EO_TYPECHECK(Evas_Object *, subobj)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_clear
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Faster way to remove all child objects from a grid object.
|
||||||
|
*
|
||||||
|
* @param[in] clear
|
||||||
|
*
|
||||||
|
* @see elm_grid_clear
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_clear(clear) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_CLEAR), EO_TYPECHECK(Eina_Bool, clear)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_grid_children_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the list of the children for the grid.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_grid_children_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_grid_children_get(ret) ELM_OBJ_GRID_ID(ELM_OBJ_GRID_SUB_ID_CHILDREN_GET), EO_TYPECHECK(Eina_List **, ret)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
/**
|
||||||
|
* Add a new grid to the parent
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return The new object or NULL if it cannot be created
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_grid_add(Evas_Object *parent);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the virtual size of the grid
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
* @param w The virtual width of the grid
|
||||||
|
* @param h The virtual height of the grid
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the virtual size of the grid
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
* @param w Pointer to integer to store the virtual width of the grid
|
||||||
|
* @param h Pointer to integer to store the virtual height of the grid
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pack child at given position and size
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
* @param subobj The child to pack
|
||||||
|
* @param x The virtual x coord at which to pack it
|
||||||
|
* @param y The virtual y coord at which to pack it
|
||||||
|
* @param w The virtual width at which to pack it
|
||||||
|
* @param h The virtual height at which to pack it
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_pack(Evas_Object *obj, Evas_Object *subobj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unpack a child from a grid object
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
* @param subobj The child to unpack
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_unpack(Evas_Object *obj, Evas_Object *subobj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Faster way to remove all child objects from a grid object.
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
* @param clear If true, it will delete just removed children
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_clear(Evas_Object *obj, Eina_Bool clear);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set packing of an existing child at to position and size
|
||||||
|
*
|
||||||
|
* @param subobj The child to set packing of
|
||||||
|
* @param x The virtual x coord at which to pack it
|
||||||
|
* @param y The virtual y coord at which to pack it
|
||||||
|
* @param w The virtual width at which to pack it
|
||||||
|
* @param h The virtual height at which to pack it
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_pack_set(Evas_Object *subobj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get packing of a child
|
||||||
|
*
|
||||||
|
* @param subobj The child to query
|
||||||
|
* @param x Pointer to integer to store the virtual x coord
|
||||||
|
* @param y Pointer to integer to store the virtual y coord
|
||||||
|
* @param w Pointer to integer to store the virtual width
|
||||||
|
* @param h Pointer to integer to store the virtual height
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI void elm_grid_pack_get(Evas_Object *subobj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of the children for the grid.
|
||||||
|
*
|
||||||
|
* @param obj The grid object
|
||||||
|
*
|
||||||
|
* @note This is a duplicate of the list kept by the grid internally.
|
||||||
|
* It's up to the user to destroy it when it no longer needs it.
|
||||||
|
* It's possible to remove objects from the grid when walking this
|
||||||
|
* list, but these removals won't be reflected on it.
|
||||||
|
*
|
||||||
|
* @ingroup Grid
|
||||||
|
*/
|
||||||
|
EAPI Eina_List *elm_grid_children_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,22 @@
|
||||||
|
/**
|
||||||
|
* Possible orientation options for elm_image_orient_set().
|
||||||
|
*
|
||||||
|
* @image html elm_image_orient_set.png
|
||||||
|
* @image latex elm_image_orient_set.eps width=\textwidth
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
ELM_IMAGE_ORIENT_NONE = 0, /**< no orientation change */
|
||||||
|
ELM_IMAGE_ORIENT_0 = 0, /**< no orientation change */
|
||||||
|
ELM_IMAGE_ROTATE_90 = 1, /**< rotate 90 degrees clockwise */
|
||||||
|
ELM_IMAGE_ROTATE_180 = 2, /**< rotate 180 degrees clockwise */
|
||||||
|
ELM_IMAGE_ROTATE_270 = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
|
||||||
|
ELM_IMAGE_FLIP_HORIZONTAL = 4, /**< flip image horizontally */
|
||||||
|
ELM_IMAGE_FLIP_VERTICAL = 5, /**< flip image vertically */
|
||||||
|
ELM_IMAGE_FLIP_TRANSPOSE = 6, /**< flip the image along the y = (width - x) line (bottom-left to top-right) */
|
||||||
|
ELM_IMAGE_FLIP_TRANSVERSE = 7 /**< flip the image along the y = x line (top-left to bottom-right) */
|
||||||
|
} Elm_Image_Orient;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,544 @@
|
||||||
|
#define ELM_OBJ_IMAGE_CLASS elm_obj_image_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_image_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
extern EAPI Eo_Op ELM_OBJ_IMAGE_BASE_ID;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ASPECT_FIXED_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ASPECT_FIXED_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_EDITABLE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_EDITABLE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SIZING_EVAL,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SCALE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SCALE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILL_INSIDE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILL_INSIDE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILL_OUTSIDE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_FILL_OUTSIDE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_OBJECT_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_MEMFILE_SET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ORIENT_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ORIENT_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_PRELOAD_DISABLED_SET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZE_DOWN_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZE_DOWN_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZE_UP_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZE_UP_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SCALE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SCALE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_OBJECT_SIZE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_SMOOTH_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_NO_SCALE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_NO_SCALE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZABLE_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_RESIZABLE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ANIMATED_AVAILABLE_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ANIMATED_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ANIMATED_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ANIMATED_PLAY_SET,
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_ANIMATED_PLAY_GET,
|
||||||
|
|
||||||
|
ELM_OBJ_IMAGE_SUB_ID_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ELM_OBJ_IMAGE_ID(sub_id) (ELM_OBJ_IMAGE_BASE_ID + sub_id)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_memfile_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set a location in memory to be used as an image object's source
|
||||||
|
*
|
||||||
|
* @param[in] img
|
||||||
|
* @param[in] size
|
||||||
|
* @param[in] format
|
||||||
|
* @param[in] key
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_memfile_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_memfile_set(img, size, format, key, ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_MEMFILE_SET), EO_TYPECHECK(const void *, img), EO_TYPECHECK(size_t, size), EO_TYPECHECK(const char *, format), EO_TYPECHECK(const char *, key), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_file_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the file that will be used as the image's source.
|
||||||
|
*
|
||||||
|
* @param[in] file
|
||||||
|
* @param[in] group
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_file_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_file_set(file, group, ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILE_SET), EO_TYPECHECK(const char *, file), EO_TYPECHECK(const char *, group), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_file_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the file that will be used as image.
|
||||||
|
*
|
||||||
|
* @param[out] file
|
||||||
|
* @param[out] group
|
||||||
|
*
|
||||||
|
* @see elm_image_file_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_file_get(file, group) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILE_GET), EO_TYPECHECK(const char **, file), EO_TYPECHECK(const char **, group)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_smooth_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the smooth effect for an image.
|
||||||
|
*
|
||||||
|
* @param[in] smooth
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_smooth_set(smooth) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SET), EO_TYPECHECK(Eina_Bool, smooth)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_smooth_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the smooth effect for an image.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_smooth_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SMOOTH_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_size_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] w
|
||||||
|
* @param[out] h
|
||||||
|
*
|
||||||
|
* @see elm_image_size_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_size_get(w, h) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_OBJECT_SIZE_GET), EO_TYPECHECK(int *, w), EO_TYPECHECK(int *, h)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_no_scale_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Disable scaling of this object.
|
||||||
|
*
|
||||||
|
* @param[in] no_scale
|
||||||
|
*
|
||||||
|
* @see elm_image_no_scale_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_no_scale_set(no_scale) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_NO_SCALE_SET), EO_TYPECHECK(Eina_Bool, no_scale)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_no_scale_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether scaling is disabled on the object.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_no_scale_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_no_scale_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_NO_SCALE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resizable_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set if the object is (up/down) resizable.
|
||||||
|
*
|
||||||
|
* @param[in] up
|
||||||
|
* @param[in] down
|
||||||
|
*
|
||||||
|
* @see elm_image_resizable_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resizable_set(up, down) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZABLE_SET), EO_TYPECHECK(Eina_Bool, up), EO_TYPECHECK(Eina_Bool, down)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resizable_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get if the object is (up/down) resizable.
|
||||||
|
*
|
||||||
|
* @param[out] size_up
|
||||||
|
* @param[out] size_down
|
||||||
|
*
|
||||||
|
* @see elm_image_resizable_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resizable_get(size_up, size_down) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZABLE_GET), EO_TYPECHECK(Eina_Bool *, size_up), EO_TYPECHECK(Eina_Bool *, size_down)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_fill_outside_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set if the image fills the entire object area, when keeping the aspect ratio.
|
||||||
|
*
|
||||||
|
* @param[in] fill_outside
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_outside_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_fill_outside_set(fill_outside) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILL_OUTSIDE_SET), EO_TYPECHECK(Eina_Bool, fill_outside)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_fill_outside_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get if the object is filled outside
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_outside_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_fill_outside_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILL_OUTSIDE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_preload_disabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable preloading of the image
|
||||||
|
*
|
||||||
|
* @param[in] disabled
|
||||||
|
*
|
||||||
|
* @see elm_image_preload_disabled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_preload_disabled_set(disabled) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_PRELOAD_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_orient_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the image orientation.
|
||||||
|
*
|
||||||
|
* @param[in] orient
|
||||||
|
*
|
||||||
|
* @see elm_image_orient_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_orient_set(orient) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ORIENT_SET), EO_TYPECHECK(Elm_Image_Orient, orient)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_orient_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the image orientation.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_orient_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_orient_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ORIENT_GET), EO_TYPECHECK(Elm_Image_Orient *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_editable_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Make the image 'editable'.
|
||||||
|
*
|
||||||
|
* @param[in] set
|
||||||
|
* @param[in] parent
|
||||||
|
*
|
||||||
|
* @see elm_image_editable_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_editable_set(set, parent) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_EDITABLE_SET), EO_TYPECHECK(Eina_Bool, set), EO_TYPECHECK(Evas_Object *, parent)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_editable_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Check if the image is 'editable'.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_editable_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_editable_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_EDITABLE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_object_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the inlined image object of the image widget.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_object_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_object_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_OBJECT_GET), EO_TYPECHECK(Evas_Object **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_aspect_fixed_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set whether the original aspect ratio of the image should be kept on resize.
|
||||||
|
*
|
||||||
|
* @param[in] fixed
|
||||||
|
*
|
||||||
|
* @see elm_image_aspect_fixed_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_aspect_fixed_set(fixed) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ASPECT_FIXED_SET), EO_TYPECHECK(Eina_Bool, fixed)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_aspect_fixed_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get if the object retains the original aspect ratio.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_aspect_fixed_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_aspect_fixed_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ASPECT_FIXED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_animated_available_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether an image object supports animation or not.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_available_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_animated_available_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ANIMATED_AVAILABLE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_animated_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set whether an image object (which supports animation) is to
|
||||||
|
*
|
||||||
|
* @param[in] anim
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_animated_set(anim) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ANIMATED_SET), EO_TYPECHECK(Eina_Bool, anim)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_animated_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether an image object has animation enabled or not.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_animated_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ANIMATED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_animated_play_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Start or stop an image object's animation.
|
||||||
|
*
|
||||||
|
* @param[in] play
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_play_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_animated_play_set(play) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ANIMATED_PLAY_SET), EO_TYPECHECK(Eina_Bool, play)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_animated_play_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether an image object is under animation or not.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_play_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_animated_play_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_ANIMATED_PLAY_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_sizing_eval
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_sizing_eval() ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SIZING_EVAL)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_smooth_scale_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] smooth
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_scale_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_smooth_scale_set(smooth) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SCALE_SET), EO_TYPECHECK(Eina_Bool, smooth)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_smooth_scale_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_scale_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_smooth_scale_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SMOOTH_SCALE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_fill_inside_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] fill_inside
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_inside_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_fill_inside_set(fill_inside) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILL_INSIDE_SET), EO_TYPECHECK(Eina_Bool, fill_inside)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_fill_inside_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_inside_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_fill_inside_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_FILL_INSIDE_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_load_size_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] size
|
||||||
|
*
|
||||||
|
* @see elm_image_load_size_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_load_size_set(size) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_SET), EO_TYPECHECK(int, size)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_load_size_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_load_size_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_load_size_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_LOAD_SIZE_GET), EO_TYPECHECK(int *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resize_down_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] resize_down
|
||||||
|
*
|
||||||
|
* @see elm_image_resize_down_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resize_down_set(resize_down) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZE_DOWN_SET), EO_TYPECHECK(Eina_Bool, resize_down)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resize_down_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_resize_down_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resize_down_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZE_DOWN_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resize_up_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] resize_up
|
||||||
|
*
|
||||||
|
* @see elm_image_resize_up_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resize_up_set(resize_up) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZE_UP_SET), EO_TYPECHECK(Eina_Bool, resize_up)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_resize_up_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_resize_up_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_resize_up_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_RESIZE_UP_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_scale_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[in] scale
|
||||||
|
*
|
||||||
|
* @see elm_image_scale_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_scale_set(scale) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SCALE_SET), EO_TYPECHECK(double, scale)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_image_scale_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_image_scale_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_image_scale_get(ret) ELM_OBJ_IMAGE_ID(ELM_OBJ_IMAGE_SUB_ID_SCALE_GET), EO_TYPECHECK(double *, ret)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,468 @@
|
||||||
|
/**
|
||||||
|
* Add a new image to the parent.
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return The new object or NULL if it cannot be created
|
||||||
|
*
|
||||||
|
* @see elm_image_file_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_image_add(Evas_Object *parent);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a location in memory to be used as an image object's source
|
||||||
|
* bitmap.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param img The binary data that will be used as image source
|
||||||
|
* @param size The size of binary data blob @p img
|
||||||
|
* @param format (Optional) expected format of @p img bytes
|
||||||
|
* @param key Optional indexing key of @p img to be passed to the
|
||||||
|
* image loader (eg. if @p img is a memory-mapped EET file)
|
||||||
|
*
|
||||||
|
* This function is handy when the contents of an image file are
|
||||||
|
* mapped in memory, for example.
|
||||||
|
*
|
||||||
|
* The @p format string should be something like @c "png", @c "jpg",
|
||||||
|
* @c "tga", @c "tiff", @c "bmp" etc, when provided (@c NULL, on the
|
||||||
|
* contrary). This improves the loader performance as it tries the
|
||||||
|
* "correct" loader first, before trying a range of other possible
|
||||||
|
* loaders until one succeeds.
|
||||||
|
*
|
||||||
|
* @return (@c EINA_TRUE = success, @c EINA_FALSE = error)
|
||||||
|
*
|
||||||
|
* @since 1.7
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_memfile_set(Evas_Object *obj, const void *img, size_t size, const char *format, const char *key);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the file that will be used as the image's source.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param file The path to file that will be used as image source
|
||||||
|
* @param group The group that the image belongs to, in case it's an
|
||||||
|
* EET (including Edje case) file
|
||||||
|
*
|
||||||
|
* @return (@c EINA_TRUE = success, @c EINA_FALSE = error)
|
||||||
|
*
|
||||||
|
* @see elm_image_file_get()
|
||||||
|
*
|
||||||
|
* @note This function will trigger the Edje file case based on the
|
||||||
|
* extension of the @a file string (expects @c ".edj", for this
|
||||||
|
* case). If one wants to force this type of file independently of the
|
||||||
|
* extension, elm_image_file_edje_set() must be used, instead.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_file_set(Evas_Object *obj, const char *file, const char *group);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the file that will be used as image.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param file The path to file
|
||||||
|
* @param group The group that the image belongs in edje file
|
||||||
|
*
|
||||||
|
* @see elm_image_file_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_file_get(const Evas_Object *obj, const char **file, const char **group);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the smooth effect for an image.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param smooth @c EINA_TRUE if smooth scaling should be used, @c EINA_FALSE
|
||||||
|
* otherwise. Default is @c EINA_TRUE.
|
||||||
|
*
|
||||||
|
* Set the scaling algorithm to be used when scaling the image. Smooth
|
||||||
|
* scaling provides a better resulting image, but is slower.
|
||||||
|
*
|
||||||
|
* The smooth scaling should be disabled when making animations that change
|
||||||
|
* the image size, since it will be faster. Animations that don't require
|
||||||
|
* resizing of the image can keep the smooth scaling enabled (even if the
|
||||||
|
* image is already scaled, since the scaled image will be cached).
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_get()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the smooth effect for an image.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return @c EINA_TRUE if smooth scaling is enabled, @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* @see elm_image_smooth_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_smooth_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current size of the image.
|
||||||
|
*
|
||||||
|
* @param obj The image object.
|
||||||
|
* @param w Pointer to store width, or NULL.
|
||||||
|
* @param h Pointer to store height, or NULL.
|
||||||
|
*
|
||||||
|
* This is the real size of the image, not the size of the object.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_object_size_get(const Evas_Object *obj, int *w, int *h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable scaling of this object.
|
||||||
|
*
|
||||||
|
* @param obj The image object.
|
||||||
|
* @param no_scale @c EINA_TRUE if the object is not scalable, @c EINA_FALSE
|
||||||
|
* otherwise. Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* This function disables scaling of the elm_image widget through the
|
||||||
|
* function elm_object_scale_set(). However, this does not affect the widget
|
||||||
|
* size/resize in any way. For that effect, take a look at
|
||||||
|
* elm_image_resizable_set().
|
||||||
|
*
|
||||||
|
* @see elm_image_no_scale_get()
|
||||||
|
* @see elm_image_resizable_set()
|
||||||
|
* @see elm_object_scale_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_no_scale_set(Evas_Object *obj, Eina_Bool no_scale);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether scaling is disabled on the object.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return @c EINA_TRUE if scaling is disabled, @c EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* @see elm_image_no_scale_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_no_scale_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set if the object is (up/down) resizable.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param size_up A bool to set if the object is resizable up. Default is
|
||||||
|
* @c EINA_TRUE.
|
||||||
|
* @param size_down A bool to set if the object is resizable down. Default
|
||||||
|
* is @c EINA_TRUE.
|
||||||
|
*
|
||||||
|
* This function limits the image resize ability. If @p size_up is set to
|
||||||
|
* @c EINA_FALSE, the object can't have its height or width resized to a value
|
||||||
|
* higher than the original image size. Same is valid for @p size_down.
|
||||||
|
*
|
||||||
|
* @see elm_image_resizable_get()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_resizable_set(Evas_Object *obj, Eina_Bool size_up, Eina_Bool size_down);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the object is (up/down) resizable.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param size_up A bool to set if the object is resizable up
|
||||||
|
* @param size_down A bool to set if the object is resizable down
|
||||||
|
*
|
||||||
|
* @see elm_image_resizable_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_resizable_get(const Evas_Object *obj, Eina_Bool *size_up, Eina_Bool *size_down);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set if the image fills the entire object area, when keeping the aspect ratio.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param fill_outside @c EINA_TRUE if the object is filled outside,
|
||||||
|
* @c EINA_FALSE otherwise. Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* When the image should keep its aspect ratio even if resized to another
|
||||||
|
* aspect ratio, there are two possibilities to resize it: keep the entire
|
||||||
|
* image inside the limits of height and width of the object (@p fill_outside
|
||||||
|
* is @c EINA_FALSE) or let the extra width or height go outside of the object,
|
||||||
|
* and the image will fill the entire object (@p fill_outside is @c EINA_TRUE).
|
||||||
|
*
|
||||||
|
* @note This option will have no effect if
|
||||||
|
* elm_image_aspect_fixed_set() is set to @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_outside_get()
|
||||||
|
* @see elm_image_aspect_fixed_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the object is filled outside
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return @c EINA_TRUE if the object is filled outside, @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* @see elm_image_fill_outside_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_fill_outside_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable preloading of the image
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param disabled If EINA_TRUE, preloading will be disabled
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_preload_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the prescale size for the image
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param size The prescale size. This value is used for both width and
|
||||||
|
* height.
|
||||||
|
*
|
||||||
|
* This function sets a new size for pixmap representation of the given
|
||||||
|
* image. It allows the image to be loaded already in the specified size,
|
||||||
|
* reducing the memory usage and load time when loading a big image with load
|
||||||
|
* size set to a smaller size.
|
||||||
|
*
|
||||||
|
* It's equivalent to the elm_bg_load_size_set() function for bg.
|
||||||
|
*
|
||||||
|
* @note this is just a hint, the real size of the pixmap may differ
|
||||||
|
* depending on the type of image being loaded, being bigger than requested.
|
||||||
|
*
|
||||||
|
* @see elm_image_prescale_get()
|
||||||
|
* @see elm_bg_load_size_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_prescale_set(Evas_Object *obj, int size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the prescale size for the image
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return The prescale size
|
||||||
|
*
|
||||||
|
* @see elm_image_prescale_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI int elm_image_prescale_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the image orientation.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param orient The image orientation @ref Elm_Image_Orient
|
||||||
|
* Default is #ELM_IMAGE_ORIENT_NONE.
|
||||||
|
*
|
||||||
|
* This function allows to rotate or flip the given image.
|
||||||
|
*
|
||||||
|
* @see elm_image_orient_get()
|
||||||
|
* @see @ref Elm_Image_Orient
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient orient);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the image orientation.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return The image orientation @ref Elm_Image_Orient
|
||||||
|
*
|
||||||
|
* @see elm_image_orient_set()
|
||||||
|
* @see @ref Elm_Image_Orient
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Elm_Image_Orient elm_image_orient_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make the image 'editable'.
|
||||||
|
*
|
||||||
|
* @param obj Image object.
|
||||||
|
* @param set Turn on or off editability. Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* This means the image is a valid drag target for drag and drop, and can be
|
||||||
|
* cut or pasted too.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_editable_set(Evas_Object *obj, Eina_Bool set);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the image is 'editable'.
|
||||||
|
*
|
||||||
|
* @param obj Image object.
|
||||||
|
* @return Editability.
|
||||||
|
*
|
||||||
|
* A return value of EINA_TRUE means the image is a valid drag target
|
||||||
|
* for drag and drop, and can be cut or pasted too.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_editable_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the inlined image object of the image widget.
|
||||||
|
*
|
||||||
|
* @param obj The image object to get the inlined image from
|
||||||
|
* @return The inlined image object, or NULL if none exists
|
||||||
|
*
|
||||||
|
* This function allows one to get the underlying @c Evas_Object of type
|
||||||
|
* Image from this elementary widget. It can be useful to do things like get
|
||||||
|
* the pixel data, save the image to a file, etc.
|
||||||
|
*
|
||||||
|
* @note Be careful to not manipulate it, as it is under control of
|
||||||
|
* elementary.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_image_object_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether the original aspect ratio of the image should be kept on resize.
|
||||||
|
*
|
||||||
|
* @param obj The image object.
|
||||||
|
* @param fixed @c EINA_TRUE if the image should retain the aspect,
|
||||||
|
* @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* The original aspect ratio (width / height) of the image is usually
|
||||||
|
* distorted to match the object's size. Enabling this option will retain
|
||||||
|
* this original aspect, and the way that the image is fit into the object's
|
||||||
|
* area depends on the option set by elm_image_fill_outside_set().
|
||||||
|
*
|
||||||
|
* @see elm_image_aspect_fixed_get()
|
||||||
|
* @see elm_image_fill_outside_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get if the object retains the original aspect ratio.
|
||||||
|
*
|
||||||
|
* @param obj The image object.
|
||||||
|
* @return @c EINA_TRUE if the object keeps the original aspect, @c EINA_FALSE
|
||||||
|
* otherwise.
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_aspect_fixed_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether an image object supports animation or not.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return @c EINA_TRUE if the image supports animation,
|
||||||
|
* @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* This function returns if this Elementary image object's internal
|
||||||
|
* image can be animated. Currently Evas only supports GIF
|
||||||
|
* animation. If the return value is @b EINA_FALSE, other
|
||||||
|
* @c elm_image_animated_xxx API calls won't work.
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
* @since 1.7
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_animated_available_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether an image object (which supports animation) is to
|
||||||
|
* animate itself or not.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
|
||||||
|
* @param animated @c EINA_TRUE if the object is to animate itself,
|
||||||
|
* @c EINA_FALSE otherwise. Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* An image object, even if it supports animation, will be displayed
|
||||||
|
* by default without animation. Call this function with @a animated
|
||||||
|
* set to @c EINA_TRUE to enable its animation. To start or stop the
|
||||||
|
* animation, actually, use elm_image_animated_play_set().
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_get()
|
||||||
|
* @see elm_image_animated_available_get()
|
||||||
|
* @see elm_image_animated_play_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
* @since 1.7
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_animated_set(Evas_Object *obj, Eina_Bool animated);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether an image object has animation enabled or not.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
*
|
||||||
|
* @return @c EINA_TRUE if the image has animation enabled,
|
||||||
|
* @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_set()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
* @since 1.7
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_animated_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start or stop an image object's animation.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @param play @c EINA_TRUE to start the animation, @c EINA_FALSE
|
||||||
|
* otherwise. Default is @c EINA_FALSE.
|
||||||
|
*
|
||||||
|
* To actually start playing any image object's animation, if it
|
||||||
|
* supports it, one must do something like:
|
||||||
|
*
|
||||||
|
* @code
|
||||||
|
* if (elm_image_animated_available_get(img))
|
||||||
|
* {
|
||||||
|
* elm_image_animated_set(img, EINA_TRUE);
|
||||||
|
* elm_image_animated_play_set(img, EINA_TRUE);
|
||||||
|
* }
|
||||||
|
* @endcode
|
||||||
|
*
|
||||||
|
* elm_image_animated_set() will enable animation on the image, <b>but
|
||||||
|
* not start it yet</b>. This is the function one uses to start and
|
||||||
|
* stop animations on image objects.
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_available_get()
|
||||||
|
* @see elm_image_animated_set()
|
||||||
|
* @see elm_image_animated_play_get()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
* @since 1.7
|
||||||
|
*/
|
||||||
|
EAPI void elm_image_animated_play_set(Evas_Object *obj, Eina_Bool play);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether an image object is under animation or not.
|
||||||
|
*
|
||||||
|
* @param obj The image object
|
||||||
|
* @return @c EINA_TRUE, if the image is being animated, @c EINA_FALSE
|
||||||
|
* otherwise.
|
||||||
|
*
|
||||||
|
* @see elm_image_animated_play_get()
|
||||||
|
*
|
||||||
|
* @ingroup Image
|
||||||
|
* @since 1.7
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_image_animated_play_get(const Evas_Object *obj);
|
||||||
|
|
|
@ -52,695 +52,18 @@
|
||||||
* @li @ref index_example_02
|
* @li @ref index_example_02
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ELM_OBJ_INDEX_CLASS elm_obj_index_class_get()
|
|
||||||
|
|
||||||
const Eo_Class *elm_obj_index_class_get(void) EINA_CONST;
|
|
||||||
|
|
||||||
extern EAPI Eo_Op ELM_OBJ_INDEX_BASE_ID;
|
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_FIND,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_LEVEL_GO,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET,
|
|
||||||
ELM_OBJ_INDEX_SUB_ID_LAST
|
|
||||||
};
|
|
||||||
|
|
||||||
#define ELM_OBJ_INDEX_ID(sub_id) (ELM_OBJ_INDEX_BASE_ID + sub_id)
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_autohide_disabled_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Enable or disable auto hiding feature for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] disabled
|
|
||||||
*
|
|
||||||
* @see elm_index_autohide_disabled_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_autohide_disabled_set(disabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_autohide_disabled_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get whether auto hiding feature is enabled or not for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_autohide_disabled_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_autohide_disabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_level_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Set the items level for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] level
|
|
||||||
*
|
|
||||||
* @see elm_index_item_level_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_level_set(level) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET), EO_TYPECHECK(int, level)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_level_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get the items level set for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_level_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_level_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET), EO_TYPECHECK(int *, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_selected_item_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Returns the last selected item, for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] level
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_selected_item_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_selected_item_get(level, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET), EO_TYPECHECK(int, level), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_append
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Append a new item on a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] letter
|
|
||||||
* @param[in] func
|
|
||||||
* @param[in] data
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_append
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_append(letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_prepend
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Prepend a new item on a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] letter
|
|
||||||
* @param[in] func
|
|
||||||
* @param[in] data
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_prepend
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_prepend(letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_insert_after
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Insert a new item into the index object after item after.
|
|
||||||
*
|
|
||||||
* @param[in] after
|
|
||||||
* @param[in] letter
|
|
||||||
* @param[in] func
|
|
||||||
* @param[in] data
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_insert_after
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_insert_after(after, letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER), EO_TYPECHECK(Elm_Object_Item *, after), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_insert_before
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Insert a new item into the index object before item before.
|
|
||||||
*
|
|
||||||
* @param[in] before
|
|
||||||
* @param[in] letter
|
|
||||||
* @param[in] func
|
|
||||||
* @param[in] data
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_insert_before
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_insert_before(before, letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE), EO_TYPECHECK(Elm_Object_Item *, before), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_sorted_insert
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Insert a new item into the given index widget, using cmp_func
|
|
||||||
*
|
|
||||||
* @param[in] letter
|
|
||||||
* @param[in] func
|
|
||||||
* @param[in] data
|
|
||||||
* @param[in] cmp_func
|
|
||||||
* @param[in] cmp_data_func
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_sorted_insert
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_sorted_insert(letter, func, data, cmp_func, cmp_data_func, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Eina_Compare_Cb, cmp_func), EO_TYPECHECK(Eina_Compare_Cb, cmp_data_func), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_find
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Find a given index widget's item, <b>using item data</b>.
|
|
||||||
*
|
|
||||||
* @param[in] data
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_item_find
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_find(data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_FIND), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_item_clear
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Removes all items from a given index widget.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @see elm_index_item_clear
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_item_clear() ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_level_go
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Go to a given items level on a index widget
|
|
||||||
*
|
|
||||||
* @param[in] level
|
|
||||||
*
|
|
||||||
* @see elm_index_level_go
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_level_go(level) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_LEVEL_GO), EO_TYPECHECK(int, level)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_indicator_disabled_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Set the indicator as to be disabled.
|
|
||||||
*
|
|
||||||
* @param[in] disabled
|
|
||||||
*
|
|
||||||
* @see elm_index_indicator_disabled_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_indicator_disabled_set(disabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_indicator_disabled_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get the value of indicator's disabled status.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_indicator_disabled_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_indicator_disabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_horizontal_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Enable or disable horizontal mode on the index object
|
|
||||||
*
|
|
||||||
* @param[in] horizontal
|
|
||||||
*
|
|
||||||
* @see elm_index_horizontal_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_horizontal_set(horizontal) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET), EO_TYPECHECK(Eina_Bool, horizontal)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_horizontal_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get a value whether horizontal mode is enabled or not.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_horizontal_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_horizontal_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_delay_change_time_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Change index delay change time.
|
|
||||||
*
|
|
||||||
* @param[in] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_delay_change_time_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_delay_change_time_set(dtime) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET), EO_TYPECHECK(double, dtime)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_delay_change_time_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get index delay change time.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_delay_change_time_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_delay_change_time_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET), EO_TYPECHECK(double *, ret)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_omit_enabled_set
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Enable or disable omit feature for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[in] enabled
|
|
||||||
*
|
|
||||||
* @see elm_index_omit_enabled_set
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_omit_enabled_set(enabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET), EO_TYPECHECK(Eina_Bool, enabled)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @def elm_obj_index_omit_enabled_get
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* Get whether omit feature is enabled or not for a given index widget.
|
|
||||||
*
|
|
||||||
* @param[out] ret
|
|
||||||
*
|
|
||||||
* @see elm_index_omit_enabled_get
|
|
||||||
*/
|
|
||||||
#define elm_obj_index_omit_enabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @addtogroup Index
|
* @addtogroup Index
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
#include <elm_index_common.h>
|
||||||
* Add a new index widget to the given parent Elementary
|
#ifdef EFL_EO_API_SUPPORT
|
||||||
* (container) object
|
#include <elm_index_eo.h>
|
||||||
*
|
#endif
|
||||||
* @param parent The parent object
|
#ifndef EFL_NOLEGACY_API_SUPPORT
|
||||||
* @return a new index widget handle or @c NULL, on errors
|
#include <elm_index_legacy.h>
|
||||||
*
|
#endif
|
||||||
* This function inserts a new index widget on the canvas.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Evas_Object *elm_index_add(Evas_Object *parent);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable or disable auto hiding feature for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @param disabled @c EINA_TRUE to disable auto hiding, @c EINA_FALSE to enable
|
|
||||||
*
|
|
||||||
* @see elm_index_autohide_disabled_get()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_autohide_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get whether auto hiding feature is enabled or not for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @return @c EINA_TRUE, if auto hiding is disabled, @c EINA_FALSE otherwise
|
|
||||||
*
|
|
||||||
* @see elm_index_autohide_disabled_set() for more details
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool elm_index_autohide_disabled_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the items level for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param level @c 0 or @c 1, the currently implemented levels.
|
|
||||||
*
|
|
||||||
* @see elm_index_item_level_get()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_item_level_set(Evas_Object *obj, int level);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the items level set for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @return @c 0 or @c 1, which are the levels @p obj might be at.
|
|
||||||
*
|
|
||||||
* @see elm_index_item_level_set() for more information
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI int elm_index_item_level_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the selected state of an item.
|
|
||||||
*
|
|
||||||
* @param it The index item
|
|
||||||
* @param selected The selected state
|
|
||||||
*
|
|
||||||
* This sets the selected state of the given item @p it.
|
|
||||||
* @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
|
|
||||||
*
|
|
||||||
* If a new item is selected the previously selected will be unselected.
|
|
||||||
* Previously selected item can be get with function
|
|
||||||
* elm_index_selected_item_get().
|
|
||||||
*
|
|
||||||
* Selected items will be highlighted.
|
|
||||||
*
|
|
||||||
* @see elm_index_selected_item_get()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the last selected item, for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param level @c 0 or @c 1, the currently implemented levels.
|
|
||||||
* @return The last item @b selected on @p obj (or @c NULL, on errors).
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_selected_item_get(const Evas_Object *obj, int level);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Append a new item on a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param letter Letter under which the item should be indexed
|
|
||||||
* @param func The function to call when the item is selected.
|
|
||||||
* @param data The item data to set for the index's item
|
|
||||||
* @return A handle to the item added or @c NULL, on errors
|
|
||||||
*
|
|
||||||
* Despite the most common usage of the @p letter argument is for
|
|
||||||
* single char strings, one could use arbitrary strings as index
|
|
||||||
* entries.
|
|
||||||
*
|
|
||||||
* @c item will be the pointer returned back on @c "changed", @c
|
|
||||||
* "delay,changed" and @c "selected" smart events.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_append(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prepend a new item on a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param letter Letter under which the item should be indexed
|
|
||||||
* @param func The function to call when the item is selected.
|
|
||||||
* @param data The item data to set for the index's item
|
|
||||||
* @return A handle to the item added or @c NULL, on errors
|
|
||||||
*
|
|
||||||
* Despite the most common usage of the @p letter argument is for
|
|
||||||
* single char strings, one could use arbitrary strings as index
|
|
||||||
* entries.
|
|
||||||
*
|
|
||||||
* @c item will be the pointer returned back on @c "changed", @c
|
|
||||||
* "delay,changed" and @c "selected" smart events.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_prepend(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Insert a new item into the index object after item @p after.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param after The index item to insert after.
|
|
||||||
* @param letter Letter under which the item should be indexed
|
|
||||||
* @param func The function to call when the item is clicked.
|
|
||||||
* @param data The item data to set for the index's item
|
|
||||||
* @return A handle to the item added or @c NULL, on errors
|
|
||||||
*
|
|
||||||
* Despite the most common usage of the @p letter argument is for
|
|
||||||
* single char strings, one could use arbitrary strings as index
|
|
||||||
* entries.
|
|
||||||
*
|
|
||||||
* @c item will be the pointer returned back on @c "changed", @c
|
|
||||||
* "delay,changed" and @c "selected" smart events.
|
|
||||||
*
|
|
||||||
* @note If @p relative is @c NULL this function will behave as
|
|
||||||
* elm_index_item_append().
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Insert a new item into the index object before item @p before.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param before The index item to insert after.
|
|
||||||
* @param letter Letter under which the item should be indexed
|
|
||||||
* @param func The function to call when the item is clicked.
|
|
||||||
* @param data The item data to set for the index's item
|
|
||||||
* @return A handle to the item added or @c NULL, on errors
|
|
||||||
*
|
|
||||||
* Despite the most common usage of the @p letter argument is for
|
|
||||||
* single char strings, one could use arbitrary strings as index
|
|
||||||
* entries.
|
|
||||||
*
|
|
||||||
* @c item will be the pointer returned back on @c "changed", @c
|
|
||||||
* "delay,changed" and @c "selected" smart events.
|
|
||||||
*
|
|
||||||
* @note If @p relative is @c NULL this function will behave as
|
|
||||||
* elm_index_item_prepend().
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Insert a new item into the given index widget, using @p cmp_func
|
|
||||||
* function to sort items (by item handles).
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param letter Letter under which the item should be indexed
|
|
||||||
* @param func The function to call when the item is clicked.
|
|
||||||
* @param data The item data to set for the index's item
|
|
||||||
* @param cmp_func The comparing function to be used to sort index
|
|
||||||
* items <b>by index item handles</b>
|
|
||||||
* @param cmp_data_func A @b fallback function to be called for the
|
|
||||||
* sorting of index items <b>by item data</b>). It will be used
|
|
||||||
* when @p cmp_func returns @c 0 (equality), which means an index
|
|
||||||
* item with provided item data already exists. To decide which
|
|
||||||
* data item should be pointed to by the index item in question, @p
|
|
||||||
* cmp_data_func will be used. If @p cmp_data_func returns a
|
|
||||||
* non-negative value, the previous index item data will be
|
|
||||||
* replaced by the given @p item pointer. If the previous data need
|
|
||||||
* to be freed, it should be done by the @p cmp_data_func function,
|
|
||||||
* because all references to it will be lost. If this function is
|
|
||||||
* not provided (@c NULL is given), index items will be @b
|
|
||||||
* duplicated, if @p cmp_func returns @c 0.
|
|
||||||
* @return A handle to the item added or @c NULL, on errors
|
|
||||||
*
|
|
||||||
* Despite the most common usage of the @p letter argument is for
|
|
||||||
* single char strings, one could use arbitrary strings as index
|
|
||||||
* entries.
|
|
||||||
*
|
|
||||||
* @c item will be the pointer returned back on @c "changed", @c
|
|
||||||
* "delay,changed" and @c "selected" smart events.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_sorted_insert(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Find a given index widget's item, <b>using item data</b>.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @param data The item data pointed to by the desired index item
|
|
||||||
* @return The index item handle, if found, or @c NULL otherwise
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Elm_Object_Item *elm_index_item_find(Evas_Object *obj, const void *data);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Removes @b all items from a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
*
|
|
||||||
* If deletion callbacks are set, via elm_object_item_del_cb_set(),
|
|
||||||
* that callback function will be called for each item in @p obj.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_item_clear(Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Flush the changes made to the index items so they work correctly
|
|
||||||
*
|
|
||||||
* This flushes any changes made to items indicating the object is ready to
|
|
||||||
* go. You should call this before any changes you expect to work. This
|
|
||||||
* is similar to elm_list_go().
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @param level The index level (one of @c 0 or @c 1) where changes were made
|
|
||||||
*
|
|
||||||
* @warning If not called, it won't display the index properly.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_level_go(Evas_Object *obj, int level);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the letter (string) set on a given index widget item.
|
|
||||||
*
|
|
||||||
* @param item The index item handle
|
|
||||||
* @return The letter string set on @p it
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI const char *elm_index_item_letter_get(const Elm_Object_Item *item);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the indicator as to be disabled.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @param disabled @c EINA_TRUE to disable it, @c EINA_FALSE to enable it
|
|
||||||
*
|
|
||||||
* In Index widget, Indicator notes popup text, which shows a letter has been selecting.
|
|
||||||
*
|
|
||||||
* @see elm_index_indicator_disabled_get()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_indicator_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of indicator's disabled status.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @return EINA_TRUE if the indicator is disabled.
|
|
||||||
*
|
|
||||||
* @see elm_index_indicator_disabled_set()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool elm_index_indicator_disabled_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable or disable horizontal mode on the index object
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param horizontal @c EINA_TRUE to enable horizontal or @c EINA_FALSE to
|
|
||||||
* disable it, i.e., to enable vertical mode. it's an area one @ref Fingers
|
|
||||||
* "finger" wide on the bottom side of the index widget's container.
|
|
||||||
*
|
|
||||||
* @note Vertical mode is set by default.
|
|
||||||
*
|
|
||||||
* On horizontal mode items are displayed on index from left to right,
|
|
||||||
* instead of from top to bottom. Also, the index will scroll horizontally.
|
|
||||||
*
|
|
||||||
* @see elm_index_horizontal_get()
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a value whether horizontal mode is enabled or not.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @return @c EINA_TRUE means horizontal mode selection is enabled.
|
|
||||||
* @c EINA_FALSE indicates it's disabled. If @p obj is @c NULL,
|
|
||||||
* @c EINA_FALSE is returned.
|
|
||||||
*
|
|
||||||
* @see elm_index_horizontal_set() for details.
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool elm_index_horizontal_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set a delay change time for index object.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @param delay_change_time The delay change time to set.
|
|
||||||
*
|
|
||||||
* @note delay time is 0.2 sec by default.
|
|
||||||
*
|
|
||||||
* @see elm_index_delay_change_time_get
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_delay_change_time_set(Evas_Object *obj, double delay_change_time);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a delay change time for index object.
|
|
||||||
*
|
|
||||||
* @param obj The index object.
|
|
||||||
* @return delay change time in seconds
|
|
||||||
*
|
|
||||||
* @see elm_index_delay_change_time_set
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI double elm_index_delay_change_time_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable or disable omit feature for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @param enabled @c EINA_TRUE to enable omit feature, @c EINA_FALSE to disable
|
|
||||||
*
|
|
||||||
* @see elm_index_omit_enabled_get()
|
|
||||||
*
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI void elm_index_omit_enabled_set(Evas_Object *obj, Eina_Bool enabled);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get whether omit feature is enabled or not for a given index widget.
|
|
||||||
*
|
|
||||||
* @param obj The index object
|
|
||||||
* @return @c EINA_TRUE, if omit feature is enabled, @c EINA_FALSE otherwise
|
|
||||||
*
|
|
||||||
* @see elm_index_omit_enabled_set()
|
|
||||||
*
|
|
||||||
* @since 1.8
|
|
||||||
*
|
|
||||||
* @ingroup Index
|
|
||||||
*/
|
|
||||||
EAPI Eina_Bool elm_index_omit_enabled_get(const Evas_Object *obj);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
/**
|
||||||
|
* Set the selected state of an item.
|
||||||
|
*
|
||||||
|
* @param it The index item
|
||||||
|
* @param selected The selected state
|
||||||
|
*
|
||||||
|
* This sets the selected state of the given item @p it.
|
||||||
|
* @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
|
||||||
|
*
|
||||||
|
* If a new item is selected the previously selected will be unselected.
|
||||||
|
* Previously selected item can be get with function
|
||||||
|
* elm_index_selected_item_get().
|
||||||
|
*
|
||||||
|
* Selected items will be highlighted.
|
||||||
|
*
|
||||||
|
* @see elm_index_selected_item_get()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
|
||||||
|
|
|
@ -0,0 +1,308 @@
|
||||||
|
#define ELM_OBJ_INDEX_CLASS elm_obj_index_class_get()
|
||||||
|
|
||||||
|
const Eo_Class *elm_obj_index_class_get(void) EINA_CONST;
|
||||||
|
|
||||||
|
extern EAPI Eo_Op ELM_OBJ_INDEX_BASE_ID;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_FIND,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_LEVEL_GO,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET,
|
||||||
|
ELM_OBJ_INDEX_SUB_ID_LAST
|
||||||
|
};
|
||||||
|
|
||||||
|
#define ELM_OBJ_INDEX_ID(sub_id) (ELM_OBJ_INDEX_BASE_ID + sub_id)
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_autohide_disabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable auto hiding feature for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] disabled
|
||||||
|
*
|
||||||
|
* @see elm_index_autohide_disabled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_autohide_disabled_set(disabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_autohide_disabled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether auto hiding feature is enabled or not for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_autohide_disabled_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_autohide_disabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_AUTOHIDE_DISABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_level_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the items level for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] level
|
||||||
|
*
|
||||||
|
* @see elm_index_item_level_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_level_set(level) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_SET), EO_TYPECHECK(int, level)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_level_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the items level set for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_level_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_level_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_LEVEL_GET), EO_TYPECHECK(int *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_selected_item_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Returns the last selected item, for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] level
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_selected_item_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_selected_item_get(level, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_SELECTED_ITEM_GET), EO_TYPECHECK(int, level), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_append
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Append a new item on a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] letter
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_append
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_append(letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_APPEND), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_prepend
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Prepend a new item on a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] letter
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_prepend
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_prepend(letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_PREPEND), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_insert_after
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert a new item into the index object after item after.
|
||||||
|
*
|
||||||
|
* @param[in] after
|
||||||
|
* @param[in] letter
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_insert_after
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_insert_after(after, letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_AFTER), EO_TYPECHECK(Elm_Object_Item *, after), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_insert_before
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert a new item into the index object before item before.
|
||||||
|
*
|
||||||
|
* @param[in] before
|
||||||
|
* @param[in] letter
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_insert_before
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_insert_before(before, letter, func, data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_INSERT_BEFORE), EO_TYPECHECK(Elm_Object_Item *, before), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_sorted_insert
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Insert a new item into the given index widget, using cmp_func
|
||||||
|
*
|
||||||
|
* @param[in] letter
|
||||||
|
* @param[in] func
|
||||||
|
* @param[in] data
|
||||||
|
* @param[in] cmp_func
|
||||||
|
* @param[in] cmp_data_func
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_sorted_insert
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_sorted_insert(letter, func, data, cmp_func, cmp_data_func, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_SORTED_INSERT), EO_TYPECHECK(const char *, letter), EO_TYPECHECK(Evas_Smart_Cb, func), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Eina_Compare_Cb, cmp_func), EO_TYPECHECK(Eina_Compare_Cb, cmp_data_func), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_find
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Find a given index widget's item, <b>using item data</b>.
|
||||||
|
*
|
||||||
|
* @param[in] data
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_item_find
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_find(data, ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_FIND), EO_TYPECHECK(const void *, data), EO_TYPECHECK(Elm_Object_Item **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_item_clear
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Removes all items from a given index widget.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @see elm_index_item_clear
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_item_clear() ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_ITEM_CLEAR)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_level_go
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Go to a given items level on a index widget
|
||||||
|
*
|
||||||
|
* @param[in] level
|
||||||
|
*
|
||||||
|
* @see elm_index_level_go
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_level_go(level) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_LEVEL_GO), EO_TYPECHECK(int, level)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_indicator_disabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Set the indicator as to be disabled.
|
||||||
|
*
|
||||||
|
* @param[in] disabled
|
||||||
|
*
|
||||||
|
* @see elm_index_indicator_disabled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_indicator_disabled_set(disabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_indicator_disabled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get the value of indicator's disabled status.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_indicator_disabled_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_indicator_disabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_INDICATOR_DISABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_horizontal_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable horizontal mode on the index object
|
||||||
|
*
|
||||||
|
* @param[in] horizontal
|
||||||
|
*
|
||||||
|
* @see elm_index_horizontal_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_horizontal_set(horizontal) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_SET), EO_TYPECHECK(Eina_Bool, horizontal)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_horizontal_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get a value whether horizontal mode is enabled or not.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_horizontal_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_horizontal_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_HORIZONTAL_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_delay_change_time_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Change index delay change time.
|
||||||
|
*
|
||||||
|
* @param[in] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_delay_change_time_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_delay_change_time_set(dtime) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_SET), EO_TYPECHECK(double, dtime)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_delay_change_time_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get index delay change time.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_delay_change_time_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_delay_change_time_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_DELAY_CHANGE_TIME_GET), EO_TYPECHECK(double *, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_omit_enabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Enable or disable omit feature for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[in] enabled
|
||||||
|
*
|
||||||
|
* @see elm_index_omit_enabled_set
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_omit_enabled_set(enabled) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_SET), EO_TYPECHECK(Eina_Bool, enabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_obj_index_omit_enabled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* Get whether omit feature is enabled or not for a given index widget.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
* @see elm_index_omit_enabled_get
|
||||||
|
*/
|
||||||
|
#define elm_obj_index_omit_enabled_get(ret) ELM_OBJ_INDEX_ID(ELM_OBJ_INDEX_SUB_ID_OMIT_ENABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,357 @@
|
||||||
|
/**
|
||||||
|
* Add a new index widget to the given parent Elementary
|
||||||
|
* (container) object
|
||||||
|
*
|
||||||
|
* @param parent The parent object
|
||||||
|
* @return a new index widget handle or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* This function inserts a new index widget on the canvas.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Evas_Object *elm_index_add(Evas_Object *parent);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable auto hiding feature for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @param disabled @c EINA_TRUE to disable auto hiding, @c EINA_FALSE to enable
|
||||||
|
*
|
||||||
|
* @see elm_index_autohide_disabled_get()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_autohide_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether auto hiding feature is enabled or not for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @return @c EINA_TRUE, if auto hiding is disabled, @c EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* @see elm_index_autohide_disabled_set() for more details
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_index_autohide_disabled_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the items level for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param level @c 0 or @c 1, the currently implemented levels.
|
||||||
|
*
|
||||||
|
* @see elm_index_item_level_get()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_item_level_set(Evas_Object *obj, int level);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the items level set for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @return @c 0 or @c 1, which are the levels @p obj might be at.
|
||||||
|
*
|
||||||
|
* @see elm_index_item_level_set() for more information
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI int elm_index_item_level_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the last selected item, for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param level @c 0 or @c 1, the currently implemented levels.
|
||||||
|
* @return The last item @b selected on @p obj (or @c NULL, on errors).
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_selected_item_get(const Evas_Object *obj, int level);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Append a new item on a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param letter Letter under which the item should be indexed
|
||||||
|
* @param func The function to call when the item is selected.
|
||||||
|
* @param data The item data to set for the index's item
|
||||||
|
* @return A handle to the item added or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* Despite the most common usage of the @p letter argument is for
|
||||||
|
* single char strings, one could use arbitrary strings as index
|
||||||
|
* entries.
|
||||||
|
*
|
||||||
|
* @c item will be the pointer returned back on @c "changed", @c
|
||||||
|
* "delay,changed" and @c "selected" smart events.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_append(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepend a new item on a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param letter Letter under which the item should be indexed
|
||||||
|
* @param func The function to call when the item is selected.
|
||||||
|
* @param data The item data to set for the index's item
|
||||||
|
* @return A handle to the item added or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* Despite the most common usage of the @p letter argument is for
|
||||||
|
* single char strings, one could use arbitrary strings as index
|
||||||
|
* entries.
|
||||||
|
*
|
||||||
|
* @c item will be the pointer returned back on @c "changed", @c
|
||||||
|
* "delay,changed" and @c "selected" smart events.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_prepend(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a new item into the index object after item @p after.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param after The index item to insert after.
|
||||||
|
* @param letter Letter under which the item should be indexed
|
||||||
|
* @param func The function to call when the item is clicked.
|
||||||
|
* @param data The item data to set for the index's item
|
||||||
|
* @return A handle to the item added or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* Despite the most common usage of the @p letter argument is for
|
||||||
|
* single char strings, one could use arbitrary strings as index
|
||||||
|
* entries.
|
||||||
|
*
|
||||||
|
* @c item will be the pointer returned back on @c "changed", @c
|
||||||
|
* "delay,changed" and @c "selected" smart events.
|
||||||
|
*
|
||||||
|
* @note If @p relative is @c NULL this function will behave as
|
||||||
|
* elm_index_item_append().
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *letter, Evas_Smart_Cb func, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a new item into the index object before item @p before.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param before The index item to insert after.
|
||||||
|
* @param letter Letter under which the item should be indexed
|
||||||
|
* @param func The function to call when the item is clicked.
|
||||||
|
* @param data The item data to set for the index's item
|
||||||
|
* @return A handle to the item added or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* Despite the most common usage of the @p letter argument is for
|
||||||
|
* single char strings, one could use arbitrary strings as index
|
||||||
|
* entries.
|
||||||
|
*
|
||||||
|
* @c item will be the pointer returned back on @c "changed", @c
|
||||||
|
* "delay,changed" and @c "selected" smart events.
|
||||||
|
*
|
||||||
|
* @note If @p relative is @c NULL this function will behave as
|
||||||
|
* elm_index_item_prepend().
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *letter, Evas_Smart_Cb func, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Insert a new item into the given index widget, using @p cmp_func
|
||||||
|
* function to sort items (by item handles).
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param letter Letter under which the item should be indexed
|
||||||
|
* @param func The function to call when the item is clicked.
|
||||||
|
* @param data The item data to set for the index's item
|
||||||
|
* @param cmp_func The comparing function to be used to sort index
|
||||||
|
* items <b>by index item handles</b>
|
||||||
|
* @param cmp_data_func A @b fallback function to be called for the
|
||||||
|
* sorting of index items <b>by item data</b>). It will be used
|
||||||
|
* when @p cmp_func returns @c 0 (equality), which means an index
|
||||||
|
* item with provided item data already exists. To decide which
|
||||||
|
* data item should be pointed to by the index item in question, @p
|
||||||
|
* cmp_data_func will be used. If @p cmp_data_func returns a
|
||||||
|
* non-negative value, the previous index item data will be
|
||||||
|
* replaced by the given @p item pointer. If the previous data need
|
||||||
|
* to be freed, it should be done by the @p cmp_data_func function,
|
||||||
|
* because all references to it will be lost. If this function is
|
||||||
|
* not provided (@c NULL is given), index items will be @b
|
||||||
|
* duplicated, if @p cmp_func returns @c 0.
|
||||||
|
* @return A handle to the item added or @c NULL, on errors
|
||||||
|
*
|
||||||
|
* Despite the most common usage of the @p letter argument is for
|
||||||
|
* single char strings, one could use arbitrary strings as index
|
||||||
|
* entries.
|
||||||
|
*
|
||||||
|
* @c item will be the pointer returned back on @c "changed", @c
|
||||||
|
* "delay,changed" and @c "selected" smart events.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_sorted_insert(Evas_Object *obj, const char *letter, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find a given index widget's item, <b>using item data</b>.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @param data The item data pointed to by the desired index item
|
||||||
|
* @return The index item handle, if found, or @c NULL otherwise
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Elm_Object_Item *elm_index_item_find(Evas_Object *obj, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes @b all items from a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
*
|
||||||
|
* If deletion callbacks are set, via elm_object_item_del_cb_set(),
|
||||||
|
* that callback function will be called for each item in @p obj.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_item_clear(Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flush the changes made to the index items so they work correctly
|
||||||
|
*
|
||||||
|
* This flushes any changes made to items indicating the object is ready to
|
||||||
|
* go. You should call this before any changes you expect to work. This
|
||||||
|
* is similar to elm_list_go().
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @param level The index level (one of @c 0 or @c 1) where changes were made
|
||||||
|
*
|
||||||
|
* @warning If not called, it won't display the index properly.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_level_go(Evas_Object *obj, int level);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the letter (string) set on a given index widget item.
|
||||||
|
*
|
||||||
|
* @param item The index item handle
|
||||||
|
* @return The letter string set on @p it
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI const char *elm_index_item_letter_get(const Elm_Object_Item *item);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the indicator as to be disabled.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @param disabled @c EINA_TRUE to disable it, @c EINA_FALSE to enable it
|
||||||
|
*
|
||||||
|
* In Index widget, Indicator notes popup text, which shows a letter has been selecting.
|
||||||
|
*
|
||||||
|
* @see elm_index_indicator_disabled_get()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_indicator_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the value of indicator's disabled status.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @return EINA_TRUE if the indicator is disabled.
|
||||||
|
*
|
||||||
|
* @see elm_index_indicator_disabled_set()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_index_indicator_disabled_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable horizontal mode on the index object
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param horizontal @c EINA_TRUE to enable horizontal or @c EINA_FALSE to
|
||||||
|
* disable it, i.e., to enable vertical mode. it's an area one @ref Fingers
|
||||||
|
* "finger" wide on the bottom side of the index widget's container.
|
||||||
|
*
|
||||||
|
* @note Vertical mode is set by default.
|
||||||
|
*
|
||||||
|
* On horizontal mode items are displayed on index from left to right,
|
||||||
|
* instead of from top to bottom. Also, the index will scroll horizontally.
|
||||||
|
*
|
||||||
|
* @see elm_index_horizontal_get()
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a value whether horizontal mode is enabled or not.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @return @c EINA_TRUE means horizontal mode selection is enabled.
|
||||||
|
* @c EINA_FALSE indicates it's disabled. If @p obj is @c NULL,
|
||||||
|
* @c EINA_FALSE is returned.
|
||||||
|
*
|
||||||
|
* @see elm_index_horizontal_set() for details.
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_index_horizontal_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a delay change time for index object.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @param delay_change_time The delay change time to set.
|
||||||
|
*
|
||||||
|
* @note delay time is 0.2 sec by default.
|
||||||
|
*
|
||||||
|
* @see elm_index_delay_change_time_get
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_delay_change_time_set(Evas_Object *obj, double delay_change_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a delay change time for index object.
|
||||||
|
*
|
||||||
|
* @param obj The index object.
|
||||||
|
* @return delay change time in seconds
|
||||||
|
*
|
||||||
|
* @see elm_index_delay_change_time_set
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI double elm_index_delay_change_time_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable omit feature for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @param enabled @c EINA_TRUE to enable omit feature, @c EINA_FALSE to disable
|
||||||
|
*
|
||||||
|
* @see elm_index_omit_enabled_get()
|
||||||
|
*
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI void elm_index_omit_enabled_set(Evas_Object *obj, Eina_Bool enabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether omit feature is enabled or not for a given index widget.
|
||||||
|
*
|
||||||
|
* @param obj The index object
|
||||||
|
* @return @c EINA_TRUE, if omit feature is enabled, @c EINA_FALSE otherwise
|
||||||
|
*
|
||||||
|
* @see elm_index_omit_enabled_set()
|
||||||
|
*
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @ingroup Index
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_index_omit_enabled_get(const Evas_Object *obj);
|
||||||
|
|
Loading…
Reference in New Issue