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

一般ヘルプ・ダイアログ

一般ヘルプ・ダイアログには、トピック・ツリーとトピック表示領域の 2 つの表示領域があります。トピック・ツリーは、スクロールできるヘルプ・トピックのリストを提供しています。常にホーム・トピックのタイトルが 1 番目の項目になります。ユーザがタイトルを選択すると、そのタイトルに矢印 (=>) が付き、そのヘルプ情報がトピック表示領域に表示されます。図 9-1 に、一般ヘルプ・ウィンドウのトピック・ツリーとトピック表示領域を示します。現在のトピック「To select a palette」が表示されます。

一般ヘルプ・ダイアログには、[前のトピックへ]、[ヒストリ]、[索引] の 3 つのダイアログ・ボタンがあります。これらのコマンドはヘルプ・メニューでも使用できます。ヘルプ・ダイアログとグラフィカル・ユーザ・インタフェースの概要については、「ヘルプ・ユーザ・インタフェース」を参照してください。

図 9-1 一般ヘルプ・ダイアログ

Graphic

一般ヘルプ・ダイアログを作成するには

  1. 適切なヘッダ・ファイルを指定します。

       
    #include <Help.h>
    #include <HelpDialog.h>
  2. 一般ヘルプ・ダイアログ・ウィジェットのインスタンスを作成します。

    DtCreateHelpDialog() 簡易関数

    または XtCreateManagedWidget() 関数を使用します。

  3. ダイアログ内で発生するハイパーリンク・イベントを処理するためのコールバックを追加します (詳細は、「ハイパーリンク・イベントへの応答」を参照してください)。

  4. Close コマンドを処理するためのクローズ・コールバックを追加します。

次のコード・セグメントは、簡易関数を使用して一般ヘルプ・ダイアログを (parent の子として) 作成します。ダイアログは管理されていません。ヘルプが要求された時点で何かのアプリケーションで管理されます。

Widget   mainHelpDialog, 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++;

 mainHelpDialog =
   DtCreateHelpDialog (parent,  "mainHelpDialog", al, ac);

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

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

関連項目