The following code segment creates a quick help dialog (as a child of parent) using the convenience function. The dialog is left unmanaged; presumably, it is managed elsewhere in the application when a help request is made. In this example, the application-configured button is enabled and used to request more help.
Widget quickHelpDialog, moreButton, helpButton;
ac = 0; XtSetArg (al[ac], XmNtitle, "My Application - Help"); ac++; XtSetArg (al[ac], DtNhelpVolume, "My Help Volume"); ac++; XtSetArg (al[ac], DtNlocationId, "Getting Started"); ac++; XtSetArg (al[ac], DtNhelpType, "DtHELP_TYPE_TOPIC"); ac++; quickHelpDialog = DtCreateHelpQuickDialog (parent, "quickHelpDialog", al, ac);
The following two calls add the hyperlink and close callbacks to the dialog. Presumably, the functions HyperlinkCB() and CloseHelpCB() are declared elsewhere in the application.
XtAddCallback (quickHelpDialog, DtNhyperLinkCallback, HyperlinkCB, (XtPointer)NULL); XtAddCallback (quickHelpDialog, DtNcloseCallback, CloseHelpCB, (XtPointer)NULL);
Here, the application-configured button is managed and assigned an activate callback that invokes the application's MoreHelpCB() function.
moreButton = DtHelpQuickDialogGetChild (quickHelpDialog, DT_HELP_QUICK_MORE_BUTTON); XtManageChild (moreButton); XtAddCallback (moreButton, XmNactivateCallback, MoreHelpCB, (XtPointer)NULL);
To provide "help on help," the dialog's Help button is managed and a help callback is added to the dialog.
helpButton = DtHelpQuickDialogGetChild (quickHelpDialog, DT_HELP_QUICK_HELP_BUTTON); XtManageChild (helpButton); XtAddCallback (quickHelpDialog,DtNhelpCallback, HelpRequestCB, USING_HELP);
Like other OSF/Motif dialogs, when you add a help callback to a quick help dialog, it is used by both the F1 key and the Help button.