Include the appropriate header files:
#include <Help.h> #include <HelpQuickD.h>
Create an instance of the quick help dialog widget:
Use the DtCreateHelpQuickDialog() convenience function.
Or, use the XtCreateManagedWidget() function.
Add a callback for handling hyperlink events that occur within the dialog. (For more information, see "Responding to Hyperlink Events".)
Add a close callback for handling the OK button.
Configure the dialog buttons that you want to use:
If you intend to use the application-configured button, manage it and add an activate callback.
If you want to disallow printing, unmanage the Print button.
Manage the Help button and add a help callback to the dialog to allow the user to get help on help.
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.
DtCreateHelpQuickDialog(3) man page
DtHelpQuickDialog(3) man page
DtHelpQuickDialogGetChild(3)man page