diff options
author | Olivier Abad <oabad@noos.fr> | 2002-11-15 23:50:06 +0000 |
---|---|---|
committer | Olivier Abad <oabad@noos.fr> | 2002-11-15 23:50:06 +0000 |
commit | 380bd124896ab82f9628a7e411c8333ebbce067a (patch) | |
tree | 2aedc8d0d6071580f031eb8116a7f7d5b9c6627e /gtk/menu.c | |
parent | cf6ddd5b775fa8abdb58fdab69eca982b5ffaf9a (diff) | |
download | wireshark-380bd124896ab82f9628a7e411c8333ebbce067a.tar.gz wireshark-380bd124896ab82f9628a7e411c8333ebbce067a.tar.bz2 wireshark-380bd124896ab82f9628a7e411c8333ebbce067a.zip |
New gtk1/gtk2 compatibility macros used for menu entries.
svn path=/trunk/; revision=6641
Diffstat (limited to 'gtk/menu.c')
-rw-r--r-- | gtk/menu.c | 519 |
1 files changed, 226 insertions, 293 deletions
diff --git a/gtk/menu.c b/gtk/menu.c index f8e9698388..e561b91e82 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.77 2002/11/15 18:45:18 guy Exp $ + * $Id: menu.c,v 1.78 2002/11/15 23:50:06 oabad Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -85,341 +85,274 @@ static void set_menu_sensitivity (gchar *, gint); "" -> "<Item>" "<Title>" -> create a title item "<Item>" -> create a simple item + "<ImageItem>" -> create an item holding an image (gtk2) + "<StockItem>" -> create an item holding a stock image (gtk2) "<CheckItem>" -> create a check item "<ToggleItem>" -> create a toggle item "<RadioItem>" -> create a radio item <path> -> path of a radio item to link against "<Separator>" -> create a separator + "<Tearoff>" -> create a tearoff separator (gtk2) "<Branch>" -> create an item to hold sub items (optional) "<LastBranch>" -> create a right justified branch + Item 6: extra data needed for ImageItem and StockItem (gtk2) */ /* main menu */ -#if GTK_MAJOR_VERSION < 2 static GtkItemFactoryEntry menu_items[] = { - {"/_File", NULL, NULL, 0, "<Branch>" }, - {"/File/_Open...", "<control>O", GTK_MENU_FUNC(file_open_cmd_cb), 0, NULL}, - {"/File/_Close", "<control>W", GTK_MENU_FUNC(file_close_cmd_cb), 0, NULL}, - {"/File/_Save", "<control>S", GTK_MENU_FUNC(file_save_cmd_cb), 0, NULL}, - {"/File/Save _As...", NULL, GTK_MENU_FUNC(file_save_as_cmd_cb), 0, NULL}, - {"/File/_Reload", "<control>R", GTK_MENU_FUNC(file_reload_cmd_cb), 0, NULL}, - {"/File/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/File/_Print...", NULL, GTK_MENU_FUNC(file_print_cmd_cb), 0, NULL}, - {"/File/Print Pac_ket", "<control>P", GTK_MENU_FUNC(file_print_packet_cmd_cb), 0, NULL}, - {"/File/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/File/_Quit", "<control>Q", GTK_MENU_FUNC(file_quit_cmd_cb), 0, NULL}, - {"/_Edit", NULL, NULL, 0, "<Branch>" }, + ITEM_FACTORY_ENTRY("/_File", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/File/_Open...", "<control>O", file_open_cmd_cb, + 0, GTK_STOCK_OPEN), + ITEM_FACTORY_STOCK_ENTRY("/File/_Close", "<control>W", file_close_cmd_cb, + 0, GTK_STOCK_CLOSE), + ITEM_FACTORY_STOCK_ENTRY("/File/_Save", "<control>S", file_save_cmd_cb, + 0, GTK_STOCK_SAVE), + ITEM_FACTORY_STOCK_ENTRY("/File/Save _As...", NULL, file_save_as_cmd_cb, + 0, GTK_STOCK_SAVE_AS), + ITEM_FACTORY_STOCK_ENTRY("/File/_Reload", "<control>R", file_reload_cmd_cb, + 0, GTK_STOCK_REFRESH), + ITEM_FACTORY_ENTRY("/File/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/File/_Print...", NULL, file_print_cmd_cb, + 0, GTK_STOCK_PRINT), + ITEM_FACTORY_ENTRY("/File/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/File/Print Pac_ket", "<control>P", + file_print_packet_cmd_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/File/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/File/_Quit", "<control>Q", file_quit_cmd_cb, + 0, GTK_STOCK_QUIT), + ITEM_FACTORY_ENTRY("/_Edit", NULL, NULL, 0, "<Branch>", NULL), #if 0 - /* Un-#if this when we actually implement Cut/Copy/Paste. */ - {"/Edit/Cut", "<control>X", NULL, 0, NULL}, - {"/Edit/Copy", "<control>C", NULL, 0, NULL}, - {"/Edit/Paste", "<control>V", NULL, 0, NULL}, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, + /* Un-#if this when we actually implement Cut/Copy/Paste. */ + ITEM_FACTORY_STOCK_ENTRY("/Edit/Cut", "<control>X", NULL, + 0, GTK_STOCK_CUT), + ITEM_FACTORY_STOCK_ENTRY("/Edit/Copy", "<control>C", NULL, + 0, GTK_STOCK_COPY), + ITEM_FACTORY_STOCK_ENTRY("/Edit/Paste", "<control>V", NULL, + 0, GTK_STOCK_PASTE), + ITEM_FACTORY_ENTRY("/Edit/<separator>", NULL, NULL, 0, "<Separator>"), #endif - {"/Edit/_Find Frame...", "<control>F", GTK_MENU_FUNC(find_frame_cb), 0, NULL}, - {"/Edit/Find _Next", "<control>N", GTK_MENU_FUNC(find_next_cb), 0, NULL}, - {"/Edit/Find _Previous", "<control>B", GTK_MENU_FUNC(find_previous_cb), 0, NULL}, - {"/Edit/_Go To Frame...", "<control>G", GTK_MENU_FUNC(goto_frame_cb), 0, NULL}, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Edit/_Mark Frame", "<control>M", GTK_MENU_FUNC(mark_frame_cb), 0, NULL}, - {"/Edit/Mark _All Frames", NULL, GTK_MENU_FUNC(mark_all_frames_cb), 0, NULL}, - {"/Edit/_Unmark All Frames", NULL, GTK_MENU_FUNC(unmark_all_frames_cb), 0, NULL}, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Edit/_Preferences...", NULL, GTK_MENU_FUNC(prefs_cb), 0, NULL}, + ITEM_FACTORY_STOCK_ENTRY("/Edit/_Find Frame...", "<control>F", + find_frame_cb, 0, GTK_STOCK_FIND), + ITEM_FACTORY_STOCK_ENTRY("/Edit/Find _Next", "<control>N", find_next_cb, + 0, GTK_STOCK_GO_FORWARD), + ITEM_FACTORY_STOCK_ENTRY("/Edit/Find _Previous", "<control>B", + find_previous_cb, 0, GTK_STOCK_GO_BACK), + ITEM_FACTORY_STOCK_ENTRY("/Edit/_Go To Frame...", "<control>G", + goto_frame_cb, 0, GTK_STOCK_JUMP_TO), + ITEM_FACTORY_ENTRY("/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Edit/_Mark Frame", "<control>M", mark_frame_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Edit/Mark _All Frames", NULL, mark_all_frames_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Edit/_Unmark All Frames", NULL, unmark_all_frames_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/Edit/_Preferences...", NULL, prefs_cb, + 0, GTK_STOCK_PREFERENCES), #ifdef HAVE_LIBPCAP - {"/Edit/_Capture Filters...", NULL, GTK_MENU_FUNC(cfilter_dialog_cb), 0, NULL}, + ITEM_FACTORY_ENTRY("/Edit/_Capture Filters...", NULL, cfilter_dialog_cb, + 0, NULL, NULL), #endif /* HAVE_LIBPCAP */ - {"/Edit/_Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL}, - {"/Edit/P_rotocols...", NULL, GTK_MENU_FUNC(proto_cb), 0, NULL}, + ITEM_FACTORY_ENTRY("/Edit/_Display Filters...", NULL, dfilter_dialog_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Edit/P_rotocols...", NULL, proto_cb, 0, NULL, NULL), #ifdef HAVE_LIBPCAP - {"/_Capture", NULL, NULL, 0, "<Branch>" }, - {"/Capture/_Start...", "<control>K", GTK_MENU_FUNC(capture_prep_cb), 0, NULL}, + ITEM_FACTORY_ENTRY("/_Capture", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/Capture/_Start...", "<control>K", + capture_prep_cb, 0, GTK_STOCK_EXECUTE), /* * XXX - this doesn't yet work in Win32. */ #ifndef _WIN32 - {"/Capture/S_top", "<control>E", GTK_MENU_FUNC(capture_stop_cb), 0, NULL}, + ITEM_FACTORY_STOCK_ENTRY("/Capture/S_top", "<control>E", capture_stop_cb, + 0, GTK_STOCK_STOP), #endif /* _WIN32 */ #endif /* HAVE_LIBPCAP */ - {"/_Display", NULL, NULL, 0, "<Branch>" }, - {"/Display/_Options...", NULL, GTK_MENU_FUNC(display_opt_cb), 0, NULL}, - {"/Display/_Match", NULL, NULL, 0, "<Branch>" }, - {"/Display/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_ptree), 0, NULL}, - {"/Display/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_ptree), 0, NULL}, - {"/Display/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree), 0, NULL}, - {"/Display/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree), 0, NULL}, - {"/Display/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree_not), 0, NULL}, - {"/Display/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree_not), 0, NULL}, - {"/Display/_Prepare", NULL, NULL, 0, "<Branch>" }, - {"/Display/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_ptree), 0, NULL}, - {"/Display/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_ptree), 0, NULL}, - {"/Display/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree), 0, NULL}, - {"/Display/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree), 0, NULL}, - {"/Display/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree_not), 0, NULL}, - {"/Display/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree_not), 0, NULL}, - {"/Display/_Colorize Display...", NULL, GTK_MENU_FUNC(color_display_cb), 0, NULL}, - {"/Display/Collapse _All", NULL, GTK_MENU_FUNC(collapse_all_cb), 0, NULL}, - {"/Display/_Expand All", NULL, GTK_MENU_FUNC(expand_all_cb), 0, NULL}, - {"/Display/_Show Packet In New Window", NULL, GTK_MENU_FUNC(new_window_cb), 0, NULL}, - {"/Display/User Specified Decodes...", NULL, GTK_MENU_FUNC(decode_show_cb), 0, NULL}, - {"/_Tools", NULL, NULL, 0, "<Branch>" }, + ITEM_FACTORY_ENTRY("/_Display", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Display/_Options...", NULL, display_opt_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/_Match", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Display/Match/_Selected", NULL, + match_selected_cb_replace_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Match/_Not Selected", NULL, + match_selected_cb_not_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Match/_And Selected", NULL, + match_selected_cb_and_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Match/_Or Selected", NULL, + match_selected_cb_or_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Match/A_nd Not Selected", NULL, + match_selected_cb_and_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Match/O_r Not Selected", NULL, + match_selected_cb_or_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/_Prepare", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/_Selected", NULL, + prepare_selected_cb_replace_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/_Not Selected", NULL, + prepare_selected_cb_not_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/_And Selected", NULL, + prepare_selected_cb_and_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/_Or Selected", NULL, + prepare_selected_cb_or_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/A_nd Not Selected", NULL, + prepare_selected_cb_and_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Prepare/O_r Not Selected", NULL, + prepare_selected_cb_or_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/_Colorize Display...", NULL, color_display_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/Collapse _All", NULL, collapse_all_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/_Expand All", NULL, expand_all_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/_Show Packet In New Window", NULL, + new_window_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display/User Specified Decodes...", NULL, + decode_show_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/_Tools", NULL, NULL, 0, "<Branch>", NULL), #ifdef HAVE_PLUGINS - {"/Tools/_Plugins...", NULL, GTK_MENU_FUNC(tools_plugins_cmd_cb), 0, NULL}, + ITEM_FACTORY_ENTRY("/Tools/_Plugins...", NULL, tools_plugins_cmd_cb, + 0, NULL, NULL), #endif /* HAVE_PLUGINS */ - {"/Tools/_Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL}, - {"/Tools/_Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL}, + ITEM_FACTORY_ENTRY("/Tools/_Follow TCP Stream", NULL, follow_stream_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/_Decode As...", NULL, decode_as_cb, + 0, NULL, NULL), /* {"/Tools/Graph", NULL, NULL, 0, NULL}, future use */ - {"/_Tools/TCP Stream Analysis", NULL, NULL, 0, "<Branch>" }, - {"/_Tools/TCP Stream Analysis/Time-Sequence Graph (Stevens)", NULL, GTK_MENU_FUNC (tcp_graph_cb), 0, NULL}, - {"/_Tools/TCP Stream Analysis/Time-Sequence Graph (tcptrace)", NULL, GTK_MENU_FUNC (tcp_graph_cb), 1, NULL}, - {"/_Tools/TCP Stream Analysis/Throughput Graph", NULL, GTK_MENU_FUNC (tcp_graph_cb), 2, NULL}, - {"/_Tools/TCP Stream Analysis/RTT Graph", NULL, GTK_MENU_FUNC (tcp_graph_cb), 3, NULL}, - {"/Tools/_Summary", NULL, GTK_MENU_FUNC(summary_open_cb), 0, NULL}, - {"/Tools/Protocol Hierarchy Statistics", NULL, GTK_MENU_FUNC(proto_hier_stats_cb), 0, NULL}, - {"/Tools/Statistics", NULL, NULL, 0, "<Branch>" }, - {"/Tools/Statistics/ONC-RPC", NULL, NULL, 0, "<Branch>", }, - {"/Tools/Statistics/ONC-RPC/RTT", NULL, GTK_MENU_FUNC(gtk_rpcstat_cb), 0, NULL, }, - {"/Tools/Statistics/ONC-RPC/Programs", NULL, GTK_MENU_FUNC(gtk_rpcprogs_cb), 0, NULL, }, - {"/Tools/Statistics/DCE-RPC", NULL, NULL, 0, "<Branch>", }, - {"/Tools/Statistics/DCE-RPC/RTT", NULL, GTK_MENU_FUNC(gtk_dcerpcstat_cb), 0, NULL, }, - {"/Tools/Statistics/Traffic", NULL, NULL, 0, "<Branch>" }, - {"/Tools/Statistics/Traffic/IO-Stat", NULL, GTK_MENU_FUNC(gtk_iostat_cb), 0, NULL }, - {"/_Help", NULL, NULL, 0, "<LastBranch>" }, - {"/Help/_Help", NULL, GTK_MENU_FUNC(help_cb), 0, NULL}, - {"/Help/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Help/_About Ethereal...", NULL, GTK_MENU_FUNC(about_ethereal), 0, NULL} + ITEM_FACTORY_ENTRY("/_Tools/TCP Stream Analysis", NULL, NULL, + 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/_Tools/TCP Stream Analysis/Time-Sequence Graph (Stevens)", + NULL, tcp_graph_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/_Tools/TCP Stream Analysis/Time-Sequence Graph (tcptrace)", + NULL, tcp_graph_cb, 1, NULL, NULL), + ITEM_FACTORY_ENTRY("/_Tools/TCP Stream Analysis/Throughput Graph", NULL, + tcp_graph_cb, 2, NULL, NULL), + ITEM_FACTORY_ENTRY("/_Tools/TCP Stream Analysis/RTT Graph", NULL, + tcp_graph_cb, 3, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/_Summary", NULL, summary_open_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/Protocol Hierarchy Statistics", NULL, + proto_hier_stats_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/ONC-RPC", NULL, NULL, 0, "<Branch>", + NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/ONC-RPC/RTT", NULL, gtk_rpcstat_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/ONC-RPC/Programs", NULL, + gtk_rpcprogs_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/DCE-RPC", NULL, NULL, 0, "<Branch>", + NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/DCE-RPC/RTT", NULL, gtk_dcerpcstat_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/Traffic", NULL, NULL, 0, "<Branch>", + NULL), + ITEM_FACTORY_ENTRY("/Tools/Statistics/Traffic/IO-Stat", NULL, gtk_iostat_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/_Help", NULL, NULL, 0, "<LastBranch>", NULL), + ITEM_FACTORY_STOCK_ENTRY("/Help/_Help", NULL, help_cb, 0, GTK_STOCK_HELP), + ITEM_FACTORY_ENTRY("/Help/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Help/_About Ethereal...", NULL, about_ethereal, + 0, NULL, NULL) }; -#else /* GTK_MAJOR_VERSION >= 2 */ -static GtkItemFactoryEntry menu_items[] = -{ - {"/_File", NULL, NULL, 0, "<Branch>", NULL }, - {"/File/_Open...", "<control>O", GTK_MENU_FUNC(file_open_cmd_cb), 0, "<StockItem>", GTK_STOCK_OPEN }, - {"/File/_Close", "<control>W", GTK_MENU_FUNC(file_close_cmd_cb), 0, "<StockItem>", GTK_STOCK_CLOSE }, - {"/File/_Save", "<control>S", GTK_MENU_FUNC(file_save_cmd_cb), 0, "<StockItem>", GTK_STOCK_SAVE }, - {"/File/Save _As...", NULL, GTK_MENU_FUNC(file_save_as_cmd_cb), 0, "<StockItem>", GTK_STOCK_SAVE_AS }, - {"/File/_Reload", "<control>R", GTK_MENU_FUNC(file_reload_cmd_cb), 0, "<StockItem>", GTK_STOCK_REFRESH }, - {"/File/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/File/_Print...", NULL, GTK_MENU_FUNC(file_print_cmd_cb), 0, "<StockItem>", GTK_STOCK_PRINT }, - {"/File/Print Pac_ket", "<control>P", GTK_MENU_FUNC(file_print_packet_cmd_cb), 0, NULL, NULL }, - {"/File/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/File/_Quit", "<control>Q", GTK_MENU_FUNC(file_quit_cmd_cb), 0, "<StockItem>", GTK_STOCK_QUIT }, - {"/_Edit", NULL, NULL, 0, "<Branch>", NULL }, -#if 0 - /* Un-#if this when we actually implement Cut/Copy/Paste. */ - {"/Edit/Cut", "<control>X", NULL, 0, "<StockItem>", GTK_STOCK_CUT }, - {"/Edit/Copy", "<control>C", NULL, 0, "<StockItem>", GTK_STOCK_COPY }, - {"/Edit/Paste", "<control>V", NULL, 0, "<StockItem>", GTK_STOCK_PASTE }, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>"}, -#endif - {"/Edit/_Find Frame...", "<control>F", GTK_MENU_FUNC(find_frame_cb), 0, "<StockItem>", GTK_STOCK_FIND }, - {"/Edit/Find _Next", "<control>N", GTK_MENU_FUNC(find_next_cb), 0, "<StockItem>", GTK_STOCK_GO_FORWARD}, - {"/Edit/Find _Previous", "<control>B", GTK_MENU_FUNC(find_previous_cb), 0, "<StockItem>", GTK_STOCK_GO_BACK}, - {"/Edit/_Go To Frame...", "<control>G", GTK_MENU_FUNC(goto_frame_cb), 0, "<StockItem>", GTK_STOCK_JUMP_TO }, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Edit/_Mark Frame", "<control>M", GTK_MENU_FUNC(mark_frame_cb), 0, NULL, NULL }, - {"/Edit/Mark _All Frames", NULL, GTK_MENU_FUNC(mark_all_frames_cb), 0, NULL, NULL }, - {"/Edit/_Unmark All Frames", NULL, GTK_MENU_FUNC(unmark_all_frames_cb), 0, NULL, NULL }, - {"/Edit/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Edit/_Preferences...", NULL, GTK_MENU_FUNC(prefs_cb), 0, "<StockItem>", GTK_STOCK_PREFERENCES }, -#ifdef HAVE_LIBPCAP - {"/Edit/_Capture Filters...", NULL, GTK_MENU_FUNC(cfilter_dialog_cb), 0, NULL, NULL }, -#endif /* HAVE_LIBPCAP */ - {"/Edit/_Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL, NULL }, - {"/Edit/P_rotocols...", NULL, GTK_MENU_FUNC(proto_cb), 0, NULL, NULL }, -#ifdef HAVE_LIBPCAP - {"/_Capture", NULL, NULL, 0, "<Branch>", NULL }, - {"/Capture/_Start...", "<control>K", GTK_MENU_FUNC(capture_prep_cb), 0, "<StockItem>", GTK_STOCK_EXECUTE }, - /* - * XXX - this doesn't yet work in Win32. - */ -#ifndef _WIN32 - {"/Capture/S_top", "<control>E", GTK_MENU_FUNC(capture_stop_cb), 0, "<StockItem>", GTK_STOCK_STOP }, -#endif /* _WIN32 */ -#endif /* HAVE_LIBPCAP */ - {"/_Display", NULL, NULL, 0, "<Branch>", NULL }, - {"/Display/_Options...", NULL, GTK_MENU_FUNC(display_opt_cb), 0, NULL, NULL }, - {"/Display/_Match", NULL, NULL, 0, "<Branch>", NULL }, - {"/Display/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_ptree), 0, NULL, NULL }, - {"/Display/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_ptree), 0, NULL, NULL }, - {"/Display/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree), 0, NULL, NULL }, - {"/Display/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree), 0, NULL, NULL }, - {"/Display/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree_not), 0, NULL, NULL }, - {"/Display/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree_not), 0, NULL, NULL }, - {"/Display/_Prepare", NULL, NULL, 0, "<Branch>", NULL }, - {"/Display/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_ptree), 0, NULL, NULL }, - {"/Display/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_ptree), 0, NULL, NULL }, - {"/Display/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree), 0, NULL, NULL }, - {"/Display/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree), 0, NULL, NULL }, - {"/Display/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree_not), 0, NULL, NULL }, - {"/Display/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree_not), 0, NULL, NULL }, - {"/Display/_Colorize Display...", NULL, GTK_MENU_FUNC(color_display_cb), 0, NULL, NULL }, - {"/Display/Collapse _All", NULL, GTK_MENU_FUNC(collapse_all_cb), 0, NULL, NULL }, - {"/Display/_Expand All", NULL, GTK_MENU_FUNC(expand_all_cb), 0, NULL, NULL }, - {"/Display/_Show Packet In New Window", NULL, GTK_MENU_FUNC(new_window_cb), 0, NULL, NULL }, - {"/Display/User Specified Decodes...", NULL, GTK_MENU_FUNC(decode_show_cb), 0, NULL, NULL }, - {"/_Tools", NULL, NULL, 0, "<Branch>", NULL }, -#ifdef HAVE_PLUGINS - {"/Tools/_Plugins...", NULL, GTK_MENU_FUNC(tools_plugins_cmd_cb), 0, NULL, NULL }, -#endif /* HAVE_PLUGINS */ - {"/Tools/_Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL, NULL }, - {"/Tools/_Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL, NULL }, -/* {"/Tools/Graph", NULL, NULL, 0, NULL}, future use */ - {"/_Tools/TCP Stream Analysis", NULL, NULL, 0, "<Branch>", NULL }, - {"/_Tools/TCP Stream Analysis/Time-Sequence Graph (Stevens)", NULL, GTK_MENU_FUNC (tcp_graph_cb), 0, NULL, NULL }, - {"/_Tools/TCP Stream Analysis/Time-Sequence Graph (tcptrace)", NULL, GTK_MENU_FUNC (tcp_graph_cb), 1, NULL, NULL }, - {"/_Tools/TCP Stream Analysis/Throughput Graph", NULL, GTK_MENU_FUNC (tcp_graph_cb), 2, NULL, NULL }, - {"/_Tools/TCP Stream Analysis/RTT Graph", NULL, GTK_MENU_FUNC (tcp_graph_cb), 3, NULL, NULL }, - {"/Tools/_Summary", NULL, GTK_MENU_FUNC(summary_open_cb), 0, NULL, NULL }, - {"/Tools/Protocol Hierarchy Statistics", NULL, GTK_MENU_FUNC(proto_hier_stats_cb), 0, NULL, NULL }, - {"/Tools/Statistics", NULL, NULL, 0, "<Branch>", NULL }, - {"/Tools/Statistics/ONC-RPC", NULL, NULL, 0, "<Branch>", NULL }, - {"/Tools/Statistics/ONC-RPC/RTT", NULL, GTK_MENU_FUNC(gtk_rpcstat_cb), 0, NULL, NULL }, - {"/Tools/Statistics/ONC-RPC/Programs", NULL, GTK_MENU_FUNC(gtk_rpcprogs_cb), 0, NULL, NULL }, - {"/Tools/Statistics/DCE-RPC", NULL, NULL, 0, "<Branch>", NULL }, - {"/Tools/Statistics/DCE-RPC/RTT", NULL, GTK_MENU_FUNC(gtk_dcerpcstat_cb), 0, NULL, NULL }, - {"/Tools/Statistics/Traffic", NULL, NULL, 0, "<Branch>", NULL }, - {"/Tools/Statistics/Traffic/IO-Stat", NULL, GTK_MENU_FUNC(gtk_iostat_cb), 0, NULL, NULL }, - {"/_Help", NULL, NULL, 0, "<LastBranch>", NULL }, - {"/Help/_Help", NULL, GTK_MENU_FUNC(help_cb), 0, "<StockItem>", GTK_STOCK_HELP }, - {"/Help/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Help/_About Ethereal...", NULL, GTK_MENU_FUNC(about_ethereal), 0, NULL, NULL } -}; -#endif /* GTK major version */ + /* calculate the number of menu_items */ static int nmenu_items = sizeof(menu_items) / sizeof(menu_items[0]); /* packet list popup */ -#if GTK_MAJOR_VERSION < 2 -static GtkItemFactoryEntry packet_list_menu_items[] = -{ - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL}, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL}, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL}, - {"/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Mark Frame", NULL, GTK_MENU_FUNC(mark_frame_cb), 0, NULL}, - {"/Match", NULL, NULL, 0, "<Branch>" }, - {"/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_plist), 0, NULL}, - {"/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_plist), 0, NULL}, - {"/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_plist), 0, NULL}, - {"/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_plist), 0, NULL}, - {"/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_plist_not), 0, NULL}, - {"/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_plist_not), 0, NULL}, - {"/Prepare", NULL, NULL, 0, "<Branch>" }, - {"/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_plist), 0, NULL}, - {"/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_plist), 0, NULL}, - {"/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_plist), 0, NULL}, - {"/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_plist), 0, NULL}, - {"/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_plist_not), 0, NULL}, - {"/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_plist_not), 0, NULL}, - {"/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Colorize Display...", NULL, GTK_MENU_FUNC(color_display_cb), 0, NULL}, - {"/Print...", NULL, GTK_MENU_FUNC(file_print_cmd_cb), 0, NULL}, - {"/Print Packet", NULL, GTK_MENU_FUNC(file_print_packet_cmd_cb), 0, NULL}, - {"/Show Packet In New Window", NULL, GTK_MENU_FUNC(new_window_cb), 0, NULL}, -}; -#else static GtkItemFactoryEntry packet_list_menu_items[] = { - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL, NULL }, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL, NULL }, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL, NULL }, - {"/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Mark Frame", NULL, GTK_MENU_FUNC(mark_frame_cb), 0, NULL, NULL }, - {"/Match", NULL, NULL, 0, "<Branch>", NULL }, - {"/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_plist), 0, NULL, NULL }, - {"/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_plist), 0, NULL, NULL }, - {"/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_plist), 0, NULL, NULL }, - {"/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_plist), 0, NULL, NULL }, - {"/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_plist_not), 0, NULL, NULL }, - {"/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_plist_not), 0, NULL, NULL }, - {"/Prepare", NULL, NULL, 0, "<Branch>", NULL }, - {"/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_plist), 0, NULL, NULL }, - {"/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_plist), 0, NULL, NULL }, - {"/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_plist), 0, NULL, NULL }, - {"/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_plist), 0, NULL, NULL }, - {"/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_plist_not), 0, NULL, NULL }, - {"/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_plist_not), 0, NULL, NULL }, - {"/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Colorize Display...", NULL, GTK_MENU_FUNC(color_display_cb), 0, NULL, NULL }, - {"/Print...", NULL, GTK_MENU_FUNC(file_print_cmd_cb), 0, NULL, NULL }, - {"/Print Packet", NULL, GTK_MENU_FUNC(file_print_packet_cmd_cb), 0, NULL, NULL }, - {"/Show Packet In New Window", NULL, GTK_MENU_FUNC(new_window_cb), 0, NULL, NULL }, + ITEM_FACTORY_ENTRY("/Follow TCP Stream", NULL, follow_stream_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Decode As...", NULL, decode_as_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display Filters...", NULL, dfilter_dialog_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Mark Frame", NULL, mark_frame_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Match/_Selected", NULL, + match_selected_cb_replace_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_Not Selected", NULL, + match_selected_cb_not_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_And Selected", NULL, + match_selected_cb_and_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_Or Selected", NULL, match_selected_cb_or_plist, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/A_nd Not Selected", NULL, + match_selected_cb_and_plist_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/O_r Not Selected", NULL, + match_selected_cb_or_plist_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Selected", NULL, + prepare_selected_cb_replace_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Not Selected", NULL, + prepare_selected_cb_not_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_And Selected", NULL, + prepare_selected_cb_and_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Or Selected", NULL, + prepare_selected_cb_or_plist, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/A_nd Not Selected", NULL, + prepare_selected_cb_and_plist_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/O_r Not Selected", NULL, + prepare_selected_cb_or_plist_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Colorize Display...", NULL, color_display_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Print...", NULL, file_print_cmd_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Print Packet", NULL, file_print_packet_cmd_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Show Packet In New Window", NULL, new_window_cb, + 0, NULL, NULL), }; -#endif -#if GTK_MAJOR_VERSION < 2 static GtkItemFactoryEntry tree_view_menu_items[] = { - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL}, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL}, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL}, - {"/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Resolve Name", NULL, GTK_MENU_FUNC(resolve_name_cb), 0, NULL}, - {"/Protocol Properties...", NULL, GTK_MENU_FUNC(properties_cb), 0, NULL}, - {"/Match", NULL, NULL, 0, "<Branch>" }, - {"/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_ptree), 0, NULL}, - {"/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_ptree), 0, NULL}, - {"/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree), 0, NULL}, - {"/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree), 0, NULL}, - {"/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree_not), 0, NULL}, - {"/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree_not), 0, NULL}, - {"/Prepare", NULL, NULL, 0, "<Branch>" }, - {"/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_ptree), 0, NULL}, - {"/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_ptree), 0, NULL}, - {"/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree), 0, NULL}, - {"/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree), 0, NULL}, - {"/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree_not), 0, NULL}, - {"/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree_not), 0, NULL}, - {"/<separator>", NULL, NULL, 0, "<Separator>"}, - {"/Collapse All", NULL, GTK_MENU_FUNC(collapse_all_cb), 0, NULL}, - {"/Expand All", NULL, GTK_MENU_FUNC(expand_all_cb), 0, NULL} + ITEM_FACTORY_ENTRY("/Follow TCP Stream", NULL, follow_stream_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Decode As...", NULL, decode_as_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display Filters...", NULL, dfilter_dialog_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Resolve Name", NULL, resolve_name_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Protocol Properties...", NULL, properties_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Match/_Selected", NULL, + match_selected_cb_replace_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_Not Selected", NULL, + match_selected_cb_not_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_And Selected", NULL, + match_selected_cb_and_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/_Or Selected", NULL, match_selected_cb_or_ptree, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/A_nd Not Selected", NULL, + match_selected_cb_and_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Match/O_r Not Selected", NULL, + match_selected_cb_or_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare", NULL, NULL, 0, "<Branch>", NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Selected", NULL, + prepare_selected_cb_replace_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Not Selected", NULL, + prepare_selected_cb_not_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_And Selected", NULL, + prepare_selected_cb_and_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/_Or Selected", NULL, + prepare_selected_cb_or_ptree, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/A_nd Not Selected", NULL, + prepare_selected_cb_and_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Prepare/O_r Not Selected", NULL, + prepare_selected_cb_or_ptree_not, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/<separator>", NULL, NULL, 0, "<Separator>", NULL), + ITEM_FACTORY_ENTRY("/Collapse All", NULL, collapse_all_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Expand All", NULL, expand_all_cb, 0, NULL, NULL) }; -#else -static GtkItemFactoryEntry tree_view_menu_items[] = -{ - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL, NULL }, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL, NULL }, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL, NULL }, - {"/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Resolve Name", NULL, GTK_MENU_FUNC(resolve_name_cb), 0, NULL, NULL }, - {"/Protocol Properties...", NULL, GTK_MENU_FUNC(properties_cb), 0, NULL, NULL }, - {"/Match", NULL, NULL, 0, "<Branch>", NULL }, - {"/Match/_Selected", NULL, GTK_MENU_FUNC(match_selected_cb_replace_ptree), 0, NULL, NULL }, - {"/Match/_Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_not_ptree), 0, NULL, NULL }, - {"/Match/_And Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree), 0, NULL, NULL }, - {"/Match/_Or Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree), 0, NULL, NULL }, - {"/Match/A_nd Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_and_ptree_not), 0, NULL, NULL }, - {"/Match/O_r Not Selected", NULL, GTK_MENU_FUNC(match_selected_cb_or_ptree_not), 0, NULL, NULL }, - {"/Prepare", NULL, NULL, 0, "<Branch>", NULL }, - {"/Prepare/_Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_replace_ptree), 0, NULL, NULL }, - {"/Prepare/_Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_not_ptree), 0, NULL, NULL }, - {"/Prepare/_And Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree), 0, NULL, NULL }, - {"/Prepare/_Or Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree), 0, NULL, NULL }, - {"/Prepare/A_nd Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_and_ptree_not), 0, NULL, NULL }, - {"/Prepare/O_r Not Selected", NULL, GTK_MENU_FUNC(prepare_selected_cb_or_ptree_not), 0, NULL, NULL }, - {"/<separator>", NULL, NULL, 0, "<Separator>", NULL }, - {"/Collapse All", NULL, GTK_MENU_FUNC(collapse_all_cb), 0, NULL, NULL }, - {"/Expand All", NULL, GTK_MENU_FUNC(expand_all_cb), 0, NULL, NULL } -}; -#endif -#if GTK_MAJOR_VERSION < 2 static GtkItemFactoryEntry hexdump_menu_items[] = { - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL}, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL}, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL} + ITEM_FACTORY_ENTRY("/Follow TCP Stream", NULL, follow_stream_cb, + 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Decode As...", NULL, decode_as_cb, 0, NULL, NULL), + ITEM_FACTORY_ENTRY("/Display Filters...", NULL, dfilter_dialog_cb, + 0, NULL, NULL) }; -#else -static GtkItemFactoryEntry hexdump_menu_items[] = -{ - {"/Follow TCP Stream", NULL, GTK_MENU_FUNC(follow_stream_cb), 0, NULL, NULL }, - {"/Decode As...", NULL, GTK_MENU_FUNC(decode_as_cb), 0, NULL, NULL }, - {"/Display Filters...", NULL, GTK_MENU_FUNC(dfilter_dialog_cb), 0, NULL, NULL } -}; -#endif static int initialize = TRUE; static GtkItemFactory *factory = NULL; |