X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Flttvwindow%2Flttvwindow%2Fmenu.c;h=5235acaaa61acdde2a1de3d3228ab8a2451ab7f0;hb=5e96e7e38fc3a40f0d9076c7ca8f369ad8c91d8c;hp=66033323e144a493b28b9002a1f9ebd1a5e481bd;hpb=42fcbb715d16ba7c2c0a37aab5add4bd64d96079;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/menu.c b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/menu.c index 66033323..5235acaa 100644 --- a/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/menu.c +++ b/ltt/branches/poly/lttv/modules/gui/lttvwindow/lttvwindow/menu.c @@ -16,47 +16,58 @@ * MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include -inline LttvMenus *lttv_menus_new() { - return g_array_new(FALSE, FALSE, sizeof(lttv_menu_closure)); +LttvMenus *lttv_menus_new() { + return g_array_new(FALSE, FALSE, sizeof(LttvMenuClosure)); } /* MD: delete elements of the array also, but don't free pointed addresses * (functions). */ -inline void lttv_menus_destroy(LttvMenus *h) { +void lttv_menus_destroy(LttvMenus *h) { g_debug("lttv_menus_destroy()"); g_array_free(h, TRUE); } -inline void lttv_menus_add(LttvMenus *h, lttvwindow_viewer_constructor f, char* menuPath, char* menuText) +LttvMenuClosure lttv_menus_add(LttvMenus *h, + lttvwindow_viewer_constructor f, + char* menu_path, char* menu_text, GtkWidget *widget) { - lttv_menu_closure c; - - /* if h is null, do nothing, or popup a warning message */ - if(h == NULL)return; + LttvMenuClosure c; c.con = f; - c.menuPath = menuPath; - c.menuText = menuText; - g_array_append_val(h,c); + c.menu_path = menu_path; + c.menu_text = menu_text; + c.widget = widget; + if(h != NULL) g_array_append_val(h,c); + + return c; } -gboolean lttv_menus_remove(LttvMenus *h, lttvwindow_viewer_constructor f) +GtkWidget *lttv_menus_remove(LttvMenus *h, lttvwindow_viewer_constructor f) { - lttv_menu_closure * tmp; - gint i; + LttvMenuClosure * tmp; + guint i; + GtkWidget *widget; + for(i=0;ilen;i++){ - tmp = & g_array_index(h, lttv_menu_closure, i); - if(tmp->con == f)break; + tmp = & g_array_index(h, LttvMenuClosure, i); + if(tmp->con == f) { + widget = tmp->widget; + break; + } } if(ilen){ g_array_remove_index(h, i); - return TRUE; - }else return FALSE; + return widget; + }else return NULL; }