#ifndef E_MENU_H #define E_MENU_H #include "e.h" struct _E_Menu { OBJ_PROPERTIES; struct { int x, y, w, h; int visible; } current, previous; struct { int l, r, t, b; } border, sel_border; struct { Window main, evas; } win; Evas evas; Ebits_Object bg; Evas_List entries; char *bg_file; int first_expose; int recalc_entries; int redo_sel; int changed; struct { int state, icon, text; } size; struct { int icon, state; } pad; E_Menu_Item *selected; Time time; }; struct _E_Menu_Item { OBJ_PROPERTIES; int x, y; struct { struct { int w, h; } min; int w, h; } size; Ebits_Object bg; char *bg_file; int selected; Evas_Object obj_entry; char *str; Evas_Object obj_text; char *icon; Evas_Object obj_icon; int scale_icon; Ebits_Object state; char *state_file; Ebits_Object sep; char *sep_file; int separator; int radio_group; int radio; int check; int on; E_Menu *menu; E_Menu *submenu; void (*func_select) (E_Menu *m, E_Menu_Item *mi, void *data); void *func_select_data; }; void e_menu_callback_item(E_Menu *m, E_Menu_Item *mi); void e_menu_item_set_callback(E_Menu_Item *mi, void (*func) (E_Menu *m, E_Menu_Item *mi, void *data), void *data); void e_menu_hide_submenus(E_Menu *menus_after); void e_menu_select(int dx, int dy); void e_menu_init(void ); void e_menu_event_win_show(void ); void e_menu_event_win_hide(void ); void e_menu_set_background(E_Menu *m); void e_menu_set_sel(E_Menu *m, E_Menu_Item *mi); void e_menu_set_sep(E_Menu *m, E_Menu_Item *mi); void e_menu_set_state(E_Menu *m, E_Menu_Item *mi); void e_menu_free(E_Menu *m); E_Menu *e_menu_new(void ); void e_menu_hide(E_Menu *m); void e_menu_show(E_Menu *m); void e_menu_move_to(E_Menu *m, int x, int y); void e_menu_show_at_mouse(E_Menu *m, int x, int y, Time t); void e_menu_add_item(E_Menu *m, E_Menu_Item *mi); void e_menu_del_item(E_Menu *m, E_Menu_Item *mi); void e_menu_item_update(E_Menu *m, E_Menu_Item *mi); void e_menu_item_unrealize(E_Menu *m, E_Menu_Item *mi); void e_menu_item_realize(E_Menu *m, E_Menu_Item *mi); E_Menu_Item *e_menu_item_new(char *str); void e_menu_obscure_outside_screen(E_Menu *m); void e_menu_scroll_all_by(int dx, int dy); void e_menu_update_visibility(E_Menu *m); void e_menu_update_base(E_Menu *m); void e_menu_update_finish(E_Menu *m); void e_menu_update_shows(E_Menu *m); void e_menu_update_hides(E_Menu *m); void e_menu_update(E_Menu *m); void e_menu_item_set_icon(E_Menu_Item *mi, char *icon); void e_menu_item_set_text(E_Menu_Item *mi, char *text); void e_menu_item_set_separator(E_Menu_Item *mi, int sep); void e_menu_item_set_radio(E_Menu_Item *mi, int radio); void e_menu_item_set_check(E_Menu_Item *mi, int check); void e_menu_item_set_state(E_Menu_Item *mi, int state); void e_menu_item_set_submenu(E_Menu_Item *mi, E_Menu *submenu); void e_menu_item_set_scale_icon(E_Menu_Item *mi, int scale); void e_menu_set_padding_icon(E_Menu *m, int pad); void e_menu_set_padding_state(E_Menu *m, int pad); #endif