Remove whitespace.

Use E_FREE for things created with E_NEW.
Add new function to clear the toolbar.
Add new function to return the number of the selected item.



SVN revision: 41501
This commit is contained in:
Christopher Michael 2009-07-27 00:30:06 +00:00
parent dd6ec8ed02
commit 33fe50ae6e
2 changed files with 46 additions and 6 deletions

View File

@ -59,7 +59,8 @@ e_widget_toolbar_add(Evas *evas, int icon_w, int icon_h)
o = wd->o_base;
e_scrollframe_custom_theme_set(o, "base/theme/widgets", "e/widgets/toolbar");
e_scrollframe_single_dir_set(o, 1);
e_scrollframe_policy_set(o, E_SCROLLFRAME_POLICY_AUTO, E_SCROLLFRAME_POLICY_OFF);
e_scrollframe_policy_set(o, E_SCROLLFRAME_POLICY_AUTO,
E_SCROLLFRAME_POLICY_OFF);
e_scrollframe_thumbscroll_force(o, 1);
evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE,
_e_wid_cb_scrollframe_resize, obj);
@ -147,7 +148,7 @@ e_widget_toolbar_item_remove(Evas_Object *obj, int num)
evas_object_del(it->o_base);
evas_object_del(it->o_icon);
wd->items = eina_list_remove(wd->items, it);
free(it);
E_FREE(it);
}
}
@ -251,6 +252,43 @@ e_widget_toolbar_focus_steal_set(Evas_Object *obj, Eina_Bool steal)
}
}
EAPI void
e_widget_toolbar_clear(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
while (wd->items)
{
Item *it = NULL;
if (!(it = wd->items->data)) continue;
evas_object_del(it->o_base);
evas_object_del(it->o_icon);
wd->items = eina_list_remove(wd->items, it);
E_FREE(it);
}
}
EAPI int
e_widget_toolbar_item_selected_get(Evas_Object *obj)
{
E_Widget_Data *wd = NULL;
Eina_List *l = NULL;
int i = 0;
wd = e_widget_data_get(obj);
for (i = 0, l = wd->items; l; l = l->next, i++)
{
Item *it = NULL;
if (!(it = l->data)) continue;;
if (it->selected) return i;
}
return 0;
}
/* local functions */
static void
_e_wid_del_hook(Evas_Object *obj)
{
@ -264,10 +302,10 @@ _e_wid_del_hook(Evas_Object *obj)
it = wd->items->data;
evas_object_del(it->o_base);
evas_object_del(it->o_icon);
free(it);
wd->items = eina_list_remove_list(wd->items, wd->items);
E_FREE(it);
}
free(wd);
E_FREE(wd);
}
static void

View File

@ -13,6 +13,8 @@ EAPI void e_widget_toolbar_item_select(Evas_Object *obj, int num);
EAPI void e_widget_toolbar_item_label_set(Evas_Object *obj, int num, const char *label);
EAPI void e_widget_toolbar_scrollable_set(Evas_Object *obj, Eina_Bool scrollable);
EAPI void e_widget_toolbar_focus_steal_set(Evas_Object *obj, Eina_Bool steal);
EAPI void e_widget_toolbar_clear(Evas_Object *obj);
EAPI int e_widget_toolbar_item_selected_get(Evas_Object *obj);
#endif
#endif