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
e_ilist_select_set(Evas_Object *obj, int n)
e_ilist_selected_set(Evas_Object *obj, int n)
{
E_Smart_Item *si;
@ -159,15 +159,30 @@ e_ilist_select_set(Evas_Object *obj, int n)
}
int
e_ilist_select_get(Evas_Object *obj)
e_ilist_selected_get(Evas_Object *obj)
{
API_ENTRY return -1;
if (!sd->items) return -1;
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 *
e_ilist_select_data_get(Evas_Object *obj)
e_ilist_selected_data_get(Evas_Object *obj)
{
E_Smart_Item *si;
@ -179,7 +194,7 @@ e_ilist_select_data_get(Evas_Object *obj)
}
void *
e_ilist_select_data2_get(Evas_Object *obj)
e_ilist_selected_data2_get(Evas_Object *obj)
{
E_Smart_Item *si;
@ -226,6 +241,50 @@ e_ilist_selector_get(Evas_Object *obj)
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 */
static void
_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)
{
e_ilist_select_set(si->sd->smart_obj, i);
e_ilist_selected_set(si->sd->smart_obj, i);
break;
}
}
@ -277,15 +336,15 @@ _e_smart_event_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
int n;
n = e_ilist_select_get(sd->smart_obj);
e_ilist_select_set(sd->smart_obj, n - 1);
n = e_ilist_selected_get(sd->smart_obj);
e_ilist_selected_set(sd->smart_obj, n - 1);
}
else if (!strcmp(ev->keyname, "Down"))
{
int n;
n = e_ilist_select_get(sd->smart_obj);
e_ilist_select_set(sd->smart_obj, n + 1);
n = e_ilist_selected_get(sd->smart_obj);
e_ilist_selected_set(sd->smart_obj, n + 1);
}
else if ((!strcmp(ev->keyname, "Return")) ||
(!strcmp(ev->keyname, "space")))

View File

@ -9,14 +9,17 @@
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 *data, void *data2);
EAPI void e_ilist_select_set (Evas_Object *obj, int n);
EAPI int e_ilist_select_get (Evas_Object *obj);
EAPI void *e_ilist_select_data_get (Evas_Object *obj);
EAPI void *e_ilist_select_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);
#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))
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_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)))
{
e_widget_ilist_select_set(il, i);
e_widget_ilist_selected_set(il, i);
bg = edje_object_add(evas);
edje_object_file_set(bg, e_config->desktop_default_background, "desktop/background");
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)))
{
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);
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
e_widget_ilist_select_set(Evas_Object *obj, int n)
e_widget_ilist_selected_set(Evas_Object *obj, int n)
{
E_Widget_Data *wd;
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
@ -116,6 +134,24 @@ e_widget_ilist_go(Evas_Object *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
_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 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_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