Rename e_ilist_select_* functions to be e_ilist_selected_* as this seems

more intuitive.
Update e_int_config_theme.c for this change.
Update e_int_config_background.c for this change.
Update e_int_border_border.c for this change.

Added e_ilist_remove_num to remove entries by number.
Added e_widget_ilist_remove_num.

Added e_ilist_remove_label to remove entries by label.
Added e_widget_ilist_remove_label.

Added e_ilist_selected_label_get to retrieve the selected items label.
Added e_widget_ilist_selected_label_get.


SVN revision: 19245
This commit is contained in:
Christopher Michael 2005-12-22 21:08:34 +00:00
parent 972c625e4f
commit f33c45d144
7 changed files with 122 additions and 20 deletions

View File

@ -134,7 +134,7 @@ e_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (
} }
void void
e_ilist_select_set(Evas_Object *obj, int n) e_ilist_selected_set(Evas_Object *obj, int n)
{ {
E_Smart_Item *si; E_Smart_Item *si;
@ -159,15 +159,30 @@ e_ilist_select_set(Evas_Object *obj, int n)
} }
int int
e_ilist_select_get(Evas_Object *obj) e_ilist_selected_get(Evas_Object *obj)
{ {
API_ENTRY return -1; API_ENTRY return -1;
if (!sd->items) return -1; if (!sd->items) return -1;
return sd->selected; return sd->selected;
} }
const char *
e_ilist_selected_label_get(Evas_Object *obj)
{
E_Smart_Item *si;
API_ENTRY return NULL;
if (!sd->items) return NULL;
si = evas_list_nth(sd->items, sd->selected);
if (si)
{
return edje_object_part_text_get(si->base_obj, "label");
}
return NULL;
}
void * void *
e_ilist_select_data_get(Evas_Object *obj) e_ilist_selected_data_get(Evas_Object *obj)
{ {
E_Smart_Item *si; E_Smart_Item *si;
@ -179,7 +194,7 @@ e_ilist_select_data_get(Evas_Object *obj)
} }
void * void *
e_ilist_select_data2_get(Evas_Object *obj) e_ilist_selected_data2_get(Evas_Object *obj)
{ {
E_Smart_Item *si; E_Smart_Item *si;
@ -226,6 +241,50 @@ e_ilist_selector_get(Evas_Object *obj)
return sd->selector; return sd->selector;
} }
void
e_ilist_remove_num(Evas_Object *obj, int n)
{
E_Smart_Item *si;
API_ENTRY return;
if (!sd->items) return;
si = evas_list_nth(sd->items, n);
if (si)
{
sd->items = evas_list_remove(sd->items, si);
if (si->icon_obj) evas_object_del(si->icon_obj);
evas_object_del(si->base_obj);
free(si);
}
}
void
e_ilist_remove_label(Evas_Object *obj, char *label)
{
E_Smart_Item *si;
char *t;
API_ENTRY return;
if (!sd->items) return;
if (!label) return;
while (sd->items)
{
si = sd->items->data;
if (si)
{
t = edje_object_part_text_get(si->base_obj, "label");
if (!strcmp(t, label))
{
sd->items = evas_list_remove(sd->items, si);
if (si->icon_obj) evas_object_del(si->icon_obj);
evas_object_del(si->base_obj);
free(si);
break;
}
}
}
}
/* local subsystem functions */ /* local subsystem functions */
static void static void
_e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info) _e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
@ -241,7 +300,7 @@ _e_smart_event_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_inf
{ {
if (l->data == si) if (l->data == si)
{ {
e_ilist_select_set(si->sd->smart_obj, i); e_ilist_selected_set(si->sd->smart_obj, i);
break; break;
} }
} }
@ -277,15 +336,15 @@ _e_smart_event_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{ {
int n; int n;
n = e_ilist_select_get(sd->smart_obj); n = e_ilist_selected_get(sd->smart_obj);
e_ilist_select_set(sd->smart_obj, n - 1); e_ilist_selected_set(sd->smart_obj, n - 1);
} }
else if (!strcmp(ev->keyname, "Down")) else if (!strcmp(ev->keyname, "Down"))
{ {
int n; int n;
n = e_ilist_select_get(sd->smart_obj); n = e_ilist_selected_get(sd->smart_obj);
e_ilist_select_set(sd->smart_obj, n + 1); e_ilist_selected_set(sd->smart_obj, n + 1);
} }
else if ((!strcmp(ev->keyname, "Return")) || else if ((!strcmp(ev->keyname, "Return")) ||
(!strcmp(ev->keyname, "space"))) (!strcmp(ev->keyname, "space")))

View File

