Ethereal-dev: [Ethereal-dev] Support for GUI taps to add their own menu items added

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Tue, 22 Apr 2003 22:42:05 -0700
A GUI tap can now add itself to the "Tools->Statistics" menu by having a
"register_tap_menu_XXX()" routine, along with its
"register_tap_listener_XXX()" routine, and having that routine call

	register_tap_menu_item(menu_path, callback);

where "menu_path" is a string, giving a menu path relative to
"/Tools/Statistics", and "callback" is the callback to be called when
that menu item is selected.

If "menu_path" contains slashes (it must not begin with a slash, as it's
a relative path), any necessary submenus are created if necessary.

For example, the ONC RPC statistics tap does

	void
	register_tap_menu_gtkrpcstat(void)
	{ 
		register_tap_menu_item("ONC-RPC/RTT", gtk_rpcstat_cb);
	}

The hard-coded menu items have been removed from "gtk/menu.c"; there
should no longer be a need to modify "gtk/menu.c" to add new menu items
for taps (unless the callback needs to be passed callback data, in which
case "register_tap_menu_item()" should be modified to take the callback
data value as an argument).