A help index dialog
Creating a Help menu is just like creating any other menu, except that once you have created the CascadeButton, you
should set the XmNmenuHelpWidget resource for the MenuBar. This resource specifies which CascadeButton is
placed to the far right in the MenuBar, which is where the Style Guide states that the Help menu must be positioned.
the source code contains a routine that demonstrates how to build a Help menu and attach it to the MenuBar. In this
example, we present an alternate approach to creating MenuBar titles and their associated PulldownMenus.
void
BuildHelpMenu(MenuBar)
Widget MenuBar;
{
Widget HelpPullDown, widget;
int i;
static char *h_items[] = {
"On Context", NULL, "On Help", "On Window", "On Keys",
"Index", "Tutorial", "On Version"
};
/* Help menu */
HelpPullDown = XmCreatePulldownMenu (MenuBar, "HelpPullDown", NULL, 0);
widget = XtVaCreateManagedWidget ("Help",
xmCascadeButtonWidgetClass, MenuBar,
XmNsubMenuId, HelpPullDown,
NULL);
/* tell the MenuBar that this is the help widget */
XtVaSetValues (MenuBar, XmNmenuHelpWidget, widget, NULL);
/* Now add the menu items to the pulldown menu */
for (i = 0; i < XtNumber (h_items); i++) {
if (h_items[i] != NULL) {
widget = XtVaCreateManagedWidget (h_items[i],
xmPushButtonGadgetClass, HelpPullDown, NULL);
XtAddCallback (widget, XmNactivateCallback,
do_help, h_items[i]);
}
else
widget = XtVaCreateManagedWidget ("sep",
xmSeparatorGadgetClass, HelpPullDown, NULL);
}
}
Much of the work required to create a ...