共通デスクトップ環境 プログラマーズ・ガイド (ヘルプ・システム編)

次のコード・セグメントは、簡易関数を使用して簡易ヘルプ・ダイアログを (parent の子として) 作成します。ダイアログは管理されていません。通常、ヘルプが要求された時点でアプリケーションのどこかで管理されます。この例では、アプリケーション定義のボタンが使用可能になっており、ヘルプをさらに要求するために使用します。

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);

次の 2 つの呼び出しは、ダイアログにハイパーリンクとクローズ・コールバックを追加します。通常、関数 HyperlinkCB()CloseHelpCB() はアプリケーションのどこかで宣言されます。

XtAddCallback (quickHelpDialog, DtNhyperLinkCallback,
				HyperlinkCB, (XtPointer)NULL);
XtAddCallback (quickHelpDialog, DtNcloseCallback,
                CloseHelpCB, (XtPointer)NULL);

ここでアプリケーション定義のボタンが管理され、アプリケーションの MoreHelpCB() 関数を起動する起動コールバックが割り当てられます。

moreButton = DtHelpQuickDialogGetChild (quickHelpDialog,
										DT_HELP_QUICK_MORE_BUTTON);
 XtManageChild (moreButton);
XtAddCallback (moreButton, XmNactivateCallback,
                MoreHelpCB, (XtPointer)NULL);

「ヘルプの使い方」を提供するために、ダイアログの [ヘルプ] ボタンが管理され、ダイアログにヘルプ・コールバックが追加されます。

helpButton = DtHelpQuickDialogGetChild (quickHelpDialog,
										DT_HELP_QUICK_HELP_BUTTON);
 XtManageChild (helpButton);
XtAddCallback (quickHelpDialog,DtNhelpCallback,
                HelpRequestCB, USING_HELP);

他の OSF/Motif ダイアログと同様に、簡易ヘルプ・ダイアログにヘルプ・コールバックを追加すると、[F1] キーと [ヘルプ] ボタンのどちらからでも簡易ヘルプ・ダイアログが使用できます。