forked from enlightenment/efl
add items_count for toolbar to bypase O(N) counting on an inlist
SVN revision: 66646
This commit is contained in:
parent
f5a1818729
commit
edd1fb8c75
|
@ -1563,7 +1563,6 @@ extern "C" {
|
||||||
* @param size The cache flush interval time
|
* @param size The cache flush interval time
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_cache_flush_interval_all_set(int size);
|
EAPI void elm_cache_flush_interval_all_set(int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1606,7 +1605,6 @@ extern "C" {
|
||||||
* @param size The cache flush enabled state
|
* @param size The cache flush enabled state
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_cache_flush_enabled_all_set(Eina_Bool enabled);
|
EAPI void elm_cache_flush_enabled_all_set(Eina_Bool enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1639,7 +1637,6 @@ extern "C" {
|
||||||
* @param size The font cache size
|
* @param size The font cache size
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_font_cache_all_set(int size);
|
EAPI void elm_font_cache_all_set(int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1672,7 +1669,6 @@ extern "C" {
|
||||||
* @param size The image cache size
|
* @param size The image cache size
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_image_cache_all_set(int size);
|
EAPI void elm_image_cache_all_set(int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1707,7 +1703,6 @@ extern "C" {
|
||||||
* @param size The edje file cache size
|
* @param size The edje file cache size
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_edje_file_cache_all_set(int size);
|
EAPI void elm_edje_file_cache_all_set(int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1742,7 +1737,6 @@ extern "C" {
|
||||||
* @param size The edje collections cache size
|
* @param size The edje collections cache size
|
||||||
* @ingroup Caches
|
* @ingroup Caches
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_edje_collection_cache_all_set(int size);
|
EAPI void elm_edje_collection_cache_all_set(int size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1794,7 +1788,6 @@ extern "C" {
|
||||||
* @param scale The scaling factor to set
|
* @param scale The scaling factor to set
|
||||||
* @ingroup Scaling
|
* @ingroup Scaling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scale_all_set(double scale);
|
EAPI void elm_scale_all_set(double scale);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2263,7 +2256,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @see elm_engine_set()
|
* @see elm_engine_set()
|
||||||
*/
|
*/
|
||||||
// XXX: rename to elm_engine_get()
|
|
||||||
EAPI const char *elm_engine_current_get(void);
|
EAPI const char *elm_engine_current_get(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2394,7 +2386,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* This applies all font overlays set to all objects in the UI.
|
* This applies all font overlays set to all objects in the UI.
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_font_overlay_all_apply(void);
|
EAPI void elm_font_overlay_all_apply(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2526,7 +2517,6 @@ extern "C" {
|
||||||
* @param size The finger size
|
* @param size The finger size
|
||||||
* @ingroup Fingers
|
* @ingroup Fingers
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_finger_size_all_set(Evas_Coord size);
|
EAPI void elm_finger_size_all_set(Evas_Coord size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2868,7 +2858,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_bounce_enabled_get()
|
* @see elm_thumbscroll_bounce_enabled_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_bounce_enabled_all_set(Eina_Bool enabled);
|
EAPI void elm_scroll_bounce_enabled_all_set(Eina_Bool enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2901,7 +2890,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_bounce_friction_get()
|
* @see elm_thumbscroll_bounce_friction_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_bounce_friction_all_set(double friction);
|
EAPI void elm_scroll_bounce_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2934,7 +2922,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_page_scroll_friction_get()
|
* @see elm_thumbscroll_page_scroll_friction_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_page_scroll_friction_all_set(double friction);
|
EAPI void elm_scroll_page_scroll_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2967,7 +2954,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_bring_in_scroll_friction_get()
|
* @see elm_thumbscroll_bring_in_scroll_friction_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_bring_in_scroll_friction_all_set(double friction);
|
EAPI void elm_scroll_bring_in_scroll_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3001,7 +2987,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_zoom_friction_get()
|
* @see elm_thumbscroll_zoom_friction_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_zoom_friction_all_set(double friction);
|
EAPI void elm_scroll_zoom_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3038,7 +3023,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_enabled_get()
|
* @see elm_thumbscroll_enabled_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_enabled_all_set(Eina_Bool enabled);
|
EAPI void elm_scroll_thumbscroll_enabled_all_set(Eina_Bool enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3074,7 +3058,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_threshould_get()
|
* @see elm_thumbscroll_threshould_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_threshold_all_set(unsigned int threshold);
|
EAPI void elm_scroll_thumbscroll_threshold_all_set(unsigned int threshold);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3110,7 +3093,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_momentum_threshould_get()
|
* @see elm_thumbscroll_momentum_threshould_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_momentum_threshold_all_set(double threshold);
|
EAPI void elm_scroll_thumbscroll_momentum_threshold_all_set(double threshold);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3143,7 +3125,6 @@ extern "C" {
|
||||||
* @see elm_thumbscroll_friction_get()
|
* @see elm_thumbscroll_friction_get()
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_friction_all_set(double friction);
|
EAPI void elm_scroll_thumbscroll_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3187,7 +3168,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_border_friction_all_set(double friction);
|
EAPI void elm_scroll_thumbscroll_border_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3228,7 +3208,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @ingroup Scrolling
|
* @ingroup Scrolling
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate and replace with elm_config_all_flush()
|
|
||||||
EAPI void elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction);
|
EAPI void elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4343,7 +4322,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @see elm_win_transparent_set()
|
* @see elm_win_transparent_set()
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI Eina_Bool elm_win_transparent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Eina_Bool elm_win_transparent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4356,7 +4334,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @see elm_win_alpha_set()
|
* @see elm_win_alpha_set()
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI void elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent) EINA_ARG_NONNULL(1);
|
EAPI void elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4850,7 +4827,6 @@ extern "C" {
|
||||||
* @param parent The parent object
|
* @param parent The parent object
|
||||||
* @return The new object or NULL if it cannot be created
|
* @return The new object or NULL if it cannot be created
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI Evas_Object *elm_win_inwin_add(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_win_inwin_add(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4866,7 +4842,6 @@ extern "C" {
|
||||||
*
|
*
|
||||||
* @param obj The inwin to activate
|
* @param obj The inwin to activate
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI void elm_win_inwin_activate(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI void elm_win_inwin_activate(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4879,7 +4854,6 @@ extern "C" {
|
||||||
* @param obj The inwin object
|
* @param obj The inwin object
|
||||||
* @param content The object to set as content
|
* @param content The object to set as content
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI void elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
EAPI void elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4897,7 +4871,6 @@ extern "C" {
|
||||||
* @param obj The inwin object
|
* @param obj The inwin object
|
||||||
* @return The content that is being used
|
* @return The content that is being used
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI Evas_Object *elm_win_inwin_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_win_inwin_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4908,7 +4881,6 @@ extern "C" {
|
||||||
* @param obj The inwin object
|
* @param obj The inwin object
|
||||||
* @return The content that was being used
|
* @return The content that was being used
|
||||||
*/
|
*/
|
||||||
// XXX: deprecate this
|
|
||||||
EAPI Evas_Object *elm_win_inwin_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
EAPI Evas_Object *elm_win_inwin_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5705,11 +5677,8 @@ extern "C" {
|
||||||
ELM_IMAGE_ROTATE_90 = 1, /**< rotate 90 degrees clockwise */
|
ELM_IMAGE_ROTATE_90 = 1, /**< rotate 90 degrees clockwise */
|
||||||
ELM_IMAGE_ROTATE_180 = 2, /**< rotate 180 degrees clockwise */
|
ELM_IMAGE_ROTATE_180 = 2, /**< rotate 180 degrees clockwise */
|
||||||
ELM_IMAGE_ROTATE_270 = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
|
ELM_IMAGE_ROTATE_270 = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
|
||||||
// XXX: remove
|
|
||||||
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_90_CW = 1, /**< rotate 90 degrees clockwise */
|
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_90_CW = 1, /**< rotate 90 degrees clockwise */
|
||||||
// XXX: remove
|
|
||||||
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_180_CW = 2, /**< rotate 180 degrees clockwise */
|
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_180_CW = 2, /**< rotate 180 degrees clockwise */
|
||||||
// XXX: remove
|
|
||||||
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_90_CCW = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
|
/*EINA_DEPRECATED*/ELM_IMAGE_ROTATE_90_CCW = 3, /**< rotate 90 degrees counter-clockwise (i.e. 270 degrees clockwise) */
|
||||||
ELM_IMAGE_FLIP_HORIZONTAL = 4, /**< flip image horizontally */
|
ELM_IMAGE_FLIP_HORIZONTAL = 4, /**< flip image horizontally */
|
||||||
ELM_IMAGE_FLIP_VERTICAL = 5, /**< flip image vertically */
|
ELM_IMAGE_FLIP_VERTICAL = 5, /**< flip image vertically */
|
||||||
|
@ -16685,6 +16654,14 @@ extern "C" {
|
||||||
* @ingroup Toolbar
|
* @ingroup Toolbar
|
||||||
*/
|
*/
|
||||||
EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
|
EAPI Eina_Bool elm_toolbar_horizontal_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the number of items in a toolbar
|
||||||
|
* @param obj The toolbar object
|
||||||
|
* @return The number of items in @p obj toolbar
|
||||||
|
* @ingroup Toolbar
|
||||||
|
*/
|
||||||
|
EAPI unsigned int elm_toolbar_items_count(const Evas_Object *obj) EINA_ARG_NONNULL(1) EINA_PURE;
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,6 +16,7 @@ struct _Widget_Data
|
||||||
Elm_Toolbar_Shrink_Mode shrink_mode;
|
Elm_Toolbar_Shrink_Mode shrink_mode;
|
||||||
Elm_Icon_Lookup_Order lookup_order;
|
Elm_Icon_Lookup_Order lookup_order;
|
||||||
int icon_size;
|
int icon_size;
|
||||||
|
unsigned int item_count;
|
||||||
double align;
|
double align;
|
||||||
Eina_Bool homogeneous : 1;
|
Eina_Bool homogeneous : 1;
|
||||||
Eina_Bool no_select : 1;
|
Eina_Bool no_select : 1;
|
||||||
|
@ -855,6 +856,7 @@ _item_new(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb f
|
||||||
evas_object_event_callback_add(VIEW(it), EVAS_CALLBACK_RESIZE,
|
evas_object_event_callback_add(VIEW(it), EVAS_CALLBACK_RESIZE,
|
||||||
_resize_item, obj);
|
_resize_item, obj);
|
||||||
if ((!wd->items) && wd->always_select) _item_select(it);
|
if ((!wd->items) && wd->always_select) _item_select(it);
|
||||||
|
wd->item_count++;
|
||||||
return it;
|
return it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1460,6 +1462,7 @@ elm_toolbar_item_del(Elm_Object_Item *it)
|
||||||
obj2 = WIDGET(item);
|
obj2 = WIDGET(item);
|
||||||
next = ELM_TOOLBAR_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->next);
|
next = ELM_TOOLBAR_ITEM_FROM_INLIST(EINA_INLIST_GET(item)->next);
|
||||||
wd->items = eina_inlist_remove(wd->items, EINA_INLIST_GET(item));
|
wd->items = eina_inlist_remove(wd->items, EINA_INLIST_GET(item));
|
||||||
|
wd->item_count--;
|
||||||
if (!next) next = ELM_TOOLBAR_ITEM_FROM_INLIST(wd->items);
|
if (!next) next = ELM_TOOLBAR_ITEM_FROM_INLIST(wd->items);
|
||||||
if (wd->always_select && item->selected && next) _item_select(next);
|
if (wd->always_select && item->selected && next) _item_select(next);
|
||||||
_item_del(item);
|
_item_del(item);
|
||||||
|
@ -2025,3 +2028,12 @@ elm_toolbar_horizontal_get(const Evas_Object *obj)
|
||||||
if (!wd) return EINA_FALSE;
|
if (!wd) return EINA_FALSE;
|
||||||
return !wd->vertical;
|
return !wd->vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI unsigned int
|
||||||
|
elm_toolbar_items_count(const Evas_Object *obj)
|
||||||
|
{
|
||||||
|
ELM_CHECK_WIDTYPE(obj, widtype) 0;
|
||||||
|
Widget_Data *wd = elm_widget_data_get(obj);
|
||||||
|
if (!wd) return 0;
|
||||||
|
return wd->item_count;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue