プログラマは、ユーザがコンテキスト・ヘルプを要求したときに、その時のアプリケーションの動作に関連するヘルプ情報が表示されるようにアプリケーションにコードを追加します。
/usr/dt/share/examples/dthelp ディレクトリには、dthelpdemo というプログラム例のソースコードが入っています。OSF/Motif アプリケーションへのヘルプ・ダイアログを追加する方法を示すものです。
ユーザに役立つ情報を提供するには、次のことを考慮することが必要です。
一般に起こりうる混乱状況は何か。このような状況で有効なヘルプを提供すればユーザは時間を浪費せずに済みます。
後でも先でもなく今、ユーザがヘルプを必要としているのはなぜか。実行するステップが複数あってユーザがその最初のステップにない場合は、そのステップに固有のヘルプ情報へ分岐しなければなりません。こうした方が、各ステップごとに同じヘルプ情報を表示するよりずっと役立ちます。ユーザが最初のステップにある場合は、最初のステップの詳細な情報も、全ステップの概要もわかるようにしなければなりません。
ユーザはコンテキスト・ヘルプを要求しているのか、それとも単にヘルプ情報をブラウズしているだけなのか。コンテキスト・ヘルプを要求している場合は、現在行われている作業に関連した情報を提供しなければなりません。
オンライン・ヘルプの設計者は各コンテキスト・トピックを表示する方法を知りたがっており、プログラマは各コンテキスト・トピックの内容を知りたがっているので、プログラマは設計者と密に連絡をとることが必要です。双方の協力がないと、情報は不適切で、曖昧で、誤りのあるものとなります。
こうした協力により、プログラマはアプリケーションを理解し、設計者は情報をユーザへどのように伝えたらよいかを理解できます。
ヘルプのエントリ・ポイントを設定することにより、アプリケーションでオンライン・ヘルプが使えるようになります。エントリ・ポイントはアプリケーションで定義され、特定のヘルプ・トピックに対応付けられます。ユーザが [ヘルプ] キー、[ヘルプ] ボタン、[ヘルプ] メニューのいずれの方法によってヘルプを要求してもエントリ・ポイントが表示されます。たとえば [ヘルプ] ボタンを備えた印刷ダイアログ・ボックスを想定します。設計者はダイアログ・ボックスの内容を説明するヘルプ・トピックを記述し、トピックの ID を提供します。そこでユーザはコールバック・ルーチンを使用し、[ヘルプ] ボタンでヘルプ・トピックの ID を指定できます。
ヘルプ・システムのアプリケーション・プログラム・インタフェースは、特に OSF/Motif アプリケーションで使用するように設計されています。特にこのヘルプでは、次の 2 つの新しいウィジェット・クラス (およびこれらを処理するために便利な機能を加えたもの) を提供することにより、OSF/Motif ウィジェット・セットを拡張しています。
一般ヘルプ・ダイアログ
メニュー・バー、トピック・ツリー、ヘルプ・トピック表示領域を備えたヘルプ・ウィンドウを提供します。
簡易ヘルプ・ダイアログ
トピック表示領域といくつかのダイアログ・ボタンを備えた簡素なヘルプ・ウィンドウを提供します。
アプリケーションでは上記のいずれか、または両方を使用できます。アプリケーションを (ヘルプ・ライブラリといっしょに) コンパイルすると、ヘルプ・ウィンドウがアプリケーションの一部になります。
第 9 章「ヘルプ・ダイアログ・ボックスの作成と管理 」で、一般ヘルプ・ダイアログ・ボックスと簡易ヘルプ・ダイアログ・ボックスを説明します。
プロダクト・パッケージには実行時のヘルプ・ファイル (volume.sdl) とグラフィック・ファイルが入っています。また、フロント・パネルの [ヘルプ・ビューア] でボリュームを表示できるようにするヘルプ・ファミリ・ファイルも作成できます。
ヘルプ・ボリュームが実行リンクを使用する場合、適切な実行リンク・リソースをアプリケーションのデフォルト・リソース・ファイルに入れるよう設計者と協力しなければなりません。第 13 章「インストール・パッケージの準備」で、アプリケーションにどのヘルプ・ファイルが割り当てられるかを説明します。