アプリケーションを実行しているユーザは、メッセージ・フッタ、エラー・ダイアログ、または警告ダイアログにメッセージが表示され、適宜、詳しい説明がオンラインヘルプにあることを期待します。共通デスクトップ環境のアプリケーションは、エラー・メッセージと警告を表示するための共通モデルに従います。
メッセージ・テキストの処理方法のために、ダイアログ、フッタ、または別のユーザ・インタフェースのどこかに表示しないと、ユーザはアプリケーションからのメッセージを見ることができません。
共通デスクトップ環境 (CDE) では、そのようなメッセージは、通常のユーザが定期的に調べることのないログ・ファイルに出力されます。警告、メッセージ、およびエラー条件を表示する場所を決めるときには、次の規則に従ってください。
情報を示すメッセージの場合は、アプリケーションのメッセージ・フッタにテキストを表示します。たとえば、「MyDoc ファイルがコピーされました」のようになります。
エラーまたは重大な警告についてのメッセージの場合は(ユーザにとって重要な操作が失敗した場合のトラブルなど) 、エラー・ダイアログまたは警告ダイアログに表示します。
優れたエラー・ダイアログまたは警告ダイアログでは、次の情報をユーザに提供します。
何が起きたか (ユーザの視点から)
原因 (ユーザが現在の作業と環境に関連づけて理解できるような簡単な表現で)
問題の解決方法
4、5 行のエラー・ダイアログで説明できない場合には、ダイアログにヘルプ・ボタンを追加して、ヘルプ・ボタンをアプリケーションのヘルプ・ボリューム内のトピックにリンクすることを検討してください。
メッセージの作成の詳細は、『Solaris 共通デスクトップ環境 プログラマーズ・ガイド(国際化対応編)』を参照してください。
追加の背景情報が必要な場合や、4、5 行のダイアログではエラーを十分に説明できない場合には、オンライン・ヘルプにリンクするボタンを追加できます。
ダイアログのオンライン・ヘルプの追加は単純な作業です。特定のダイアログをオンライン・ヘルプの候補として決めたら、次の作業を実行します。
エラー・ヘルプに対して固有な ID を選択します。
この ID が、オンライン・ヘルプ・テキストへのリンクとなります。ID は、64 文字以下でなければなりません。たとえば、DiskSpaceError のようになります。
ダイアログを作成して、ヘルプ・コールバックを追加します。
エラー・メッセージに対しては XmCreateErrorDialog()簡易関数を、警告に対しては XmCreateWarningDialog()簡易関数を使用して、次のようにヘルプ・コールバックを追加します。
XtAddCallback(dialog, XmNhelpCallback, helpfn, "ID");
この例では、helpfn はヘルプ・ダイアログを管理するために作成したヘルプ関数、文字列「ID」は、エラー・メッセージに対して選んだ ID です (たとえば、 DiskSpaceError)。ヘルプ関数では、XmNlocationId リソースを ID の値に設定します。/usr/dt/examples/dthelp ディレクトリに、このようなヘルプ関数の設定例があります。
ヘルプ・ダイアログ・ウィジェットの作成と管理の詳細は、『Solaris 共通デスクトップ環境 プログラマーズ・ガイド(ヘルプ・システム編)』を参照してください。
エラー・メッセージに対応するヘルプ・セクションを書きます。
ヘルプ・ボリュームの「メッセージ」の章に、メッセージの説明を書きます。ヘルプのソース・ファイルでは、メッセージごとにセクションを設けなければならず、セクションの始めの ID= 属性は、コードの中でエラーに対して選んだ ID と一致しなければなりません。
たとえば、s1 セクション見出しでは、ID は DiskSpaceError です。
次の見出しは、ユーザのシステムに十分なディスク領域がないときに、「ファイルを保存できません」というエラー・メッセージを表示します。
<s1 ID=DiskSpaceError> ファイルを保存できません <¥s1>
規則によって、セクション見出しのテキストはエラー・ダイアログのテキストと 1 対 1 で対応しなければならないので注意してください。
ヘルプ・ファイルを再作成します。
エラー・メッセージに対する新しいヘルプ・セクションは、ヘルプ・ファイルを再作成して (dthelptag プログラムを使用して)、アプリケーションを再コンパイルするとすぐにアクティブになります。
オンライン・ヘルプの記述と作成方法の詳細は、『Solaris 共通デスクトップ環境 プログラマーズ・ガイド(ヘルプ・システム編)』を参照してください。
エラー条件のための回復処理ルーチンがある場合には、ダイアログに [再実行] ボタンを追加することを検討してください。たとえば、システムのディスク空間が不足しているためにファイルをコピーできなかった場合、ダイアログに [再コピー] オプションがあれば、ユーザは、ディスク空間やアクセス権の問題を訂正してから、そのオプションを選択できます。