efl/src/lib/elementary/elm_gengrid_legacy.h

280 lines
8.6 KiB
C

/**
* 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 Elm_Gengrid
*/
EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
/**
* 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);
/**
* 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
*
* @deprecated Use elm_scroller_page_show() instead.
*
* @see elm_scroller_page_bring_in()
*/
EINA_DEPRECATED EAPI void elm_gengrid_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
/**
* 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 Elm_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 Elm_Gengrid
*/
EINA_DEPRECATED EAPI void elm_gengrid_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
/**
* 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 Elm_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 Elm_Gengrid
*/
EINA_DEPRECATED EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
/**
* @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_scroller_page_show()
* @see elm_scroller_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_scroller_page_show()
* @see elm_scroller_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 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_show()
*/
EINA_DEPRECATED EAPI void elm_gengrid_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
/**
* @brief Set a given gengrid widget's scrolling page size.
*
* @param[in] obj The object.
* @param[in] h_pagesize Page size horizontal
* @param[in] v_pagesize Page size vertical
*
* @ingroup Elm_Gengrid
*/
EAPI void elm_gengrid_page_size_set(Evas_Object *obj, int h_pagesize, int v_pagesize);
/**
* @brief Control a given gengrid widget's scrolling page size, relative to
* its viewport size.
*
* @param[in] obj The object.
* @param[in] h_pagerel Page relation horizontal
* @param[in] v_pagerel Page relation vertical
*
* @ingroup Elm_Gengrid
*/
EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
/**
* @brief Control a given gengrid widget's scrolling page size, relative to
* its viewport size.
*
* @param[in] obj The object.
* @param[out] h_pagerel Page relation horizontal
* @param[out] v_pagerel Page relation vertical
*
* @ingroup Elm_Gengrid
*/
EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
/**
* @brief Enable or disable mouse wheel to be used to scroll the gengrid.
*
* Mouse wheel can be used for the user to scroll up and down the gengrid.
*
* Wheel is enabled by default.
*
* @param[in] obj The object.
* @param[in] disabled Use @c true to disable mouse wheel or @c false to enable
* it.
*
* @ingroup Elm_Gengrid
*/
EAPI void elm_gengrid_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled);
/**
* @brief Get a value whether mouse wheel is enabled or not.
*
* Mouse wheel can be used for the user to scroll up and down the gengrid.
*
* @param[in] obj The object.
*
* @return Use @c true to disable mouse wheel or @c false to enable it.
*
* @ingroup Elm_Gengrid
*/
EAPI Eina_Bool elm_gengrid_wheel_disabled_get(const Evas_Object *obj);
#include "elm_gengrid_item_eo.legacy.h"
#include "elm_gengrid_eo.legacy.h"