diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index fc69fc2781..a439020b9b 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -1954,7 +1954,7 @@ elm_gengrid_add(Evas_Object *parent) elm_smart_scroller_object_theme_set(obj, wd->scr, "gengrid", "base", "default"); elm_smart_scroller_bounce_allow_set(wd->scr, bounce, - _elm_config->thumbscroll_bounce_enable); + _elm_config->thumbscroll_bounce_enable); elm_widget_resize_object_set(obj, wd->scr); evas_object_smart_callback_add(wd->scr, "animate,start", _scr_anim_start, obj); @@ -2237,13 +2237,14 @@ elm_gengrid_item_del(Elm_Object_Item *it) EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, - Eina_Bool setting) + Eina_Bool horizontal) { ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; - if (setting == wd->horizontal) return; - wd->horizontal = setting; + horizontal = !!horizontal; + if (horizontal == wd->horizontal) return; + wd->horizontal = horizontal; /* Update the items to conform to the new layout */ if (wd->calc_job) ecore_job_del(wd->calc_job); @@ -2300,10 +2301,7 @@ elm_gengrid_item_data_set(Elm_Object_Item *it, EAPI const Elm_Gengrid_Item_Class * elm_gengrid_item_item_class_get(const Elm_Object_Item *it) { - ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL); - Elm_Gen_Item *_it = (Elm_Gen_Item *) it; - if (_it->generation < _it->wd->generation) return NULL; - return _it->itc; + return (Elm_Gengrid_Item_Class *) elm_genlist_item_item_class_get(it); } EAPI void @@ -2335,7 +2333,7 @@ elm_gengrid_multi_select_set(Evas_Object *obj, ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; - wd->multi = multi; + wd->multi = !!multi; } EAPI Eina_Bool @@ -2360,10 +2358,7 @@ elm_gengrid_selected_item_get(const Evas_Object *obj) EAPI const Eina_List * elm_gengrid_selected_items_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) NULL; - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return NULL; - return wd->selected; + return elm_gengrid_selected_items_get(obj); } EAPI void @@ -2571,7 +2566,7 @@ elm_gengrid_reorder_mode_set(Evas_Object *obj, ELM_CHECK_WIDTYPE(obj, widtype); Widget_Data *wd = elm_widget_data_get(obj); if (!wd) return; - wd->reorder_mode = reorder_mode; + wd->reorder_mode = !!reorder_mode; } EAPI Eina_Bool @@ -2787,6 +2782,7 @@ elm_gengrid_item_class_new(void) return itc; } +//XXX: notify class version to user if it is mismatched EAPI void elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc) { @@ -2802,6 +2798,7 @@ elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc) } } +//XXX: notify class version to user if it is mismatched EAPI void elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc) { @@ -2812,6 +2809,7 @@ elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc) } } +//XXX: notify class version to user if it is mismatched EAPI void elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc) { diff --git a/legacy/elementary/src/lib/elm_gengrid.h b/legacy/elementary/src/lib/elm_gengrid.h index fc502b4559..a099e017ea 100644 --- a/legacy/elementary/src/lib/elm_gengrid.h +++ b/legacy/elementary/src/lib/elm_gengrid.h @@ -585,6 +585,7 @@ EAPI Elm_Object_Item *elm_gengrid_item_sorted_insert(Evas_Object *ob * * @ingroup Gengrid */ +//XXX: should be removed. EAPI Elm_Object_Item *elm_gengrid_item_direct_sorted_insert(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data); /** @@ -607,6 +608,7 @@ EAPI Elm_Object_Item *elm_gengrid_item_direct_sorted_insert(Evas_Obj * * @ingroup Gengrid */ +//XXX: How about elm_gengrid_select_mode_set() ? EAPI void elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select); /** @@ -622,6 +624,7 @@ EAPI void elm_gengrid_always_select_mode_set(Evas_Objec * * @ingroup Gengrid */ +//XXX: How about elm_gengrid_select_mode_get() ? EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas_Object *obj); /** @@ -640,6 +643,7 @@ EAPI Eina_Bool elm_gengrid_always_select_mode_get(const Evas * * @ingroup Gengrid */ +//XXX: elm_gengrid_always_select_mode_set and elm_gengrid_no_select_mode_set API could be merged to elm_genlist_select_mode_set() EAPI void elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select); /** @@ -654,6 +658,7 @@ EAPI void elm_gengrid_no_select_mode_set(Evas_Object *o * * @ingroup Gengrid */ +//XXX: elm_gengrid_always_select_mode_get and elm_gengrid_no_select_mode_get API could be merged to elm_genlist_select_mode_get() EAPI Eina_Bool elm_gengrid_no_select_mode_get(const Evas_Object *obj); /** @@ -827,7 +832,7 @@ EAPI void elm_gengrid_page_size_set(Evas_Object *obj, E EAPI void elm_gengrid_current_page_get(const Evas_Object *obj, int *h_pagenumber, int *v_pagenumber); /** - * @brief Get scroll last page number. + * @brief Get gengrid last page number. * * @param obj The gengrid object * @param h_pagenumber The horizontal page number @@ -895,7 +900,7 @@ EAPI void elm_gengrid_page_bring_in(const Evas_Object * * placing its items. * * @param obj The gengrid object. - * @param setting @c EINA_TRUE to make the gengrid expand + * @param horizontal @c EINA_TRUE to make the gengrid expand * horizontally, @c EINA_FALSE to expand vertically. * * When in "horizontal mode" (@c EINA_TRUE), items will be placed @@ -910,7 +915,8 @@ EAPI void elm_gengrid_page_bring_in(const Evas_Object * * * @ingroup Gengrid */ -EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting); +//XXX: elm_gengrid_mode_set() +EAPI void elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool horizontal); /** * Get for what direction a given gengrid widget will expand while @@ -1065,6 +1071,41 @@ EAPI void elm_gengrid_item_pos_get(const Elm_Object_Ite */ EAPI void elm_gengrid_item_selected_set(Elm_Object_Item *it, Eina_Bool selected); +/** + * Get the selected item in a given gengrid widget + * + * @param obj The gengrid object. + * @return The selected item's handle or @c NULL, if none is + * selected at the moment (and on errors) + * + * This returns the selected item in @p obj. If multi selection is + * enabled on @p obj (@see elm_gengrid_multi_select_set()), only + * the first item in the list is selected, which might not be very + * useful. For that case, see elm_gengrid_selected_items_get(). + * + * @ingroup Gengrid + */ +EAPI Elm_Object_Item *elm_gengrid_selected_item_get(const Evas_Object *obj); + +/** + * Get a list of selected items in a given gengrid + * + * @param obj The gengrid object. + * @return The list of selected items or @c NULL, if none is + * selected at the moment (and on errors) + * + * This returns a list of the selected items, in the order that + * they appear in the grid. This list is only valid as long as no + * more items are selected or unselected (or unselected implicitly + * by deletion). The list contains #Gengrid item pointers as + * data, naturally. + * + * @see elm_gengrid_selected_item_get() + * + * @ingroup Gengrid + */ +EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj); + /** * Get whether a given gengrid item is selected or not * @@ -1099,6 +1140,7 @@ EAPI Eina_Bool elm_gengrid_item_selected_get(const Elm_Objec * * @ingroup Gengrid */ +//XXX: Should be dead. EAPI const Evas_Object *elm_gengrid_item_object_get(const Elm_Object_Item *it); /** @@ -1133,6 +1175,8 @@ EAPI void elm_gengrid_item_show(Elm_Object_Item *it); */ EAPI void elm_gengrid_item_bring_in(Elm_Object_Item *it); +//XXX: Need to review tooltip & cursor APIs + /** * Set the text to be shown in a given gengrid item's tooltips. * @@ -1396,41 +1440,6 @@ EAPI Eina_Bool elm_gengrid_item_cursor_engine_only_get(const */ EAPI void elm_gengrid_clear(Evas_Object *obj); -/** - * Get the selected item in a given gengrid widget - * - * @param obj The gengrid object. - * @return The selected item's handle or @c NULL, if none is - * selected at the moment (and on errors) - * - * This returns the selected item in @p obj. If multi selection is - * enabled on @p obj (@see elm_gengrid_multi_select_set()), only - * the first item in the list is selected, which might not be very - * useful. For that case, see elm_gengrid_selected_items_get(). - * - * @ingroup Gengrid - */ -EAPI Elm_Object_Item *elm_gengrid_selected_item_get(const Evas_Object *obj); - -/** - * Get a list of selected items in a given gengrid - * - * @param obj The gengrid object. - * @return The list of selected items or @c NULL, if none is - * selected at the moment (and on errors) - * - * This returns a list of the selected items, in the order that - * they appear in the grid. This list is only valid as long as no - * more items are selected or unselected (or unselected implicitly - * by deletion). The list contains #Gengrid item pointers as - * data, naturally. - * - * @see elm_gengrid_selected_item_get() - * - * @ingroup Gengrid - */ -EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj); - /** * Set how the items grid's filled within a given gengrid widget * @@ -1438,11 +1447,6 @@ EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Obj * @param fill Filled if True * * This sets the fill state of the whole grid of items of a gengrid - * within its given viewport. By default, this value is False, meaning - * that if the first line of items grid's aren't filled - * - * Set how the items grid's filled within a given gengrid widget. - * This sets the fill state of the whole grid of items of a gengrid * within its given viewport. By default, this value is false, meaning * that if the first line of items grid's isn't filled, the items are * centered with the alignment @@ -1450,10 +1454,11 @@ EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Obj * @see elm_gengrid_filled_get() * * @ingroup Gengrid + * */ +//XXX: Does this API working well? EAPI void elm_gengrid_filled_set(Evas_Object *obj, Eina_Bool fill); - /** * Get how the items grid's filled within a given gengrid widget * @@ -1468,6 +1473,7 @@ EAPI void elm_gengrid_filled_set(Evas_Object *obj, Eina * * @ingroup Gengrid */ +//XXX: Does this API working well? EAPI Eina_Bool elm_gengrid_filled_get(const Evas_Object *obj); #define ELM_GENGRID_ITEM_CLASS_VERSION 2 /* current version number */ diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 921fab9a7c..35c8e2d679 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -5602,6 +5602,7 @@ elm_genlist_item_class_new(void) return itc; } +//XXX: notify the class version if it is mismatched EAPI void elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) { @@ -5617,6 +5618,7 @@ elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc) } } +//XXX: notify the class version if it is mismatched EAPI void elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) { @@ -5627,6 +5629,7 @@ elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc) } } +//XXX: notify the class version if it is mismatched EAPI void elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc) { @@ -5695,8 +5698,7 @@ _elm_genlist_current_page_get(const Evas_Object *obj, 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); + elm_smart_scroller_current_page_get(wd->scr, h_pagenumber, v_pagenumber); } /* for gengrid as of now */ @@ -5708,8 +5710,7 @@ _elm_genlist_last_page_get(const Evas_Object *obj, 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); + elm_smart_scroller_last_page_get(wd->scr, h_pagenumber, v_pagenumber); } /* for gengrid as of now */ @@ -5721,8 +5722,7 @@ _elm_genlist_page_show(const Evas_Object *obj, 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); + elm_smart_scroller_page_show(wd->scr, h_pagenumber, v_pagenumber); } /* for gengrid as of now */ @@ -5734,8 +5734,7 @@ _elm_genlist_page_bring_in(const Evas_Object *obj, 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); + elm_smart_scroller_page_bring_in(wd->scr, h_pagenumber, v_pagenumber); } void diff --git a/legacy/elementary/src/lib/elm_genlist.h b/legacy/elementary/src/lib/elm_genlist.h index 952c608040..662f0a7f36 100644 --- a/legacy/elementary/src/lib/elm_genlist.h +++ b/legacy/elementary/src/lib/elm_genlist.h @@ -1422,8 +1422,22 @@ EAPI void elm_genlist_item_fields_update(Elm_Object_Ite * @ingroup Genlist */ EAPI void elm_genlist_item_item_class_update(Elm_Object_Item *it, const Elm_Genlist_Item_Class *itc); + +/** + * Get the Genlist Item class for the given Genlist Item. + * + * @param it The genlist item + * + * This returns the Genlist_Item_Class for the given item. It can be used to + * examine the function pointers and item_style. + * + * @ingroup Genlist + */ EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Object_Item *it); +//XXX: elm_genlist_item_item_class_set() ? +//XXX: Need to review tooltip & cursor APIs + /** * Set the text to be shown in a given genlist item's tooltips. *