From a08056e9dd7f259b8346fbcce981711b46cb7725 Mon Sep 17 00:00:00 2001 From: Gustavo Lima Chaves Date: Fri, 10 Dec 2010 13:01:43 +0000 Subject: [PATCH] Indenting one more beast. SVN revision: 55447 --- legacy/elementary/src/lib/elm_gengrid.c | 1286 +++++++++++++---------- 1 file changed, 708 insertions(+), 578 deletions(-) diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index f19c25f6f5..e83dcf2e6e 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -5,47 +5,49 @@ /** * @defgroup Gengrid Gengrid * - * This widget aims to position objects in a grid layout while actually - * building only the visible ones, using the same idea as genlist: the user - * define a class for each item, specifying functions that will be called at - * object creation and deletion. + * This widget aims to position objects in a grid layout while + * actually building only the visible ones, using the same idea as + * genlist: the user define a class for each item, specifying + * functions that will be called at object creation and deletion. * * Signals that you can add callbacks for are: * - * clicked - The user has double-clicked a item. The event_info parameter is - * the Gengrid item that was double-clicked. + * clicked - The user has double-clicked a item. The event_info + * parameter is the Gengrid item that was double-clicked. * - * selected - The user has made an item selected. The event_info parameter is - * the Gengrid item that was selected. + * selected - The user has made an item selected. The event_info + * parameter is the Gengrid item that was selected. * - * unselected - The user has made an item unselected. The event_info parameter - * is the Gengrid item that was unselected. + * unselected - The user has made an item unselected. The event_info + * parameter is the Gengrid item that was unselected. * - * realized - This is called when the item in the Gengrid is created as a real - * evas object. event_info is the Gengrid item that was created. The object may be - * deleted at any time, so it is up to the caller to not use the object pointer - * from elm_gengrid_item_object_get() in a way where it may point to - * freed objects. + * realized - This is called when the item in the Gengrid is created + * as a real evas object. event_info is the Gengrid item that was + * created. The object may be deleted at any time, so it is up to the + * caller to not use the object pointer from + * elm_gengrid_item_object_get() in a way where it may point to freed + * objects. * - * unrealized - This is called when the real evas object for this item is - * deleted. event_info is the Gengrid item that was created. + * unrealized - This is called when the real evas object for this item + * is deleted. event_info is the Gengrid item that was created. * - * changed - Called when an item is added, removed, resized or moved and when - * gengrid is resized or horizontal property changes. + * changed - Called when an item is added, removed, resized or moved + * and when gengrid is resized or horizontal property changes. * - * drag,start,up - Called when the item in the Gengrid has been dragged (not - * scrolled) up. + * drag,start,up - Called when the item in the Gengrid has been + * dragged (not scrolled) up. * - * drag,start,down - Called when the item in the Gengrid has been dragged (not - * scrolled) down. + * drag,start,down - Called when the item in the Gengrid has been + * dragged (not scrolled) down. * - * drag,start,left - Called when the item in the Gengrid has been dragged (not - * scrolled) left. + * drag,start,left - Called when the item in the Gengrid has been + * dragged (not scrolled) left. * - * drag,start,right - Called when the item in the Gengrid has been dragged (not - * scrolled) right. + * drag,start,right - Called when the item in the Gengrid has been + * dragged (not scrolled) right. * - * drag,stop - Called when the item in the Gengrid has stopped being dragged. + * drag,stop - Called when the item in the Gengrid has stopped being + * dragged. * * drag - Called when the item in the Gengrid is being dragged. * @@ -56,86 +58,97 @@ * scroll,drag,stop - called when dragging the content has stopped. * * - * A item in the Gengrid can have 0 or more text labels (they can be regular text - * or textblock - that's up to the style to determine), 0 or more icons (which - * are simply objects swallowed into the Gengrid item) and 0 or more boolean states - * that can be used for check, radio or other indicators by the edje theme style. - * A item may be one of several styles (Elementary provides 1 by default - + * A item in the Gengrid can have 0 or more text labels (they can be + * regular text or textblock - that's up to the style to determine), 0 + * or more icons (which are simply objects swallowed into the Gengrid + * item) and 0 or more boolean states that can be used for check, + * radio or other indicators by the edje theme style. A item may be + * one of several styles (Elementary provides 1 by default - * "default", but this can be extended by system or application custom * themes/overlays/extensions). * - * In order to implement the ability to add and delete items on the fly, Gengrid - * implements a class/callback system where the application provides a structure - * with information about that type of item (Gengrid may contain multiple different - * items with different classes, states and styles). Gengrid will call the functions - * in this struct (methods) when a item is "realized" (that is created - * dynamically while scrolling). All objects will simply be deleted when no - * longer needed with evas_object_del(). The Elm_GenGrid_Item_Class structure - * contains the following members: + * In order to implement the ability to add and delete items on the + * fly, Gengrid implements a class/callback system where the + * application provides a structure with information about that type + * of item (Gengrid may contain multiple different items with + * different classes, states and styles). Gengrid will call the + * functions in this struct (methods) when a item is "realized" (that + * is created dynamically while scrolling). All objects will simply be + * deleted when no longer needed with evas_object_del(). The + * Elm_GenGrid_Item_Class structure contains the following members: * - * item_style - This is a constant string and simply defines the name of the - * item style. It must be specified and the default should be "default". + * item_style - This is a constant string and simply defines the name + * of the item style. It must be specified and the default should be + * "default". * - * func.label_get - This function is called when an actual item object is - * created. The data parameter is the one passed to elm_gengrid_item_append() - * and related item creation functions. The obj parameter is the Gengrid object and - * the part parameter is the string name of the text part in the edje design that - * is listed as one of the possible labels that can be set. This function must + * func.label_get - This function is called when an actual item object + * is created. The data parameter is the one passed to + * elm_gengrid_item_append() and related item creation functions. The + * obj parameter is the Gengrid object and the part parameter is the + * string name of the text part in the edje design that is listed as + * one of the possible labels that can be set. This function must * return a strdup'()ed string as the caller will free() it when done. * - * func.icon_get - This function is called when an actual item object is - * created. The data parameter is the one passed to elm_gengrid_item_append() - * and related item creation functions. The obj parameter is the Gengrid object and - * the part parameter is the string name of the icon part in the edje design that - * is listed as one of the possible icons that can be set. This must return NULL - * for no object or a valid object. The object will be deleted by Gengrid on - * shutdown or when the item is unrealized. + * func.icon_get - This function is called when an actual item object + * is created. The data parameter is the one passed to + * elm_gengrid_item_append() and related item creation functions. The + * obj parameter is the Gengrid object and the part parameter is the + * string name of the icon part in the edje design that is listed as + * one of the possible icons that can be set. This must return NULL + * for no object or a valid object. The object will be deleted by + * Gengrid on shutdown or when the item is unrealized. * - * func.state_get - This function is called when an actual item object is - * created. The data parameter is the one passed to elm_gengrid_item_append() - * and related item creation functions. The obj parameter is the Gengrid object and - * the part parameter is the string name of th state part in the edje design that - * is listed as one of the possible states that can be set. Return 0 for false - * and 1 for true. Gengrid will emit a signal to the edje object with - * "elm,state,XXX,active" "elm" when true (the default is false), where XXX is - * the name of the part. + * func.state_get - This function is called when an actual item object + * is created. The data parameter is the one passed to + * elm_gengrid_item_append() and related item creation functions. The + * obj parameter is the Gengrid object and the part parameter is the + * string name of th state part in the edje design that is listed as + * one of the possible states that can be set. Return 0 for false and + * 1 for true. Gengrid will emit a signal to the edje object with + * "elm,state,XXX,active" "elm" when true (the default is false), + * where XXX is the name of the part. * - * func.del - This is called when elm_gengrid_item_del() is called on a - * item or elm_gengrid_clear() is called on the Gengrid. This is intended for - * use when actual Gengrid items are deleted, so any backing data attached to the - * item (e.g. its data parameter on creation) can be deleted. + * func.del - This is called when elm_gengrid_item_del() is called on + * a item or elm_gengrid_clear() is called on the Gengrid. This is + * intended for use when actual Gengrid items are deleted, so any + * backing data attached to the item (e.g. its data parameter on + * creation) can be deleted. * * If the application wants multiple items to be able to be selected, * elm_gengrid_multi_select_set() can enable this. If the Gengrid is - * single-selection only (the default), then elm_gengrid_select_item_get() - * will return the selected item, if any, or NULL if none is selected. If the - * Gengrid is multi-select then elm_gengrid_selected_items_get() will return a - * list (that is only valid as long as no items are modified (added, deleted, + * single-selection only (the default), then + * elm_gengrid_select_item_get() will return the selected item, if + * any, or NULL if none is selected. If the Gengrid is multi-select + * then elm_gengrid_selected_items_get() will return a list (that is + * only valid as long as no items are modified (added, deleted, * selected or unselected). * - * If a item changes (state of boolean changes, label or icons change), then use - * elm_gengrid_item_update() to have Gengrid update the item with the new - * state. Gengrid will re-realize the item thus call the functions in the - * _Elm_Gengrid_Item_Class for that item. + * If a item changes (state of boolean changes, label or icons + * change), then use elm_gengrid_item_update() to have Gengrid update + * the item with the new state. Gengrid will re-realize the item thus + * call the functions in the _Elm_Gengrid_Item_Class for that item. * - * To programmatically (un)select a item use elm_gengrid_item_selected_set(). - * To get its selected state use elm_gengrid_item_selected_get(). To make a - * item disabled (unable to be selected and appear differently) use + * To programmatically (un)select a item use + * elm_gengrid_item_selected_set(). To get its selected state use + * elm_gengrid_item_selected_get(). To make a item disabled (unable to + * be selected and appear differently) use * elm_gengrid_item_disabled_set() to set this and * elm_gengrid_item_disabled_get() to get the disabled state. * - * Cells will only call their selection func and callback when first becoming - * selected. Any further clicks will do nothing, unless you enable always - * select with elm_gengrid_always_select_mode_set(). This means event if - * selected, every click will make the selected callbacks be called. - * elm_gengrid_no_select_mode_set() will turn off the ability to select - * items entirely and they will neither appear selected nor call selected - * callback function. + * Cells will only call their selection func and callback when first + * becoming selected. Any further clicks will do nothing, unless you + * enable always select with + * elm_gengrid_always_select_mode_set(). This means event if selected, + * every click will make the selected callbacks be called. + * elm_gengrid_no_select_mode_set() will turn off the ability to + * select items entirely and they will neither appear selected nor + * call selected callback function. * - * Remember that you can create new styles and add your own theme augmentation - * per application with elm_theme_extension_add(). If you absolutely must have a - * specific style that overrides any theme the user or system sets up you can use - * elm_theme_overlay_add() to add such a file. + * Remember that you can create new styles and add your own theme + * augmentation per application with elm_theme_extension_add(). If you + * absolutely must have a specific style that overrides any theme the + * user or system sets up you can use elm_theme_overlay_add() to add + * such a file. * * -- * TODO: @@ -143,93 +156,94 @@ */ typedef struct _Widget_Data Widget_Data; -typedef struct _Pan Pan; +typedef struct _Pan Pan; #define PRELOAD 1 struct _Elm_Gengrid_Item { - Elm_Widget_Item base; + Elm_Widget_Item base; EINA_INLIST; - Evas_Object *spacer; + Evas_Object *spacer; const Elm_Gengrid_Item_Class *gic; - Ecore_Timer *long_timer; - Widget_Data *wd; - Eina_List *labels, *icons, *states, *icon_objs; + Ecore_Timer *long_timer; + Widget_Data *wd; + Eina_List *labels, *icons, *states, *icon_objs; struct - { - Evas_Smart_Cb func; - const void *data; - } func; + { + Evas_Smart_Cb func; + const void *data; + } func; Evas_Coord x, y, dx, dy; - int relcount; - int walking; + int relcount; + int walking; struct - { - const void *data; - Elm_Tooltip_Item_Content_Cb content_cb; - Evas_Smart_Cb del_cb; - const char *style; + { + const void *data; + Elm_Tooltip_Item_Content_Cb content_cb; + Evas_Smart_Cb del_cb; + const char *style; } tooltip; const char *mouse_cursor; - Eina_Bool want_unrealize : 1; - Eina_Bool realized : 1; - Eina_Bool dragging : 1; - Eina_Bool down : 1; - Eina_Bool delete_me : 1; - Eina_Bool display_only : 1; - Eina_Bool disabled : 1; - Eina_Bool selected : 1; - Eina_Bool hilighted : 1; + Eina_Bool want_unrealize : 1; + Eina_Bool realized : 1; + Eina_Bool dragging : 1; + Eina_Bool down : 1; + Eina_Bool delete_me : 1; + Eina_Bool display_only : 1; + Eina_Bool disabled : 1; + Eina_Bool selected : 1; + Eina_Bool hilighted : 1; }; struct _Widget_Data { - Evas_Object *self, *scr; - Evas_Object *pan_smart; - Pan *pan; - Eina_Inlist *items; - Ecore_Job *calc_job; - Eina_List *selected; + Evas_Object *self, *scr; + Evas_Object *pan_smart; + Pan *pan; + Eina_Inlist *items; + Ecore_Job *calc_job; + Eina_List *selected; Elm_Gengrid_Item *last_selected_item; - double align_x, align_y; + double align_x, align_y; - Evas_Coord pan_x, pan_y; - Evas_Coord item_width, item_height; /* Each item size */ - Evas_Coord minw, minh; /* Total obj size */ - unsigned int nmax; - long count; - int walking; + Evas_Coord pan_x, pan_y; + Evas_Coord item_width, item_height; /* Each item size */ + Evas_Coord minw, minh; /* Total obj size */ + unsigned int nmax; + long count; + int walking; - Eina_Bool horizontal : 1; - Eina_Bool on_hold : 1; - Eina_Bool longpressed : 1; - Eina_Bool multi : 1; - Eina_Bool no_select : 1; - Eina_Bool wasselected : 1; - Eina_Bool always_select : 1; - Eina_Bool clear_me : 1; + Eina_Bool horizontal : 1; + Eina_Bool on_hold : 1; + Eina_Bool longpressed : 1; + Eina_Bool multi : 1; + Eina_Bool no_select : 1; + Eina_Bool wasselected : 1; + Eina_Bool always_select : 1; + Eina_Bool clear_me : 1; }; -#define ELM_GENGRID_ITEM_FROM_INLIST(item) \ +#define ELM_GENGRID_ITEM_FROM_INLIST(item) \ ((item) ? EINA_INLIST_CONTAINER_GET(item, Elm_Gengrid_Item) : NULL) struct _Pan { Evas_Object_Smart_Clipped_Data __clipped_data; - Widget_Data *wd; + Widget_Data *wd; }; static const char *widtype = NULL; -static void _item_hilight(Elm_Gengrid_Item *item); -static void _item_unrealize(Elm_Gengrid_Item *item); -static void _item_select(Elm_Gengrid_Item *item); -static void _item_unselect(Elm_Gengrid_Item *item); -static void _on_focus_hook(void *data, Evas_Object *obj); +static void _item_hilight(Elm_Gengrid_Item *item); +static void _item_unrealize(Elm_Gengrid_Item *item); +static void _item_select(Elm_Gengrid_Item *item); +static void _item_unselect(Elm_Gengrid_Item *item); +static void _on_focus_hook(void *data, + Evas_Object *obj); static Eina_Bool _item_multi_select_up(Widget_Data *wd); static Eina_Bool _item_multi_select_down(Widget_Data *wd); static Eina_Bool _item_multi_select_left(Widget_Data *wd); @@ -238,14 +252,19 @@ static Eina_Bool _item_single_select_up(Widget_Data *wd); static Eina_Bool _item_single_select_down(Widget_Data *wd); static Eina_Bool _item_single_select_left(Widget_Data *wd); static Eina_Bool _item_single_select_right(Widget_Data *wd); -static Eina_Bool _event_hook(Evas_Object *obj, Evas_Object *src, - Evas_Callback_Type type, void *event_info); +static Eina_Bool _event_hook(Evas_Object *obj, + Evas_Object *src, + Evas_Callback_Type type, + void *event_info); static Eina_Bool _deselect_all_items(Widget_Data *wd); static Evas_Smart_Class _pan_sc = EVAS_SMART_CLASS_INIT_VERSION; static Eina_Bool -_event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type type, void *event_info) +_event_hook(Evas_Object *obj, + Evas_Object *src __UNUSED__, + Evas_Callback_Type type, + void *event_info) { if (type != EVAS_CALLBACK_KEY_DOWN) return EINA_FALSE; Evas_Event_Key_Down *ev = event_info; @@ -312,7 +331,7 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty else x += step_x; } - else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up"))) + else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up"))) { if ((wd->horizontal) && (((evas_key_modifier_is_set(ev->modifiers, "Shift")) && @@ -368,7 +387,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; return EINA_TRUE; } - else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior"))) + else if ((!strcmp(ev->keyname, "Prior")) || + (!strcmp(ev->keyname, "KP_Prior"))) { if (wd->horizontal) { @@ -404,9 +424,9 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty } else if (!strcmp(ev->keyname, "Escape")) { - if (!_deselect_all_items(wd)) return EINA_FALSE; - ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; - return EINA_TRUE; + if (!_deselect_all_items(wd)) return EINA_FALSE; + ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; + return EINA_TRUE; } else return EINA_FALSE; @@ -608,7 +628,8 @@ _item_single_select_right(Widget_Data *wd) } static void -_on_focus_hook(void *data __UNUSED__, Evas_Object *obj) +_on_focus_hook(void *data __UNUSED__, + Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -653,7 +674,9 @@ _del_hook(Evas_Object *obj) } static void -_signal_emit_hook(Evas_Object *obj, const char *emission, const char *source) +_signal_emit_hook(Evas_Object *obj, + const char *emission, + const char *source) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -662,7 +685,10 @@ _signal_emit_hook(Evas_Object *obj, const char *emission, const char *source) } static void -_mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info) +_mouse_move(void *data, + Evas *evas __UNUSED__, + Evas_Object *obj, + void *event_info) { Elm_Gengrid_Item *item = data; Evas_Event_Mouse_Move *ev = event_info; @@ -670,31 +696,31 @@ _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) { - if (!item->wd->on_hold) - { - item->wd->on_hold = EINA_TRUE; + if (!item->wd->on_hold) + { + item->wd->on_hold = EINA_TRUE; if (!item->wd->wasselected) _item_unselect(item); - } + } } if ((item->dragging) && (item->down)) { - if (item->long_timer) - { - ecore_timer_del(item->long_timer); - item->long_timer = NULL; - } - evas_object_smart_callback_call(item->wd->self, "drag", item); - return; + if (item->long_timer) + { + ecore_timer_del(item->long_timer); + item->long_timer = NULL; + } + evas_object_smart_callback_call(item->wd->self, "drag", item); + return; } if ((!item->down) || (item->wd->longpressed)) { - if (item->long_timer) - { - ecore_timer_del(item->long_timer); - item->long_timer = NULL; - } - return; + if (item->long_timer) + { + ecore_timer_del(item->long_timer); + item->long_timer = NULL; + } + return; } if (!item->display_only) elm_coords_finger_size_adjust(1, &minw, 1, &minh); @@ -711,41 +737,41 @@ _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf minh /= 2; if ((adx > minw) || (ady > minh)) { - item->dragging = 1; - if (item->long_timer) - { - ecore_timer_del(item->long_timer); - item->long_timer = NULL; - } - if (!item->wd->wasselected) - _item_unselect(item); - if (dy < 0) - { - if (ady > adx) - evas_object_smart_callback_call(item->wd->self, "drag,start,up", - item); - else - { - if (dx < 0) - evas_object_smart_callback_call(item->wd->self, - "drag,start,left", item); - } - } - else - { - if (ady > adx) - evas_object_smart_callback_call(item->wd->self, - "drag,start,down", item); - else - { - if (dx < 0) - evas_object_smart_callback_call(item->wd->self, - "drag,start,left", item); - else - evas_object_smart_callback_call(item->wd->self, - "drag,start,right", item); - } - } + item->dragging = 1; + if (item->long_timer) + { + ecore_timer_del(item->long_timer); + item->long_timer = NULL; + } + if (!item->wd->wasselected) + _item_unselect(item); + if (dy < 0) + { + if (ady > adx) + evas_object_smart_callback_call(item->wd->self, "drag,start,up", + item); + else + { + if (dx < 0) + evas_object_smart_callback_call(item->wd->self, + "drag,start,left", item); + } + } + else + { + if (ady > adx) + evas_object_smart_callback_call(item->wd->self, + "drag,start,down", item); + else + { + if (dx < 0) + evas_object_smart_callback_call(item->wd->self, + "drag,start,left", item); + else + evas_object_smart_callback_call(item->wd->self, + "drag,start,right", item); + } + } } } @@ -762,7 +788,10 @@ _long_press(void *data) } static void -_mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_info) +_mouse_down(void *data, + Evas *evas __UNUSED__, + Evas_Object *obj, + void *event_info) { Elm_Gengrid_Item *item = data; Evas_Event_Mouse_Down *ev = event_info; @@ -783,13 +812,17 @@ _mouse_down(void *data, Evas *evas __UNUSED__, Evas_Object *obj, void *event_inf evas_object_smart_callback_call(item->wd->self, "clicked", item); if (item->long_timer) ecore_timer_del(item->long_timer); if (item->realized) - item->long_timer = ecore_timer_add(_elm_config->longpress_timeout, _long_press, item); + item->long_timer = ecore_timer_add(_elm_config->longpress_timeout, + _long_press, item); else item->long_timer = NULL; } static void -_mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) +_mouse_up(void *data, + Evas *evas __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info) { Elm_Gengrid_Item *item = data; Evas_Event_Mouse_Up *ev = event_info; @@ -801,59 +834,59 @@ _mouse_up(void *data, Evas *evas __UNUSED__, Evas_Object *obj __UNUSED__, void * else item->wd->on_hold = EINA_FALSE; if (item->long_timer) { - ecore_timer_del(item->long_timer); - item->long_timer = NULL; + ecore_timer_del(item->long_timer); + item->long_timer = NULL; } if (item->dragging) { - item->dragging = EINA_FALSE; - evas_object_smart_callback_call(item->wd->self, "drag,stop", item); - dragged = EINA_TRUE; + item->dragging = EINA_FALSE; + evas_object_smart_callback_call(item->wd->self, "drag,stop", item); + dragged = EINA_TRUE; } if (item->wd->on_hold) { - item->wd->longpressed = EINA_FALSE; - item->wd->on_hold = EINA_FALSE; - return; + item->wd->longpressed = EINA_FALSE; + item->wd->on_hold = EINA_FALSE; + return; } if (item->wd->longpressed) { - item->wd->longpressed = EINA_FALSE; - if (!item->wd->wasselected) _item_unselect(item); - item->wd->wasselected = EINA_FALSE; - return; + item->wd->longpressed = EINA_FALSE; + if (!item->wd->wasselected) _item_unselect(item); + item->wd->wasselected = EINA_FALSE; + return; } if (dragged) { - if (item->want_unrealize) _item_unrealize(item); + if (item->want_unrealize) _item_unrealize(item); } if ((item->disabled) || (dragged)) return; if (item->wd->multi) { - if (!item->selected) - { - _item_hilight(item); - _item_select(item); - } - else _item_unselect(item); + if (!item->selected) + { + _item_hilight(item); + _item_select(item); + } + else _item_unselect(item); } else { - if (!item->selected) - { - while (item->wd->selected) - _item_unselect(item->wd->selected->data); - } - else - { - const Eina_List *l, *l_next; - Elm_Gengrid_Item *item2; + if (!item->selected) + { + while (item->wd->selected) + _item_unselect(item->wd->selected->data); + } + else + { + const Eina_List *l, *l_next; + Elm_Gengrid_Item *item2; - EINA_LIST_FOREACH_SAFE(item->wd->selected, l, l_next, item2) - if (item2 != item) _item_unselect(item2); - } - _item_hilight(item); - _item_select(item); + EINA_LIST_FOREACH_SAFE(item->wd->selected, l, l_next, item2) + if (item2 != item) _item_unselect(item2); + } + _item_hilight(item); + _item_select(item); } } @@ -874,14 +907,15 @@ _item_realize(Elm_Gengrid_Item *item) if ((item->realized) || (item->delete_me)) return; item->base.view = edje_object_add(evas_object_evas_get(item->wd->self)); edje_object_scale_set(item->base.view, elm_widget_scale_get(item->wd->self) * - _elm_config->scale); + _elm_config->scale); evas_object_smart_member_add(item->base.view, item->wd->pan_smart); elm_widget_sub_object_add(item->wd->self, item->base.view); snprintf(style, sizeof(style), "item/%s", - item->gic->item_style ? item->gic->item_style : "default"); + item->gic->item_style ? item->gic->item_style : "default"); _elm_theme_object_set(item->wd->self, item->base.view, "gengrid", style, elm_widget_style_get(item->wd->self)); - item->spacer = evas_object_rectangle_add(evas_object_evas_get(item->wd->self)); + item->spacer = + evas_object_rectangle_add(evas_object_evas_get(item->wd->self)); evas_object_color_set(item->spacer, 0, 0, 0, 0); elm_widget_sub_object_add(item->wd->self, item->spacer); evas_object_size_hint_min_set(item->spacer, 2 * _elm_config->scale, 1); @@ -889,78 +923,83 @@ _item_realize(Elm_Gengrid_Item *item) if (item->gic->func.label_get) { - const Eina_List *l; - const char *key; + const Eina_List *l; + const char *key; - item->labels = elm_widget_stringlist_get(edje_object_data_get(item->base.view, - "labels")); - EINA_LIST_FOREACH(item->labels, l, key) - { - char *s = item->gic->func.label_get - ((void *)item->base.data, item->wd->self, l->data); - if (s) - { - edje_object_part_text_set(item->base.view, l->data, s); - free(s); - } - } + item->labels = + elm_widget_stringlist_get(edje_object_data_get(item->base.view, + "labels")); + EINA_LIST_FOREACH(item->labels, l, key) + { + char *s = item->gic->func.label_get + ((void *)item->base.data, item->wd->self, l->data); + if (s) + { + edje_object_part_text_set(item->base.view, l->data, s); + free(s); + } + } } if (item->gic->func.icon_get) { - const Eina_List *l; - const char *key; + const Eina_List *l; + const char *key; - item->icons = elm_widget_stringlist_get(edje_object_data_get(item->base.view, - "icons")); - EINA_LIST_FOREACH(item->icons, l, key) - { - Evas_Object *ic = item->gic->func.icon_get - ((void *)item->base.data, item->wd->self, l->data); - if (ic) - { - item->icon_objs = eina_list_append(item->icon_objs, ic); - edje_object_part_swallow(item->base.view, key, ic); - evas_object_show(ic); - elm_widget_sub_object_add(item->wd->self, ic); - } - } + item->icons = + elm_widget_stringlist_get(edje_object_data_get(item->base.view, + "icons")); + EINA_LIST_FOREACH(item->icons, l, key) + { + Evas_Object *ic = item->gic->func.icon_get + ((void *)item->base.data, item->wd->self, l->data); + if (ic) + { + item->icon_objs = eina_list_append(item->icon_objs, ic); + edje_object_part_swallow(item->base.view, key, ic); + evas_object_show(ic); + elm_widget_sub_object_add(item->wd->self, ic); + } + } } if (item->gic->func.state_get) { - const Eina_List *l; - const char *key; + const Eina_List *l; + const char *key; - item->states = elm_widget_stringlist_get(edje_object_data_get(item->base.view, - "states")); - EINA_LIST_FOREACH(item->states, l, key) - { - Eina_Bool on = item->gic->func.state_get - ((void *)item->base.data, item->wd->self, l->data); - if (on) - { - snprintf(buf, sizeof(buf), "elm,state,%s,active", key); - edje_object_signal_emit(item->base.view, buf, "elm"); - } - } + item->states = + elm_widget_stringlist_get(edje_object_data_get(item->base.view, + "states")); + EINA_LIST_FOREACH(item->states, l, key) + { + Eina_Bool on = item->gic->func.state_get + ((void *)item->base.data, item->wd->self, l->data); + if (on) + { + snprintf(buf, sizeof(buf), "elm,state,%s,active", key); + edje_object_signal_emit(item->base.view, buf, "elm"); + } + } } if ((!item->wd->item_width) && (!item->wd->item_height)) { - edje_object_size_min_restricted_calc(item->base.view, - &item->wd->item_width, &item->wd->item_height, - item->wd->item_width, item->wd->item_height); - elm_coords_finger_size_adjust(1, &item->wd->item_width, - 1, &item->wd->item_height); + edje_object_size_min_restricted_calc(item->base.view, + &item->wd->item_width, + &item->wd->item_height, + item->wd->item_width, + item->wd->item_height); + elm_coords_finger_size_adjust(1, &item->wd->item_width, + 1, &item->wd->item_height); } evas_object_event_callback_add(item->base.view, EVAS_CALLBACK_MOUSE_DOWN, - _mouse_down, item); + _mouse_down, item); evas_object_event_callback_add(item->base.view, EVAS_CALLBACK_MOUSE_UP, - _mouse_up, item); + _mouse_up, item); evas_object_event_callback_add(item->base.view, EVAS_CALLBACK_MOUSE_MOVE, - _mouse_move, item); + _mouse_move, item); if (item->selected) edje_object_signal_emit(item->base.view, "elm,state,selected", "elm"); @@ -971,10 +1010,10 @@ _item_realize(Elm_Gengrid_Item *item) if (item->tooltip.content_cb) { - elm_widget_item_tooltip_content_cb_set(item, - item->tooltip.content_cb, - item->tooltip.data, NULL); - elm_widget_item_tooltip_style_set(item, item->tooltip.style); + elm_widget_item_tooltip_content_cb_set(item, + item->tooltip.content_cb, + item->tooltip.data, NULL); + elm_widget_item_tooltip_style_set(item, item->tooltip.style); } if (item->mouse_cursor) @@ -992,8 +1031,8 @@ _item_unrealize(Elm_Gengrid_Item *item) if (!item->realized) return; if (item->long_timer) { - ecore_timer_del(item->long_timer); - item->long_timer = NULL; + ecore_timer_del(item->long_timer); + item->long_timer = NULL; } evas_object_del(item->base.view); item->base.view = NULL; @@ -1014,7 +1053,9 @@ _item_unrealize(Elm_Gengrid_Item *item) } static void -_item_place(Elm_Gengrid_Item *item, Evas_Coord cx, Evas_Coord cy) +_item_place(Elm_Gengrid_Item *item, + Evas_Coord cx, + Evas_Coord cy) { Evas_Coord x, y, ox, oy, cvx, cvy, cvw, cvh; Evas_Coord tch, tcw, alignw = 0, alignh = 0, vw, vh; @@ -1037,20 +1078,20 @@ _item_place(Elm_Gengrid_Item *item, Evas_Coord cx, Evas_Coord cy) int columns, items_visible = 0, items_row; if (item->wd->item_height > 0) - items_visible = vh / item->wd->item_height; + items_visible = vh / item->wd->item_height; if (items_visible < 1) - items_visible = 1; + items_visible = 1; columns = item->wd->count / items_visible; if (item->wd->count % items_visible) - columns++; + columns++; tcw = item->wd->item_width * columns; alignw = (vw - tcw) * item->wd->align_x; items_row = items_visible; if (items_row > item->wd->count) - items_row = item->wd->count; + items_row = item->wd->count; tch = items_row * item->wd->item_height; alignh = (vh - tch) * item->wd->align_y; } @@ -1059,20 +1100,20 @@ _item_place(Elm_Gengrid_Item *item, Evas_Coord cx, Evas_Coord cy) int rows, items_visible = 0, items_col; if (item->wd->item_width > 0) - items_visible = vw / item->wd->item_width; + items_visible = vw / item->wd->item_width; if (items_visible < 1) - items_visible = 1; + items_visible = 1; rows = item->wd->count / items_visible; if (item->wd->count % items_visible) - rows++; + rows++; tch = item->wd->item_height * rows; alignh = (vh - tch) * item->wd->align_y; items_col = items_visible; if (items_col > item->wd->count) - items_col = item->wd->count; + items_col = item->wd->count; tcw = items_col * item->wd->item_width; alignw = (vw - tcw) * item->wd->align_x; } @@ -1082,25 +1123,29 @@ _item_place(Elm_Gengrid_Item *item, Evas_Coord cx, Evas_Coord cy) Eina_Bool was_realized = item->realized; if (ELM_RECTS_INTERSECT(x, y, item->wd->item_width, item->wd->item_height, - cvx, cvy, cvw, cvh)) + cvx, cvy, cvw, cvh)) { - _item_realize(item); - if (!was_realized) - evas_object_smart_callback_call(item->wd->self, "realized", item); - evas_object_move(item->base.view, x, y); - evas_object_resize(item->base.view, item->wd->item_width, - item->wd->item_height); + _item_realize(item); + if (!was_realized) + evas_object_smart_callback_call(item->wd->self, "realized", item); + evas_object_move(item->base.view, x, y); + evas_object_resize(item->base.view, item->wd->item_width, + item->wd->item_height); } else { _item_unrealize(item); - if (was_realized) - evas_object_smart_callback_call(item->wd->self, "unrealized", item); + if (was_realized) + evas_object_smart_callback_call(item->wd->self, "unrealized", item); } } static Elm_Gengrid_Item * -_item_create(Widget_Data *wd, const Elm_Gengrid_Item_Class *gic, const void *data, Evas_Smart_Cb func, const void *func_data) +_item_create(Widget_Data *wd, + const Elm_Gengrid_Item_Class *gic, + const void *data, + Evas_Smart_Cb func, + const void *func_data) { Elm_Gengrid_Item *item; @@ -1141,8 +1186,8 @@ _item_select(Elm_Gengrid_Item *item) if ((item->wd->no_select) || (item->delete_me)) return; if (item->selected) { - if (item->wd->always_select) goto call; - return; + if (item->wd->always_select) goto call; + return; } item->selected = EINA_TRUE; item->wd->selected = eina_list_append(item->wd->selected, item); @@ -1173,9 +1218,9 @@ _item_unselect(Elm_Gengrid_Item *item) item->hilighted = EINA_FALSE; if (item->selected) { - item->selected = EINA_FALSE; - item->wd->selected = eina_list_remove(item->wd->selected, item); - evas_object_smart_callback_call(item->wd->self, "unselected", item); + item->selected = EINA_FALSE; + item->wd->selected = eina_list_remove(item->wd->selected, item); + evas_object_smart_callback_call(item->wd->self, "unselected", item); } } @@ -1198,7 +1243,7 @@ _calc_job(void *data) count = wd->count; if (wd->horizontal) { - minw = ceil(count / (float)nmax) * wd->item_width; + minw = ceil(count / (float)nmax) * wd->item_width; minh = nmax * wd->item_height; } else @@ -1209,9 +1254,9 @@ _calc_job(void *data) if ((minw != wd->minw) || (minh != wd->minh)) { - wd->minh = minh; - wd->minw = minw; - evas_object_smart_callback_call(wd->pan_smart, "changed", NULL); + wd->minh = minh; + wd->minw = minw; + evas_object_smart_callback_call(wd->pan_smart, "changed", NULL); } wd->nmax = nmax; @@ -1244,7 +1289,9 @@ _pan_del(Evas_Object *obj) } static void -_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) +_pan_set(Evas_Object *obj, + Evas_Coord x, + Evas_Coord y) { Pan *sd = evas_object_smart_data_get(obj); if ((x == sd->wd->pan_x) && (y == sd->wd->pan_y)) return; @@ -1254,7 +1301,9 @@ _pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) } static void -_pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) +_pan_get(Evas_Object *obj, + Evas_Coord *x, + Evas_Coord *y) { Pan *sd = evas_object_smart_data_get(obj); if (x) *x = sd->wd->pan_x; @@ -1262,7 +1311,9 @@ _pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) } static void -_pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) +_pan_child_size_get(Evas_Object *obj, + Evas_Coord *w, + Evas_Coord *h) { Pan *sd = evas_object_smart_data_get(obj); if (w) *w = sd->wd->minw; @@ -1270,7 +1321,9 @@ _pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) } static void -_pan_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) +_pan_max_get(Evas_Object *obj, + Evas_Coord *x, + Evas_Coord *y) { Pan *sd = evas_object_smart_data_get(obj); Evas_Coord ow, oh; @@ -1284,7 +1337,9 @@ _pan_max_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) } static void -_pan_min_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) +_pan_min_get(Evas_Object *obj, + Evas_Coord *x, + Evas_Coord *y) { Pan *sd = evas_object_smart_data_get(obj); Evas_Coord mx, my; @@ -1292,13 +1347,15 @@ _pan_min_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y) if (!sd) return; _pan_max_get(obj, &mx, &my); if (x) - *x = -mx * sd->wd->align_x; + *x = -mx * sd->wd->align_x; if (y) - *y = -my * sd->wd->align_y; + *y = -my * sd->wd->align_y; } static void -_pan_resize(Evas_Object *obj, Evas_Coord w, Evas_Coord h) +_pan_resize(Evas_Object *obj, + Evas_Coord w, + Evas_Coord h) { Pan *sd = evas_object_smart_data_get(obj); Evas_Coord ow, oh; @@ -1320,24 +1377,26 @@ _pan_calculate(Evas_Object *obj) if (!sd->wd->nmax) return; EINA_INLIST_FOREACH(sd->wd->items, item) - { - _item_place(item, cx, cy); - if (sd->wd->horizontal) - { - cy = (cy + 1) % sd->wd->nmax; - if (!cy) cx++; - } - else - { - cx = (cx + 1) % sd->wd->nmax; - if (!cx) cy++; - } - } + { + _item_place(item, cx, cy); + if (sd->wd->horizontal) + { + cy = (cy + 1) % sd->wd->nmax; + if (!cy) cx++; + } + else + { + cx = (cx + 1) % sd->wd->nmax; + if (!cx) cy++; + } + } evas_object_smart_callback_call(sd->wd->self, "changed", NULL); } static void -_pan_move(Evas_Object *obj, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__) +_pan_move(Evas_Object *obj, + Evas_Coord x __UNUSED__, + Evas_Coord y __UNUSED__) { Pan *sd = evas_object_smart_data_get(obj); if (!sd) return; @@ -1346,7 +1405,9 @@ _pan_move(Evas_Object *obj, Evas_Coord x __UNUSED__, Evas_Coord y __UNUSED__) } static void -_hold_on(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +_hold_on(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -1354,7 +1415,9 @@ _hold_on(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) } static void -_hold_off(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +_hold_off(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -1362,7 +1425,9 @@ _hold_off(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) } static void -_freeze_on(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +_freeze_on(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -1370,7 +1435,9 @@ _freeze_on(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) } static void -_freeze_off(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +_freeze_off(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) { Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; @@ -1378,19 +1445,25 @@ _freeze_off(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__ } static void -_scr_drag_start(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_scr_drag_start(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) { evas_object_smart_callback_call(data, "scroll,drag,start", NULL); } static void -_scr_drag_stop(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_scr_drag_stop(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) { evas_object_smart_callback_call(data, "scroll,drag,stop", NULL); } static void -_scr_scroll(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_scr_scroll(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) { evas_object_smart_callback_call(data, "scroll", NULL); } @@ -1437,7 +1510,8 @@ elm_gengrid_add(Evas_Object *parent) wd->scr = elm_smart_scroller_add(e); elm_smart_scroller_widget_set(wd->scr, obj); - elm_smart_scroller_object_theme_set(obj, wd->scr, "gengrid", "base", "default"); + elm_smart_scroller_object_theme_set(obj, wd->scr, "gengrid", "base", + "default"); elm_widget_resize_object_set(obj, wd->scr); evas_object_smart_callback_add(wd->scr, "drag,start", _scr_drag_start, obj); @@ -1458,24 +1532,24 @@ elm_gengrid_add(Evas_Object *parent) if (!smart) { - static Evas_Smart_Class sc; + static Evas_Smart_Class sc; - evas_object_smart_clipped_smart_set(&_pan_sc); - sc = _pan_sc; - sc.name = "elm_gengrid_pan"; - sc.version = EVAS_SMART_CLASS_VERSION; - sc.add = _pan_add; - sc.del = _pan_del; - sc.resize = _pan_resize; - sc.move = _pan_move; - sc.calculate = _pan_calculate; - smart = evas_smart_class_new(&sc); + evas_object_smart_clipped_smart_set(&_pan_sc); + sc = _pan_sc; + sc.name = "elm_gengrid_pan"; + sc.version = EVAS_SMART_CLASS_VERSION; + sc.add = _pan_add; + sc.del = _pan_del; + sc.resize = _pan_resize; + sc.move = _pan_move; + sc.calculate = _pan_calculate; + smart = evas_smart_class_new(&sc); } if (smart) { - wd->pan_smart = evas_object_smart_add(e, smart); - wd->pan = evas_object_smart_data_get(wd->pan_smart); - wd->pan->wd = wd; + wd->pan_smart = evas_object_smart_add(e, smart); + wd->pan = evas_object_smart_data_get(wd->pan_smart); + wd->pan->wd = wd; } elm_smart_scroller_extern_pan_set(wd->scr, wd->pan_smart, @@ -1497,7 +1571,9 @@ elm_gengrid_add(Evas_Object *parent) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) +elm_gengrid_item_size_set(Evas_Object *obj, + Evas_Coord w, + Evas_Coord h) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -1521,7 +1597,9 @@ elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) +elm_gengrid_item_size_get(const Evas_Object *obj, + Evas_Coord *w, + Evas_Coord *h) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -1542,7 +1620,9 @@ elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) * @ingroup Gengrid */ EAPI void -elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y) +elm_gengrid_align_set(Evas_Object *obj, + double align_x, + double align_y) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -1572,12 +1652,14 @@ elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y) * @ingroup Gengrid */ EAPI void -elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y) +elm_gengrid_align_get(const Evas_Object *obj, + double *align_x, + double *align_y) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - if (align_x) *align_x = wd->align_x; - if (align_y) *align_y = wd->align_y; + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + if (align_x) *align_x = wd->align_x; + if (align_y) *align_y = wd->align_y; } /** @@ -1598,9 +1680,11 @@ elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y) * @ingroup Gengrid */ EAPI Elm_Gengrid_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) +elm_gengrid_item_append(Evas_Object *obj, + const Elm_Gengrid_Item_Class *gic, + const void *data, + Evas_Smart_Cb func, + const void *func_data) { Elm_Gengrid_Item *item; ELM_CHECK_WIDTYPE(obj, widtype) NULL; @@ -1618,28 +1702,30 @@ elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, } /** - * Add item at start of the Gengrid. - * - * This adds an item to the beginning of the grid. - * - * @param obj The Gengrid object. - * @param gic The item class for the item. - * @param data The item data. - * @param func Convenience function called when item is selected. - * @param func_data Data passed to @p func above. - * @return A handle to the item added or NULL if not possible. - * - * @see elm_gengrid_item_append() - * @see elm_gengrid_item_insert_before() - * @see elm_gengrid_item_insert_after() - * @see elm_gengrid_item_del() - * - * @ingroup Gengrid - */ + * Add item at start of the Gengrid. + * + * This adds an item to the beginning of the grid. + * + * @param obj The Gengrid object. + * @param gic The item class for the item. + * @param data The item data. + * @param func Convenience function called when item is selected. + * @param func_data Data passed to @p func above. + * @return A handle to the item added or NULL if not possible. + * + * @see elm_gengrid_item_append() + * @see elm_gengrid_item_insert_before() + * @see elm_gengrid_item_insert_after() + * @see elm_gengrid_item_del() + * + * @ingroup Gengrid + */ EAPI Elm_Gengrid_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) +elm_gengrid_item_prepend(Evas_Object *obj, + const Elm_Gengrid_Item_Class *gic, + const void *data, + Evas_Smart_Cb func, + const void *func_data) { Elm_Gengrid_Item *item; ELM_CHECK_WIDTYPE(obj, widtype) NULL; @@ -1657,31 +1743,32 @@ elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, } /** - * Insert and item before another in the Gengrid. - * - * This inserts an item before another in the grid. - * - * @param obj The Gengrid object. - * @param gic The item class for the item. - * @param data The item data. - * @param relative The item to which insert before. - * @param func Convenience function called when item is selected. - * @param func_data Data passed to @p func above. - * @return A handle to the item added or NULL if not possible. - * - * @see elm_gengrid_item_append() - * @see elm_gengrid_item_prepend() - * @see elm_gengrid_item_insert_after() - * @see elm_gengrid_item_del() - * - * @ingroup Gengrid + * Insert and item before another in the Gengrid. + * + * This inserts an item before another in the grid. + * + * @param obj The Gengrid object. + * @param gic The item class for the item. + * @param data The item data. + * @param relative The item to which insert before. + * @param func Convenience function called when item is selected. + * @param func_data Data passed to @p func above. + * @return A handle to the item added or NULL if not possible. + * + * @see elm_gengrid_item_append() + * @see elm_gengrid_item_prepend() + * @see elm_gengrid_item_insert_after() + * @see elm_gengrid_item_del() + * + * @ingroup Gengrid */ EAPI Elm_Gengrid_Item * -elm_gengrid_item_insert_before(Evas_Object *obj, +elm_gengrid_item_insert_before(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, - const void *data, - Elm_Gengrid_Item *relative, - Evas_Smart_Cb func, const void *func_data) + const void *data, + Elm_Gengrid_Item *relative, + Evas_Smart_Cb func, + const void *func_data) { Elm_Gengrid_Item *item; ELM_CHECK_WIDTYPE(obj, widtype) NULL; @@ -1692,7 +1779,7 @@ elm_gengrid_item_insert_before(Evas_Object *obj, item = _item_create(wd, gic, data, func, func_data); if (!item) return NULL; wd->items = eina_inlist_prepend_relative - (wd->items, EINA_INLIST_GET(item), EINA_INLIST_GET(relative)); + (wd->items, EINA_INLIST_GET(item), EINA_INLIST_GET(relative)); if (wd->calc_job) ecore_job_del(wd->calc_job); wd->calc_job = ecore_job_add(_calc_job, wd); @@ -1701,31 +1788,32 @@ elm_gengrid_item_insert_before(Evas_Object *obj, } /** - * Insert and item after another in the Gengrid. - * - * This inserts an item after another in the grid. - * - * @param obj The Gengrid object. - * @param gic The item class for the item. - * @param data The item data. - * @param relative The item to which insert after. - * @param func Convenience function called when item is selected. - * @param func_data Data passed to @p func above. - * @return A handle to the item added or NULL if not possible. - * - * @see elm_gengrid_item_append() - * @see elm_gengrid_item_prepend() - * @see elm_gengrid_item_insert_before() - * @see elm_gengrid_item_del() - * - * @ingroup Gengrid + * Insert and item after another in the Gengrid. + * + * This inserts an item after another in the grid. + * + * @param obj The Gengrid object. + * @param gic The item class for the item. + * @param data The item data. + * @param relative The item to which insert after. + * @param func Convenience function called when item is selected. + * @param func_data Data passed to @p func above. + * @return A handle to the item added or NULL if not possible. + * + * @see elm_gengrid_item_append() + * @see elm_gengrid_item_prepend() + * @see elm_gengrid_item_insert_before() + * @see elm_gengrid_item_del() + * + * @ingroup Gengrid */ EAPI Elm_Gengrid_Item * -elm_gengrid_item_insert_after(Evas_Object *obj, +elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, - const void *data, - Elm_Gengrid_Item *relative, - Evas_Smart_Cb func, const void *func_data) + const void *data, + Elm_Gengrid_Item *relative, + Evas_Smart_Cb func, + const void *func_data) { Elm_Gengrid_Item *item; ELM_CHECK_WIDTYPE(obj, widtype) NULL; @@ -1736,7 +1824,7 @@ elm_gengrid_item_insert_after(Evas_Object *obj, item = _item_create(wd, gic, data, func, func_data); if (!item) return NULL; wd->items = eina_inlist_append_relative - (wd->items, EINA_INLIST_GET(item), EINA_INLIST_GET(relative)); + (wd->items, EINA_INLIST_GET(item), EINA_INLIST_GET(relative)); if (wd->calc_job) ecore_job_del(wd->calc_job); wd->calc_job = ecore_job_add(_calc_job, wd); @@ -1760,13 +1848,13 @@ elm_gengrid_item_del(Elm_Gengrid_Item *item) ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); if ((item->relcount > 0) || (item->walking > 0)) { - item->delete_me = EINA_TRUE; + item->delete_me = EINA_TRUE; elm_widget_item_pre_notify_del(item); - if (item->selected) - item->wd->selected = eina_list_remove(item->wd->selected, item); - if (item->gic->func.del) - item->gic->func.del((void *)item->base.data, item->wd->self); - return; + if (item->selected) + item->wd->selected = eina_list_remove(item->wd->selected, item); + if (item->gic->func.del) + item->gic->func.del((void *)item->base.data, item->wd->self); + return; } _item_del(item); @@ -1779,13 +1867,14 @@ elm_gengrid_item_del(Elm_Gengrid_Item *item) * Set for what direction the Gengrid will expand. * * @param obj The Gengrid object. - * @param setting If @c EINA_TRUE the Gengrid will expand horizontally or - * vertically if @c EINA_FALSE. + * @param setting If @c EINA_TRUE the Gengrid will expand horizontally + * or vertically if @c EINA_FALSE. * * @ingroup Gengrid */ EAPI void -elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting) +elm_gengrid_horizontal_set(Evas_Object *obj, + Eina_Bool setting) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -1827,7 +1916,7 @@ elm_gengrid_clear(Evas_Object *obj) Elm_Gengrid_Item *item; wd->clear_me = 1; EINA_INLIST_FOREACH(wd->items, item) - item->delete_me = 1; + item->delete_me = 1; return; } wd->clear_me = 0; @@ -1862,12 +1951,13 @@ elm_gengrid_clear(Evas_Object *obj) /** * Get the real evas object of the Gengrid item * - * This returns the actual evas object used for the specified Gengrid item. - * This may be NULL as it may not be created, and may be deleted at any time - * by Gengrid. Do not modify this object (move, resize, show, hide etc.) as - * Gengrid is controlling it. This function is for querying, emitting custom - * signals or hooking lower level callbacks for events. Do not delete this - * object under any circumstances. + * This returns the actual evas object used for the specified Gengrid + * item. This may be NULL as it may not be created, and may be + * deleted at any time by Gengrid. Do not modify this object (move, + * resize, show, hide etc.) as Gengrid is controlling it. This + * function is for querying, emitting custom signals or hooking lower + * level callbacks for events. Do not delete this object under any + * circumstances. * * @param item The Gengrid item. * @return the evas object associated to this item. @@ -1886,9 +1976,9 @@ elm_gengrid_item_object_get(const Elm_Gengrid_Item *item) /** * Update the contents of an item * - * This updates an item by calling all the item class functions again to get - * the icons, labels and states. Use this when the original item data has - * changed and the changes are desired to be reflected. + * This updates an item by calling all the item class functions again + * to get the icons, labels and states. Use this when the original + * item data has changed and the changes are desired to be reflected. * * @param item The item * @@ -1908,8 +1998,8 @@ elm_gengrid_item_update(Elm_Gengrid_Item *item) /** * Returns the data associated to a item * - * This returns the data value passed on the elm_gengrid_item_append() and - * related item addition calls. + * This returns the data value passed on the elm_gengrid_item_append() + * and related item addition calls. * * @param item The Gengrid item. * @return the data associated to this item. @@ -1931,8 +2021,8 @@ elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) * * This set the data value passed on the elm_gengrid_item_append() and * related item addition calls. This function will also call - * elm_gengrid_item_update() so the item will be updated to reflect the - * new data. + * elm_gengrid_item_update() so the item will be updated to reflect + * the new data. * * @param item The item * @param data The new data pointer to set @@ -1940,7 +2030,8 @@ elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_data_set(Elm_Gengrid_Item *item, const void *data) +elm_gengrid_item_data_set(Elm_Gengrid_Item *item, + const void *data) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); elm_widget_item_data_set(item, data); @@ -1959,7 +2050,9 @@ elm_gengrid_item_data_set(Elm_Gengrid_Item *item, const void *data) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned int *y) +elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, + unsigned int *x, + unsigned int *y) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); if (x) *x = item->x; @@ -1969,8 +2062,8 @@ elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned /** * Enable or disable multi-select in the Gengrid. * - * This enables (EINA_TRUE) or disables (EINA_FALSE) multi-select in the Gengrid. - * This allows more than 1 item to be selected. + * This enables (EINA_TRUE) or disables (EINA_FALSE) multi-select in + * the Gengrid. This allows more than 1 item to be selected. * * @param obj The Gengrid object. * @param multi Multi-select enabled/disabled @@ -1978,7 +2071,8 @@ elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned * @ingroup Gengrid */ EAPI void -elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi) +elm_gengrid_multi_select_set(Evas_Object *obj, + Eina_Bool multi) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -2007,9 +2101,10 @@ elm_gengrid_multi_select_get(const Evas_Object *obj) /** * Get the selected item in the Gengrid * - * This gets the selected item in the Gengrid (if multi-select is enabled only - * the first item in the list is selected - which is not very useful, so see - * elm_gengrid_selected_items_get() for when multi-select is used). + * This gets the selected item in the Gengrid (if multi-select is + * enabled only the first item in the list is selected - which is not + * very useful, so see elm_gengrid_selected_items_get() for when + * multi-select is used). * * If no item is selected, NULL is returned. * @@ -2031,9 +2126,10 @@ elm_gengrid_selected_item_get(const Evas_Object *obj) /** * Get a list of selected items in the Gengrid. * - * This returns a list of the selected items. This list pointer is only valid - * so long as no items are selected or unselected (or unselected implictly by - * deletion). The list contains Elm_Gengrid_Item pointers. + * This returns a list of the selected items. This list pointer is + * only valid so long as no items are selected or unselected (or + * unselected implictly by deletion). The list contains + * Elm_Gengrid_Item pointers. * * @param obj The Gengrid object. * @return The list of selected items, or NULL if none are selected. @@ -2052,8 +2148,9 @@ elm_gengrid_selected_items_get(const Evas_Object *obj) /** * Set the selected state of a item. * - * This sets the selected state of a item. If multi-select is not enabled and - * selected is EINA_TRUE, previously selected items are unselected. + * This sets the selected state of a item. If multi-select is not + * enabled and selected is EINA_TRUE, previously selected items are + * unselected. * * @param item The item * @param selected The selected state. @@ -2061,7 +2158,8 @@ elm_gengrid_selected_items_get(const Evas_Object *obj) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) +elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, + Eina_Bool selected) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); Widget_Data *wd = item->wd; @@ -2072,13 +2170,13 @@ elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) if (selected) { - if (!wd->multi) - { - while (wd->selected) - _item_unselect(wd->selected->data); - } - _item_hilight(item); - _item_select(item); + if (!wd->multi) + { + while (wd->selected) + _item_unselect(wd->selected->data); + } + _item_hilight(item); + _item_select(item); } else _item_unselect(item); @@ -2104,9 +2202,9 @@ elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) /** * Sets the disabled state of a item. * - * A disabled item cannot be selected or unselected. It will also change - * appearance to disabled. This sets the disabled state (1 disabled, 0 not - * disabled). + * A disabled item cannot be selected or unselected. It will also + * change appearance to disabled. This sets the disabled state (1 + * disabled, 0 not disabled). * * @param item The item * @param disabled The disabled state @@ -2114,7 +2212,8 @@ elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, Eina_Bool disabled) +elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, + Eina_Bool disabled) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); if (item->disabled == disabled) return; @@ -2122,10 +2221,10 @@ elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, Eina_Bool disabled) item->disabled = disabled; if (item->realized) { - if (item->disabled) - edje_object_signal_emit(item->base.view, "elm,state,disabled", "elm"); - else - edje_object_signal_emit(item->base.view, "elm,state,enabled", "elm"); + if (item->disabled) + edje_object_signal_emit(item->base.view, "elm,state,disabled", "elm"); + else + edje_object_signal_emit(item->base.view, "elm,state,enabled", "elm"); } } @@ -2148,7 +2247,9 @@ elm_gengrid_item_disabled_get(const Elm_Gengrid_Item *item) } static Evas_Object * -_elm_gengrid_item_label_create(void *data, Evas_Object *obj, void *item __UNUSED__) +_elm_gengrid_item_label_create(void *data, + Evas_Object *obj, + void *item __UNUSED__) { Evas_Object *label = elm_label_add(obj); if (!label) @@ -2159,7 +2260,9 @@ _elm_gengrid_item_label_create(void *data, Evas_Object *obj, void *item __UNUSED } static void -_elm_gengrid_item_label_del_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_elm_gengrid_item_label_del_cb(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) { eina_stringshare_del(data); } @@ -2170,27 +2273,30 @@ _elm_gengrid_item_label_del_cb(void *data, Evas_Object *obj __UNUSED__, void *ev * @param item Target item * @param text The text to set in the content * - * Setup the text as tooltip to object. The item can have only one tooltip, - * so any previous tooltip data is removed. + * Setup the text as tooltip to object. The item can have only one + * tooltip, so any previous tooltip data is removed. * * @ingroup Gengrid */ EAPI void -elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) +elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, + const char *text) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); text = eina_stringshare_add(text); - elm_gengrid_item_tooltip_content_cb_set(item, _elm_gengrid_item_label_create, text, _elm_gengrid_item_label_del_cb); + elm_gengrid_item_tooltip_content_cb_set(item, _elm_gengrid_item_label_create, + text, + _elm_gengrid_item_label_del_cb); } /** * Set the content to be shown in the tooltip item * - * Setup the tooltip to item. The item can have only one tooltip, - * so any previous tooltip data is removed. @p func(with @p data) will - * be called every time that need show the tooltip and it should - * return a valid Evas_Object. This object is then managed fully by - * tooltip system and is deleted when the tooltip is gone. + * Setup the tooltip to item. The item can have only one tooltip, so + * any previous tooltip data is removed. @p func(with @p data) will be + * called every time that need show the tooltip and it should return a + * valid Evas_Object. This object is then managed fully by tooltip + * system and is deleted when the tooltip is gone. * * @param item the gengrid item being attached a tooltip. * @param func the function used to create the tooltip contents. @@ -2204,7 +2310,10 @@ elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) +elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, + Elm_Tooltip_Item_Content_Cb func, + const void *data, + Evas_Smart_Cb del_cb) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_GOTO(item, error); @@ -2213,16 +2322,16 @@ elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, Elm_Tooltip_Item if (item->tooltip.del_cb) item->tooltip.del_cb((void *)item->tooltip.data, - item->base.widget, item); + item->base.widget, item); item->tooltip.content_cb = func; item->tooltip.data = data; item->tooltip.del_cb = del_cb; if (item->base.view) { - elm_widget_item_tooltip_content_cb_set(item, - item->tooltip.content_cb, - item->tooltip.data, NULL); - elm_widget_item_tooltip_style_set(item, item->tooltip.style); + elm_widget_item_tooltip_content_cb_set(item, + item->tooltip.content_cb, + item->tooltip.data, NULL); + elm_widget_item_tooltip_style_set(item, item->tooltip.style); } return; @@ -2249,7 +2358,7 @@ elm_gengrid_item_tooltip_unset(Elm_Gengrid_Item *item) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); if ((item->base.view) && (item->tooltip.content_cb)) - elm_widget_item_tooltip_unset(item); + elm_widget_item_tooltip_unset(item); if (item->tooltip.del_cb) item->tooltip.del_cb((void *)item->tooltip.data, item->base.widget, item); @@ -2273,7 +2382,8 @@ elm_gengrid_item_tooltip_unset(Elm_Gengrid_Item *item) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_tooltip_style_set(Elm_Gengrid_Item *item, const char *style) +elm_gengrid_item_tooltip_style_set(Elm_Gengrid_Item *item, + const char *style) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); eina_stringshare_replace(&item->tooltip.style, style); @@ -2306,7 +2416,8 @@ elm_gengrid_item_tooltip_style_get(const Elm_Gengrid_Item *item) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_cursor_set(Elm_Gengrid_Item *item, const char *cursor) +elm_gengrid_item_cursor_set(Elm_Gengrid_Item *item, + const char *cursor) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); eina_stringshare_replace(&item->mouse_cursor, cursor); @@ -2362,7 +2473,8 @@ elm_gengrid_item_cursor_unset(Elm_Gengrid_Item *item) * @ingroup Gengrid */ EAPI void -elm_gengrid_item_cursor_style_set(Elm_Gengrid_Item *item, const char *style) +elm_gengrid_item_cursor_style_set(Elm_Gengrid_Item *item, + const char *style) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); elm_widget_item_cursor_style_set(item, style); @@ -2388,18 +2500,20 @@ elm_gengrid_item_cursor_style_get(const Elm_Gengrid_Item *item) * Set if the cursor set should be searched on the theme or should use * the provided by the engine, only. * - * @note before you set if should look on theme you should define a cursor - * with elm_object_cursor_set(). By default it will only look for cursors - * provided by the engine. + * @note before you set if should look on theme you should define a + * cursor with elm_object_cursor_set(). By default it will only look + * for cursors provided by the engine. * * @param item widget item with cursor already set. - * @param engine_only boolean to define it cursors should be looked only - * between the provided by the engine or searched on widget's theme as well. + * @param engine_only boolean to define it cursors should be looked + * only between the provided by the engine or searched on widget's + * theme as well. * * @ingroup Gengrid */ EAPI void -elm_gengrid_item_cursor_engine_only_set(Elm_Gengrid_Item *item, Eina_Bool engine_only) +elm_gengrid_item_cursor_engine_only_set(Elm_Gengrid_Item *item, + Eina_Bool engine_only) { ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item); elm_widget_item_cursor_engine_only_set(item, engine_only); @@ -2409,9 +2523,10 @@ elm_gengrid_item_cursor_engine_only_set(Elm_Gengrid_Item *item, Eina_Bool engine * Get the cursor engine only usage for this item cursor. * * @param item widget item with cursor already set. - * @return engine_only boolean to define it cursors should be looked only - * between the provided by the engine or searched on widget's theme as well. If - * the object does not have a cursor set, then EINA_FALSE is returned. + * @return engine_only boolean to define it cursors should be looked + * only between the provided by the engine or searched on widget's + * theme as well. If the object does not have a cursor set, then + * EINA_FALSE is returned. * * @ingroup Gengrid */ @@ -2425,18 +2540,21 @@ elm_gengrid_item_cursor_engine_only_get(const Elm_Gengrid_Item *item) /** * Set the always select mode. * - * Cells will only call their selection func and callback when first becoming - * selected. Any further clicks will do nothing, unless you enable always select - * with elm_gengrid_always_select_mode_set(). This means even if selected, + * Cells will only call their selection func and callback when first + * becoming selected. Any further clicks will do nothing, unless you + * enable always select with + * elm_gengrid_always_select_mode_set(). This means even if selected, * every click will make the selected callbacks be called. * * @param obj The Gengrid object - * @param always_select The always select mode (EINA_TRUE = on, EINA_FALSE = off) + * @param always_select The always select mode (EINA_TRUE = on, + * EINA_FALSE = off) * * @ingroup Gengrid */ EAPI void -elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) +elm_gengrid_always_select_mode_set(Evas_Object *obj, + Eina_Bool always_select) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -2464,8 +2582,8 @@ elm_gengrid_always_select_mode_get(const Evas_Object *obj) /** * Set no select mode. * - * This will turn off the ability to select items entirely and they will - * neither appear selected nor call selected callback functions. + * This will turn off the ability to select items entirely and they + * will neither appear selected nor call selected callback functions. * * @param obj The Gengrid object * @param no_select The no select mode (EINA_TRUE = on, EINA_FALSE = off) @@ -2473,7 +2591,8 @@ elm_gengrid_always_select_mode_get(const Evas_Object *obj) * @ingroup Gengrid */ EAPI void -elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) +elm_gengrid_no_select_mode_set(Evas_Object *obj, + Eina_Bool no_select) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); @@ -2501,8 +2620,8 @@ elm_gengrid_no_select_mode_get(const Evas_Object *obj) /** * Set bounce mode. * - * This will enable or disable the scroller bounce mode for the Gengrid. See - * elm_scroller_bounce_set() for details. + * This will enable or disable the scroller bounce mode for the + * Gengrid. See elm_scroller_bounce_set() for details. * * @param obj The Gengrid object * @param h_bounce Allow bounce horizontally @@ -2511,7 +2630,9 @@ elm_gengrid_no_select_mode_get(const Evas_Object *obj) * @ingroup Gengrid */ EAPI void -elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) +elm_gengrid_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); @@ -2529,7 +2650,9 @@ elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) * @ingroup Gengrid */ EAPI void -elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) +elm_gengrid_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); @@ -2552,16 +2675,17 @@ elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v /** * Set 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. + * 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 @@ -2570,7 +2694,9 @@ elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v * @ingroup Gengrid */ EAPI void -elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) +elm_gengrid_page_relative_set(Evas_Object *obj, + double h_pagerel, + double v_pagerel) { Evas_Coord pagesize_h; Evas_Coord pagesize_v; @@ -2580,16 +2706,16 @@ elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pager 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); - + elm_smart_scroller_paging_set(wd->scr, h_pagerel, v_pagerel, pagesize_h, + pagesize_v); } /** * Set gengrid scroll page size. * - * See also elm_gengrid_page_relative_set(). This, instead of a page size - * being relative to the viewport, sets it to an absolute fixed value, with - * 0 turning it off for that axis. + * See also elm_gengrid_page_relative_set(). This, instead of a page + * size being relative to the viewport, sets it to an absolute fixed + * value, with 0 turning it off for that axis. * * @param obj The gengrid object * @param h_pagesize The horizontal page size @@ -2598,8 +2724,10 @@ elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pager * @ingroup Gengrid */ EAPI void -elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) -{ +elm_gengrid_page_size_set(Evas_Object *obj, + Evas_Coord h_pagesize, + Evas_Coord v_pagesize) +{ double pagerel_h; double pagerel_v; @@ -2607,7 +2735,8 @@ elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_ 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); + elm_smart_scroller_paging_set(wd->scr, pagerel_h, pagerel_v, h_pagesize, + v_pagesize); } /** @@ -2671,8 +2800,8 @@ elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, NULL); while (item) { - item = ELM_GENGRID_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->next); - if ((item) && (!item->delete_me)) break; + item = ELM_GENGRID_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->next); + if ((item) && (!item->delete_me)) break; } return (Elm_Gengrid_Item *)item; } @@ -2693,8 +2822,8 @@ elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, NULL); while (item) { - item = ELM_GENGRID_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->prev); - if ((item) && (!item->delete_me)) break; + item = ELM_GENGRID_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->prev); + if ((item) && (!item->delete_me)) break; } return (Elm_Gengrid_Item *)item; } @@ -2716,12 +2845,11 @@ elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) return item->base.widget; } - /** * Show the given item * - * This causes gengrid to jump to the given item @p item and show it (by scrolling), - * if it is not fully visible. + * This causes gengrid to jump to the given item @p item and show it + * (by scrolling), if it is not fully visible. * * @param item The item * @@ -2741,15 +2869,16 @@ elm_gengrid_item_show(Elm_Gengrid_Item *item) elm_smart_scroller_child_region_show(item->wd->scr, item->x * wd->item_width + minx, item->y * wd->item_height + miny, - item->wd->item_width, item->wd->item_height); + item->wd->item_width, + item->wd->item_height); } /** * Bring in the given item * - * This causes gengrig to jump to the given item @p item and show it (by scrolling), - * if it is not fully visible. This may use animation to do so and take a - * period of time + * This causes gengrig to jump to the given item @p item and show it + * (by scrolling), if it is not fully visible. This may use animation + * to do so and take a period of time * * @param item The item * @@ -2769,5 +2898,6 @@ elm_gengrid_item_bring_in(Elm_Gengrid_Item *item) elm_smart_scroller_region_bring_in(item->wd->scr, item->x * wd->item_width + minx, item->y * wd->item_height + miny, - item->wd->item_width, item->wd->item_height); + item->wd->item_width, + item->wd->item_height); }