From c220a4bebad18de18c94e036c59a5fdce46ecc69 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 23 Jan 2006 18:47:10 +0000 Subject: [PATCH] Devilhorns wanted a count function added while I was playing in this. And formatting. SVN revision: 19998 --- src/bin/e_ilist.c | 15 ++++++++++++--- src/bin/e_ilist.h | 13 +++++++------ src/bin/e_widget_ilist.c | 9 +++++++++ src/bin/e_widget_ilist.h | 1 + 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/bin/e_ilist.c b/src/bin/e_ilist.c index 118a5cf89..fb2db8d47 100644 --- a/src/bin/e_ilist.c +++ b/src/bin/e_ilist.c @@ -19,7 +19,7 @@ struct _E_Smart_Data int selected; Evas_Coord icon_w, icon_h; unsigned char selector : 1; -}; +}; struct _E_Smart_Item { @@ -101,11 +101,12 @@ e_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (v si = E_NEW(E_Smart_Item, 1); si->sd = sd; si->base_obj = edje_object_add(evas_object_evas_get(sd->smart_obj)); + if (evas_list_count(sd->items) & 0x1) - e_theme_edje_object_set(si->base_obj, "base/theme/widgets", + e_theme_edje_object_set(si->base_obj, "base/theme/widgets", "widgets/ilist_odd"); else - e_theme_edje_object_set(si->base_obj, "base/theme/widgets", + e_theme_edje_object_set(si->base_obj, "base/theme/widgets", "widgets/ilist"); edje_object_part_text_set(si->base_obj, "label", label); si->icon_obj = icon; @@ -288,6 +289,14 @@ e_ilist_remove_label(Evas_Object *obj, char *label) } } +EAPI int +e_ilist_count(Evas_Object *obj) +{ + API_ENTRY return 0; + return evas_list_count(sd->items); +} + + /* local subsystem functions */ static void _e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) diff --git a/src/bin/e_ilist.h b/src/bin/e_ilist.h index 441e4ec6f..4e51b5934 100644 --- a/src/bin/e_ilist.h +++ b/src/bin/e_ilist.h @@ -9,17 +9,18 @@ EAPI Evas_Object *e_ilist_add (Evas *evas); EAPI void e_ilist_icon_size_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h); EAPI void e_ilist_append (Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (void *data, void *data2), void (*func_hilight) (void *data, void *data2), void *data, void *data2); -EAPI void e_ilist_selected_set (Evas_Object *obj, int n); -EAPI int e_ilist_selected_get (Evas_Object *obj); -EAPI const char *e_ilist_selected_label_get (Evas_Object *obj); -EAPI void *e_ilist_selected_data_get (Evas_Object *obj); -EAPI void *e_ilist_selected_data2_get (Evas_Object *obj); +EAPI void e_ilist_selected_set (Evas_Object *obj, int n); +EAPI int e_ilist_selected_get (Evas_Object *obj); +EAPI const char *e_ilist_selected_label_get (Evas_Object *obj); +EAPI void *e_ilist_selected_data_get (Evas_Object *obj); +EAPI void *e_ilist_selected_data2_get (Evas_Object *obj); EAPI void e_ilist_selected_geometry_get (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); EAPI void e_ilist_min_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h); EAPI void e_ilist_selector_set (Evas_Object *obj, int selector); EAPI int e_ilist_selector_get (Evas_Object *obj); EAPI void e_ilist_remove_num (Evas_Object *obj, int n); EAPI void e_ilist_remove_label (Evas_Object *obj, char *label); - +EAPI int e_ilist_count (Evas_Object *obj); + #endif #endif diff --git a/src/bin/e_widget_ilist.c b/src/bin/e_widget_ilist.c index 9346c114e..f2b304421 100644 --- a/src/bin/e_widget_ilist.c +++ b/src/bin/e_widget_ilist.c @@ -152,6 +152,15 @@ e_widget_ilist_remove_label(Evas_Object *obj, char *label) e_ilist_remove_label(wd->o_ilist, label); } +EAPI int +e_widget_ilist_count(Evas_Object *obj) +{ + E_Widget_Data *wd; + + wd = e_widget_data_get(obj); + return e_ilist_count(wd->o_ilist); +} + static void _e_wid_del_hook(Evas_Object *obj) { diff --git a/src/bin/e_widget_ilist.h b/src/bin/e_widget_ilist.h index 4f29efff7..02a3cc9a2 100644 --- a/src/bin/e_widget_ilist.h +++ b/src/bin/e_widget_ilist.h @@ -15,6 +15,7 @@ EAPI int e_widget_ilist_selected_get(Evas_Object *obj); EAPI const char *e_widget_ilist_selected_label_get(Evas_Object *obj); EAPI void e_widget_ilist_remove_num(Evas_Object *obj, int n); EAPI void e_widget_ilist_remove_label(Evas_Object *obj, char *label); +EAPI int e_widget_ilist_count(Evas_Object *obj); #endif #endif