e_theme_edje_object_set(si->o_base, "base/theme/widgets",
"e/widgets/ilist");
}
- if (label)
- edje_object_part_text_set(si->o_base, "e.text.label", label);
+
+ if (label)
+ {
+ si->label = eina_stringshare_add(label);
+ edje_object_part_text_set(si->o_base, "e.text.label", label);
+ }
+
si->o_icon = icon;
if (si->o_icon)
{
e_theme_edje_object_set(si->o_base, "base/theme/widgets",
"e/widgets/ilist");
}
- if (label)
- edje_object_part_text_set(si->o_base, "e.text.label", label);
+ if (label)
+ {
+ si->label = eina_stringshare_add(label);
+ edje_object_part_text_set(si->o_base, "e.text.label", label);
+ }
+
si->o_icon = icon;
if (si->o_icon)
{
else
e_theme_edje_object_set(si->o_base, "base/theme/widgets",
"e/widgets/ilist");
- if (label)
- edje_object_part_text_set(si->o_base, "e.text.label", label);
+ if (label)
+ {
+ si->label = eina_stringshare_add(label);
+ edje_object_part_text_set(si->o_base, "e.text.label", label);
+ }
+
si->o_icon = icon;
if (si->o_icon)
{
else
e_theme_edje_object_set(si->o_base, "base/theme/widgets",
"e/widgets/ilist");
- if (label)
- edje_object_part_text_set(si->o_base, "e.text.label", label);
+ if (label)
+ {
+ si->label = eina_stringshare_add(label);
+ edje_object_part_text_set(si->o_base, "e.text.label", label);
+ }
+
si->o_icon = icon;
if (si->o_icon)
{
if (!si) continue;
if (si->o_icon) evas_object_del(si->o_icon);
if (si->o_end) evas_object_del(si->o_end);
+ if (si->label) eina_stringshare_del(si->label);
evas_object_del(si->o_base);
E_FREE(si);
}
if (sd->multi_select) return NULL;
if (sd->selected < 0) return NULL;
si = eina_list_nth(sd->items, sd->selected);
- if (si) return edje_object_part_text_get(si->o_base, "e.text.label");
+ if (si)
+ {
+ if (si->label) return si->label;
+ return edje_object_part_text_get(si->o_base, "e.text.label");
+ }
return NULL;
}
if (sd->selected == n) sd->selected = -1;
if (si->o_icon) evas_object_del(si->o_icon);
if (si->o_end) evas_object_del(si->o_end);
+ if (si->label) eina_stringshare_del(si->label);
evas_object_del(si->o_base);
E_FREE(si);
}
API_ENTRY return NULL;
if (!sd->items) return NULL;
si = eina_list_nth(sd->items, n);
- if (si) return edje_object_part_text_get(si->o_base, "e.text.label");
+ if (si)
+ {
+ if (si->label) return si->label;
+ return edje_object_part_text_get(si->o_base, "e.text.label");
+ }
return NULL;
}
API_ENTRY return;
if (!sd->items) return;
si = eina_list_nth(sd->items, n);
- if (si) edje_object_part_text_set(si->o_base, "e.text.label", label);
+ if (si)
+ {
+ if (si->label) eina_stringshare_del(si->label);
+ si->label = eina_stringshare_add(label);
+ edje_object_part_text_set(si->o_base, "e.text.label", label);
+ }
}
EAPI Evas_Object *
EAPI void
e_ilist_nth_geometry_get(Evas_Object *obj, int n, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
{
- E_Ilist_Item *si = NULL;
-
- API_ENTRY return;
- if (!sd->items) return;
- if (!(si = eina_list_nth(sd->items, n))) return;
- evas_object_geometry_get(si->o_base, x, y, w, h);
- *x -= sd->x;
- *y -= sd->y;
+ E_Ilist_Item *si = NULL;
+
+ API_ENTRY return;
+ if (!sd->items) return;
+ if (!(si = eina_list_nth(sd->items, n))) return;
+ evas_object_geometry_get(si->o_base, x, y, w, h);
+ *x -= sd->x;
+ *y -= sd->y;
}
EAPI void
if (si->o_end)
{
Evas_Coord ew = 0, eh = 0;
+
evas_object_size_hint_min_get(si->o_end, &ew, &eh);
if ((ew <= 0) || (eh <= 0))
{
EINA_LIST_FOREACH(sd->items, l, si)
{
const char *label = NULL;
+
if (si)
{
- label = edje_object_part_text_get(si->o_base, "e.text.label");
+ if (si->label)
+ label = si->label;
+ else
+ label = edje_object_part_text_get(si->o_base, "e.text.label");
if (e_util_glob_case_match(label, match))
{