@ -9,14 +9,17 @@
EAPI Evas_Object *e_ilist_add (Evas *evas); 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_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 *data, void *data2); EAPI void e_ilist_append (Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (void *data, void *data2), void *data, void *data2);
EAPI void e_ilist_select_set (Evas_Object *obj, int n); EAPI void e_ilist_selected_set (Evas_Object *obj, int n);
EAPI int e_ilist_select_get (Evas_Object *obj); EAPI int e_ilist_selected_get (Evas_Object *obj);
EAPI void *e_ilist_select_data_get (Evas_Object *obj); EAPI const char *e_ilist_selected_label_get (Evas_Object *obj);
EAPI void *e_ilist_select_data2_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_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_min_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
EAPI void e_ilist_selector_set (Evas_Object *obj, int selector); EAPI void e_ilist_selector_set (Evas_Object *obj, int selector);
EAPI int e_ilist_selector_get (Evas_Object *obj); 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);
#endif #endif
#endif #endif

View File

@ -184,7 +184,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata)
if (!strcmp(cfdata->border->client.border.name, (char *)l->data)) if (!strcmp(cfdata->border->client.border.name, (char *)l->data))
sel = n; sel = n;
} }
e_widget_ilist_select_set(oi, sel); e_widget_ilist_selected_set(oi, sel);
e_widget_min_size_get(oi, &wmw, &wmh); e_widget_min_size_get(oi, &wmw, &wmh);
e_widget_min_size_set(oi, wmw, 250); e_widget_min_size_set(oi, wmw, 250);

View File

@ -196,7 +196,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata)
if ((e_config->desktop_default_background) && !(strcmp(e_config->desktop_default_background, fullbg))) if ((e_config->desktop_default_background) && !(strcmp(e_config->desktop_default_background, fullbg)))
{ {
e_widget_ilist_select_set(il, i); e_widget_ilist_selected_set(il, i);
bg = edje_object_add(evas); bg = edje_object_add(evas);
edje_object_file_set(bg, e_config->desktop_default_background, "desktop/background"); edje_object_file_set(bg, e_config->desktop_default_background, "desktop/background");
im = e_widget_image_add_from_object(evas, bg, 160, 120); im = e_widget_image_add_from_object(evas, bg, 160, 120);

View File

@ -206,7 +206,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, CFData *cfdata)
if (!(strcmp(themefile, cfdata->current_theme))) if (!(strcmp(themefile, cfdata->current_theme)))
{ {
e_widget_ilist_select_set(il, i); e_widget_ilist_selected_set(il, i);
im = e_widget_image_add_from_object(evas, theme, 320, 240); im = e_widget_image_add_from_object(evas, theme, 320, 240);
e_widget_image_object_set(im, e_thumb_evas_object_get(fulltheme, evas, 160, 120, 1)); e_widget_image_object_set(im, e_thumb_evas_object_get(fulltheme, evas, 160, 120, 1));
} }

View File

@ -90,12 +90,30 @@ e_widget_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*f
} }
void void
e_widget_ilist_select_set(Evas_Object *obj, int n) e_widget_ilist_selected_set(Evas_Object *obj, int n)
{ {
E_Widget_Data *wd; E_Widget_Data *wd;
wd = e_widget_data_get(obj); wd = e_widget_data_get(obj);
e_ilist_select_set(wd->o_ilist, n); e_ilist_selected_set(wd->o_ilist, n);
}
int
e_widget_ilist_selected_get(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
return e_ilist_selected_get(wd->o_ilist);
}
const char *
e_widget_ilist_selected_label_get(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
return e_ilist_selected_label_get(wd->o_ilist);
} }
void void
@ -116,6 +134,24 @@ e_widget_ilist_go(Evas_Object *obj)
wd->o_widget = obj; wd->o_widget = obj;
} }
void
e_widget_ilist_remove_num(Evas_Object *obj, int n)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
e_ilist_remove_num(wd->o_ilist, n);
}
void
e_widget_ilist_remove_label(Evas_Object *obj, char *label)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
e_ilist_remove_label(wd->o_ilist, label);
}
static void static void
_e_wid_del_hook(Evas_Object *obj) _e_wid_del_hook(Evas_Object *obj)
{ {

View File

@ -8,9 +8,13 @@
EAPI Evas_Object *e_widget_ilist_add(Evas *evas, int icon_w, int icon_h, char **value); EAPI Evas_Object *e_widget_ilist_add(Evas *evas, int icon_w, int icon_h, char **value);
EAPI void e_widget_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (void *data), void *data, char *val); EAPI void e_widget_ilist_append(Evas_Object *obj, Evas_Object *icon, char *label, void (*func) (void *data), void *data, char *val);
EAPI void e_widget_ilist_select_set(Evas_Object *obj, int n); EAPI void e_widget_ilist_selected_set(Evas_Object *obj, int n);
EAPI void e_widget_ilist_selector_set(Evas_Object *obj, int selector); EAPI void e_widget_ilist_selector_set(Evas_Object *obj, int selector);
EAPI void e_widget_ilist_go(Evas_Object *obj); EAPI void e_widget_ilist_go(Evas_Object *obj);
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);
#endif #endif
#endif #endif