elementary: add page_relative and horizontal getters to gengrid

SVN revision: 58705
This commit is contained in:
Michael BOUCHAUD 2011-04-18 10:54:25 +00:00
parent 12598eb6e6
commit 0642a6c1cc
2 changed files with 51 additions and 0 deletions

View File

@ -932,8 +932,10 @@ extern "C" {
EAPI void elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
EAPI void elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
EAPI void elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
EAPI void elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel) EINA_ARG_NONNULL(1);
EAPI void elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1);
EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_gengrid_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);

View File

@ -1925,6 +1925,24 @@ elm_gengrid_horizontal_set(Evas_Object *obj,
wd->calc_job = ecore_job_add(_calc_job, wd);
}
/**
* Get for what direction the Gengrid is expanded.
*
* @param obj The Gengrid object.
* @return If the Gengrid is expanded horizontally return @c EINA_TRUE
* else @c EINA_FALSE.
*
* @ingroup Gengrid
*/
EAPI Eina_Bool
elm_gengrid_horizontal_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return wd->horizontal;
}
/**
* Clear the Gengrid
*
@ -2748,6 +2766,37 @@ elm_gengrid_page_relative_set(Evas_Object *obj,
pagesize_v);
}
/*
* Get gengrid scroll page size relative to viewport size.
*
* The gengrid scroller is capable of limiting scrolling by the user
* to "pages" That is to jump by and only show a "whole page" at a
* time as if the continuous area of the scroller content is split
* into page sized pieces. This sets the size of a page relative to
* the viewport of the scroller. 1.0 is "1 viewport" is size
* (horizontally or vertically). 0.0 turns it off in that axis. This
* is mutually exclusive with page size (see
* elm_gengrid_page_size_set() for more information). Likewise 0.5 is
* "half a viewport". Sane usable valus are normally between 0.0 and
* 1.0 including 1.0. If you only want 1 axis to be page "limited",
* use 0.0 for the other axis.
*
* @param obj The gengrid object
* @param h_pagerel The horizontal page relative size
* @param v_pagerel The vertical page relative size
*
@ingroup Gengrid
*/
EAPI void
elm_gengrid_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
elm_smart_scroller_paging_get(wd->scr, h_pagerel, v_pagerel, NULL, NULL);
}
/**
* Set gengrid scroll page size.
*