forked from enlightenment/efl
implement the following:
EAPI void elm_gen_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select); EAPI Eina_Bool elm_gen_always_select_mode_get(const Evas_Object *obj); EAPI void elm_gen_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select); EAPI Eina_Bool elm_gen_no_select_mode_get(const Evas_Object *obj); EAPI void elm_gen_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce); EAPI void elm_gen_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce); EAPI void elm_gen_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel); EAPI void elm_gen_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel); EAPI void elm_gen_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize); EAPI void elm_gen_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber); EAPI void elm_gen_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber); EAPI void elm_gen_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber); EAPI void elm_gen_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber); EAPI Elm_Gen_Item *elm_gen_first_item_get(const Evas_Object *obj); EAPI Elm_Gen_Item *elm_gen_last_item_get(const Evas_Object *obj); EAPI Elm_Gen_Item *elm_gen_item_next_get(const Elm_Gen_Item *it); EAPI Elm_Gen_Item *elm_gen_item_prev_get(const Elm_Gen_Item *it); EAPI Evas_Object *elm_gen_item_gen_get(const Elm_Gen_Item *it); SVN revision: 64281
This commit is contained in:
parent
9cffa1a766
commit
9987b1034f
|
@ -7923,6 +7923,24 @@ extern "C" {
|
|||
EAPI void elm_gen_clear(Evas_Object *obj);
|
||||
EAPI void elm_gen_item_selected_set(Elm_Gen_Item *it, Eina_Bool selected);
|
||||
EAPI Eina_Bool elm_gen_item_selected_get(const Elm_Gen_Item *it);
|
||||
EAPI void elm_gen_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
|
||||
EAPI Eina_Bool elm_gen_always_select_mode_get(const Evas_Object *obj);
|
||||
EAPI void elm_gen_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
|
||||
EAPI Eina_Bool elm_gen_no_select_mode_get(const Evas_Object *obj);
|
||||
EAPI void elm_gen_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
|
||||
EAPI void elm_gen_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
|
||||
EAPI void elm_gen_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
|
||||
EAPI void elm_gen_page_relative_get(const Evas_Object *obj, double *h_pagerel, double *v_pagerel);
|
||||
EAPI void elm_gen_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
|
||||
EAPI void elm_gen_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
EAPI void elm_gen_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber);
|
||||
EAPI void elm_gen_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||
EAPI void elm_gen_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber);
|
||||
EAPI Elm_Gen_Item *elm_gen_first_item_get(const Evas_Object *obj);
|
||||
EAPI Elm_Gen_Item *elm_gen_last_item_get(const Evas_Object *obj);
|
||||
EAPI Elm_Gen_Item *elm_gen_item_next_get(const Elm_Gen_Item *it);
|
||||
EAPI Elm_Gen_Item *elm_gen_item_prev_get(const Elm_Gen_Item *it);
|
||||
EAPI Evas_Object *elm_gen_item_gen_get(const Elm_Gen_Item *it);
|
||||
|
||||
/**
|
||||
* @defgroup Gengrid Gengrid (Generic grid)
|
||||
|
|
|
@ -42,6 +42,8 @@ struct _Widget_Data
|
|||
Eina_Bool wasselected : 1;
|
||||
Eina_Bool always_select : 1;
|
||||
Eina_Bool clear_me : 1;
|
||||
Eina_Bool h_bounce : 1;
|
||||
Eina_Bool v_bounce : 1;
|
||||
Ecore_Cb del_cb, calc_cb, sizing_cb;
|
||||
Ecore_Cb clear_cb;
|
||||
};
|
||||
|
@ -524,3 +526,206 @@ elm_gen_item_selected_get(const Elm_Gen_Item *it)
|
|||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, EINA_FALSE);
|
||||
return it->selected;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_always_select_mode_set(Evas_Object *obj,
|
||||
Eina_Bool always_select)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
wd->always_select = always_select;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
elm_gen_always_select_mode_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return EINA_FALSE;
|
||||
return wd->always_select;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_no_select_mode_set(Evas_Object *obj,
|
||||
Eina_Bool no_select)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
wd->no_select = no_select;
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
elm_gen_no_select_mode_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return EINA_FALSE;
|
||||
return wd->no_select;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_bounce_set(Evas_Object *obj,
|
||||
Eina_Bool h_bounce,
|
||||
Eina_Bool v_bounce)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
elm_smart_scroller_bounce_allow_set(wd->scr, h_bounce, v_bounce);
|
||||
wd->h_bounce = h_bounce;
|
||||
wd->v_bounce = v_bounce;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_bounce_get(const Evas_Object *obj,
|
||||
Eina_Bool *h_bounce,
|
||||
Eina_Bool *v_bounce)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
if (h_bounce) *h_bounce = wd->h_bounce;
|
||||
if (v_bounce) *v_bounce = wd->v_bounce;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_page_relative_set(Evas_Object *obj,
|
||||
double h_pagerel,
|
||||
double v_pagerel)
|
||||
{
|
||||
Evas_Coord pagesize_h;
|
||||
Evas_Coord pagesize_v;
|
||||
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
|
||||
elm_smart_scroller_paging_get(wd->scr, NULL, NULL, &pagesize_h, &pagesize_v);
|
||||
elm_smart_scroller_paging_set(wd->scr, h_pagerel, v_pagerel, pagesize_h,
|
||||
pagesize_v);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_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);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_page_size_set(Evas_Object *obj,
|
||||
Evas_Coord h_pagesize,
|
||||
Evas_Coord v_pagesize)
|
||||
{
|
||||
double pagerel_h;
|
||||
double pagerel_v;
|
||||
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
elm_smart_scroller_paging_get(wd->scr, &pagerel_h, &pagerel_v, NULL, NULL);
|
||||
elm_smart_scroller_paging_set(wd->scr, pagerel_h, pagerel_v, h_pagesize,
|
||||
v_pagesize);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
if (wd->scr)
|
||||
elm_smart_scroller_current_page_get(wd->scr, h_pagenumber, v_pagenumber);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_last_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
if (wd->scr)
|
||||
elm_smart_scroller_last_page_get(wd->scr, h_pagenumber, v_pagenumber);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_page_show(const Evas_Object *obj, int h_pagenumber, int v_pagenumber)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
if (wd->scr)
|
||||
elm_smart_scroller_page_show(wd->scr, h_pagenumber, v_pagenumber);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_gen_page_bring_in(const Evas_Object *obj, int h_pagenumber, int v_pagenumber)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype);
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return;
|
||||
if (wd->scr)
|
||||
elm_smart_scroller_page_bring_in(wd->scr, h_pagenumber, v_pagenumber);
|
||||
}
|
||||
|
||||
EAPI Elm_Gen_Item *
|
||||
elm_gen_first_item_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return NULL;
|
||||
if (!wd->items) return NULL;
|
||||
Elm_Gen_Item *it = ELM_GEN_ITEM_FROM_INLIST(wd->items);
|
||||
while ((it) && (it->delete_me))
|
||||
it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->next);
|
||||
return it;
|
||||
}
|
||||
|
||||
EAPI Elm_Gen_Item *
|
||||
elm_gen_last_item_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
|
||||
Widget_Data *wd = elm_widget_data_get(obj);
|
||||
if (!wd) return NULL;
|
||||
if (!wd->items) return NULL;
|
||||
Elm_Gen_Item *it = ELM_GEN_ITEM_FROM_INLIST(wd->items->last);
|
||||
while ((it) && (it->delete_me))
|
||||
it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
|
||||
return it;
|
||||
}
|
||||
|
||||
EAPI Elm_Gen_Item *
|
||||
elm_gen_item_next_get(const Elm_Gen_Item *it)
|
||||
{
|
||||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
|
||||
while (it)
|
||||
{
|
||||
it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->next);
|
||||
if ((it) && (!it->delete_me)) break;
|
||||
}
|
||||
return (Elm_Gen_Item *)it;
|
||||
}
|
||||
|
||||
EAPI Elm_Gen_Item *
|
||||
elm_gen_item_prev_get(const Elm_Gen_Item *it)
|
||||
{
|
||||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
|
||||
while (it)
|
||||
{
|
||||
it = ELM_GEN_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
|
||||
if ((it) && (!it->delete_me)) break;
|
||||
}
|
||||
return (Elm_Gen_Item *)it;
|
||||
}
|
||||
|
||||
EAPI Evas_Object *
|
||||
elm_gen_item_gen_get(const Elm_Gen_Item *it)
|
||||
{
|
||||
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(it, NULL);
|
||||
return WIDGET(it);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue