ch11.sgm 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. <!-- $XConsortium: ch11.sgm /main/10 1996/09/08 19:40:53 rws $ -->
  2. <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
  3. <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
  4. <!-- (c) Copyright 1995 International Business Machines Corp. -->
  5. <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
  6. <!-- (c) Copyright 1995 Novell, Inc. -->
  7. <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
  8. <!-- (c) Copyright 1995 Hitachi. -->
  9. <chapter id="HRDC.H4Hlp.div.1">
  10. <title id="HRDC.H4Hlp.mkr.1">「ヘルプの使い方」の作成</title>
  11. <para>この章では、ヘルプ・システムの機能とその使用方法を記述するヘルプ・ボリュームをアプリケーションに組み込む方法について説明します。このヘルプ・ボリュームは、ヘルプ・ダイアログ・ボックスの使い方に関するヘルプを提供します。
  12. </para>
  13. <informaltable id="HRDC.H4Hlp.itbl.1" frame="All">
  14. <tgroup cols="1">
  15. <colspec colname="1" colwidth="4.0 in">
  16. <tbody>
  17. <row rowsep="1">
  18. <entry><para><!--Original XRef content: 'Accessing Help on Help in an Application236'--><xref
  19. role="JumpText" linkend="HRDC.H4Hlp.mkr.2"></para></entry>
  20. </row>
  21. <row rowsep="1">
  22. <entry><para><!--Original XRef content: 'To Set the helpOnHelpVolume Resource237'--><xref
  23. role="JumpText" linkend="HRDC.H4Hlp.mkr.3"></para></entry>
  24. </row>
  25. <row rowsep="1">
  26. <entry><para><!--Original XRef content: 'To Provide a Using Help Command237'--><xref
  27. role="JumpText" linkend="HRDC.H4Hlp.mkr.4"></para></entry>
  28. </row>
  29. <row rowsep="1">
  30. <entry><para><!--Original XRef content: 'To Display Help on Help238'--><xref
  31. role="JumpText" linkend="HRDC.H4Hlp.mkr.5"></para></entry>
  32. </row>
  33. <row rowsep="1">
  34. <entry><para><!--Original XRef content: 'Writing Your Own Help on Help Volume239'--><xref
  35. role="JumpText" linkend="HRDC.H4Hlp.mkr.6"></para></entry>
  36. </row>
  37. <row rowsep="1">
  38. <entry><para><!--Original XRef content: 'To Copy the Help4Help Source Files241'--><xref
  39. role="JumpText" linkend="HRDC.H4Hlp.mkr.7"></para></entry>
  40. </row>
  41. </tbody>
  42. </tgroup>
  43. </informaltable>
  44. <sect1 id="HRDC.H4Hlp.div.2">
  45. <title>「ヘルプの使い方」の作成</title>
  46. <para>「ヘルプの使い方」はヘルプ・システムの使用方法を通知します。特に、ハイパーリンクの使用、トピックのナビゲート、索引の使用、およびヘルプ・トピックの印刷などの作業について説明します。通常は、「ヘルプの使い方」は Help4Help という名前の個別のヘルプ・ボリュームとして提供されます。
  47. </para>
  48. <para>Help4Help ボリュームとそのソース・ファイルは開発者用ツールキットに組み込まれています。デフォルト・ボリュームを「そのまま」使用するか、アプリケーションの設計に合わせてそれを変更することができます。
  49. </para>
  50. <sect2 id="HRDC.H4Hlp.div.3">
  51. <title>アプリケーション・ヘルプの場合</title>
  52. <para>アプリケーション特定のヘルプを記述する場合、アプリケーションのヘルプ・ダイアログに [ヘルプの使い方] を追加する方法には、次の2種類があります。
  53. </para>
  54. <itemizedlist remap="Bullet1"><listitem><para><emphasis>デスクトップ上の「ヘルプの使い方」ボリュームを使用する。</emphasis>
  55. たとえば、デスクトップを実行しているワークステーションには、標準の Help4Help ボリュームがインストールされます。
  56. </para>
  57. </listitem><listitem><para><emphasis>独自の「ヘルプの使い方」ボリュームを作成する。</emphasis>
  58. Help4Help ボリュームの DocBook ソース・ファイルは、Cロケールの場合、<filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリに作成されます。このディレクトリ内で Help4Help を実行して実行時のヘルプ・ファイルを作成してください。「ヘルプの使い方」ボリュームで使用されているグラフィック・ファイルは、<filename>graphics</filename> サブディレクトリに格納されます。
  59. </para>
  60. </listitem></itemizedlist>
  61. </sect2>
  62. <sect2 id="HRDC.H4Hlp.div.4">
  63. <title>スタンドアロン・ヘルプの場合</title>
  64. <para>スタンドアロン・ヘルプを記述する場合、すでにインストールされ使用準備ができているヘルプビュー・プログラムを使用します。この場合、ヘルプビューは、デフォルトとして標準の Help4Help ボリュームにアクセスするので、「ヘルプの使い方」について心配する必要はありません。
  65. </para>
  66. </sect2>
  67. <sect2 id="HRDC.H4Hlp.div.5">
  68. <title>「ヘルプの使い方」の検索方法</title>
  69. <para>ヘルプ・システム(ヘルプビューを含む)を使用する各アプリケーションは、「ヘルプの使い方」トピックのためにアクセスされるヘルプ・ボリュームを識別する <systemitem class="resource">helpOnHelpVolume</systemitem> リソースをもっています。ヘルプビューの場合、このリソースは次のように設定されます。
  70. </para>
  71. <programlisting>DtHelpview*helpOnHelpVolume: Help4Help</programlisting>
  72. <para>独自の「ヘルプの使い方」ボリュームを作成する場合、システムにインストールされる可能性のある別の「ヘルプの使い方」ボリュームと競合しないように固有の名前を付けるようにしてください。
  73. </para>
  74. </sect2>
  75. </sect1>
  76. <sect1 id="HRDC.H4Hlp.div.6">
  77. <title id="HRDC.H4Hlp.mkr.2">アプリケーションの「ヘルプの使い方」へのアクセス</title>
  78. <para>アプリケーションは「ヘルプの使い方」をサポートするために次のことを行います。
  79. </para>
  80. <itemizedlist remap="Bullet1"><listitem><para><systemitem class="resource">helpOnHelpVolume</systemitem> リソースを設定し、アクセスしたいヘルプ・ボリュームを識別します。</para>
  81. </listitem><listitem><para><command>Using Help</command> コマンドを、アプリケーションの[ヘルプ]メニューに追加します。
  82. </para>
  83. </listitem></itemizedlist>
  84. <sect2 id="HRDC.H4Hlp.div.7" role="Procedure">
  85. <title id="HRDC.H4Hlp.mkr.3">helpOnHelpVolume リソースを設定するには</title>
  86. <orderedlist><listitem><para>次のように、アプリケーションのデフォルトのリソース・ファイルに1行追加します。
  87. </para>
  88. <para><symbol role="Variable">App-class</symbol>* <systemitem class="resource">helpOnHelpVolume</systemitem>: <symbol role="Variable">volume</symbol></para>
  89. <para><symbol role="Variable">App-class</symbol> はアプリケーションのクラス名で、<symbol role="Variable">volume</symbol> はアクセスしたい「ヘルプの使い方」ボリュームの名前です。
  90. </para>
  91. <para><emphasis>または</emphasis>アプリケーション内で、作成した各ヘルプ・ダイアログ <systemitem class="resource">helpOnHelpVolume</systemitem> リソースを設定します。
  92. </para>
  93. </listitem></orderedlist>
  94. <sect3 id="HRDC.H4Hlp.div.8">
  95. <title>例</title>
  96. <itemizedlist remap="Bullet1"><listitem><para><filename>dthelpview</filename> のデフォルトのリソース・ファイル (<command>DtHelpview</command>) にある次の行は、「ヘルプの使い方」ボリュームを指定します。
  97. </para>
  98. <programlisting>DtHelpview*helpOnHelpVolume: Help4Help</programlisting>
  99. </listitem><listitem><para>ヘルプ・ダイアログの作成中に「ヘルプの使い方」ボリュームを作成するには、次のように作成関数に渡された引き数のリストに追加します。
  100. </para>
  101. <programlisting>ac = 0;
  102. XtSetArg (al[ac], XmNtitle, "My Application - Help"); ac++;
  103. XtSetArg (al[ac], DtNhelpOnHelpVolume, "Help4Help"); ac++;
  104. helpDialog = DtCreateHelpDialog (parent, "helpDialog", al, ac);</programlisting>
  105. </listitem></itemizedlist>
  106. </sect3>
  107. </sect2>
  108. <sect2 id="HRDC.H4Hlp.div.9" role="Procedure">
  109. <title id="HRDC.H4Hlp.mkr.4">[ヘルプの使い方] コマンドを指定するには</title>
  110. <orderedlist><listitem><para>[ヘルプ]メニューに<literal>[ヘルプの使い方]</literal>というラベルのボタンを追加します。また、必要な起動コールバックを起動して、<function>HelpRequestCB()</function> 関数を呼び出します。
  111. </para>
  112. </listitem><listitem><para><function>HelpRequestCB()</function> 関数にサポートを追加し、「ヘルプの使い方」を表示します。特に、次のことを実行します。
  113. </para>
  114. <itemizedlist><listitem><para>簡易ヘルプ・ダイアログを作成する。
  115. </para>
  116. </listitem><listitem><para>ダイアログのタイトルを「ヘルプの使い方」に設定する。
  117. </para>
  118. </listitem><listitem><para>「ヘルプの使い方」ボリュームのホーム・トピックを表示する。
  119. </para>
  120. </listitem><listitem><para>簡易ヘルプ・ダイアログを管理する。
  121. </para>
  122. </listitem></itemizedlist>
  123. </listitem></orderedlist>
  124. <sect3 id="HRDC.H4Hlp.div.10">
  125. <title>例</title>
  126. <para>次の行は、<function>HelpRequestCB()</function> 関数を呼び出す <literal>[ヘルプの使い方 &hellip;]</literal> というラベルのメニュー・ボタンを作成します。
  127. </para>
  128. <programlisting>/* <emphasis>Create the "ヘルプの使い方 ..." button.</emphasis> */
  129. labelStr = XmStringCreateLtoR ("使い方 ...",
  130. XmSTRING_DEFAULT_CHARSET);
  131. ac = 0;
  132. XtSetArg (al[ac], XmNlabelString, labelStr); ac++;
  133. button = XmCreatePushButtonGadget (parent, "usingHelpButton", al,
  134. ac);
  135. XtManageChild (button);
  136. XmStringFree (labelStr);
  137. /* <emphasis>Add a callback to the button.</emphasis> */
  138. XtAddCallback (button,XmNactivateCallback,HelpRequestCB,
  139. USING_HELP);</programlisting>
  140. <para><systemitem class="constant">USING_HELP</systemitem> は、ユーザがメニュー・ボタンを選択したときに <function>HelpRequestCB()</function> 関数に渡されるクライアント・データです。アプリケーションの別の場所(たとえば <filename>Help.h</filename> ファイル)で固有の整数として定義します。
  141. integer:</para>
  142. <programlisting>#define USING_HELP 47</programlisting>
  143. <para><function>HelpRequestCB()</function> 関数が <systemitem class="constant">USING_HELP</systemitem> を処理する方法を確認するには、次の「ヘルプの使い方」を表示するには」にある例を参照してください。
  144. </para>
  145. </sect3>
  146. </sect2>
  147. <sect2 id="HRDC.H4Hlp.div.11" role="Procedure">
  148. <title id="HRDC.H4Hlp.mkr.5">「ヘルプの使い方」を表示するには</title>
  149. <orderedlist><listitem><para>簡易ヘルプ・ダイアログを作成します(またはキャッシュから取り出します)。
  150. </para>
  151. </listitem><listitem><para>ダイアログに「ヘルプの使い方」ボリュームのホーム・トピックを表示します。
  152. </para>
  153. </listitem></orderedlist>
  154. <para>「ヘルプの使い方」は、一般ヘルプ・ウィンドウに表示できます。しかし、簡易ヘルプ・ダイアログのユーザ・インタフェースはもっと単純なので簡易ヘルプ・ダイアログを使用するようにしてください。このダイアログは、通常「ヘルプの使い方」を必要とする新しいユーザでも容易に使えるものです。
  155. </para>
  156. <sect3 id="HRDC.H4Hlp.div.12">
  157. <title>例</title>
  158. <para>次のプログラム・セグメントは、<function>HelpRequestCB()</function> 関数の一部です。仮定として、ユーザは、アプリケーションの[ヘルプ]メニューから[ヘルプの使い方]を選択するか、簡易ヘルプ・ダイアログの[ヘルプ]ボタンを選択するため、<systemitem class="constant">USING_HELP</systemitem> 定数は、その関数に渡されます。
  159. </para>
  160. <para>次の例は、アプリケーションが[ヘルプの使い方]ダイアログをひとつしか作成せず、そのウィジェットIDを <symbol role="Variable">onHelpDialog</symbol> と呼ばれる変数に保持するものと仮定しています。</para>
  161. <programlisting>case USING_HELP:
  162. if (onHelpDialog == (Widget)NULL)
  163. {
  164. /* <emphasis>Get a quick help dialog for use as the "help on help" dialog.</emphasis> */
  165. onHelpDialog = FetchHelpDialog (True);
  166. if (onHelpDialog == (Widget)NULL)
  167. /* <emphasis>We didn't get a dialog! Add your error handling code here.</emphasis> */
  168. }
  169. /* <emphasis>Set the proper volume and ID to display the home topic of the help on help volume. Also, set the dialog's title.</emphasis> */
  170. ac = 0; XtSetArg (al[ac], XmNtitle, "Help On Help"); ac++;
  171. XtSetArg (al[ac], XmNhelpType, DT_HELP_TYPE_TOPIC); ac++;
  172. XtSetArg (al[ac], XmNhelpVolume, "Help4Help"); ac++;
  173. XtSetArg (al[ac], XmNlocationId, "_hometopic"); ac++;
  174. XtSetValues (onHelpDialog, al, ac);
  175. /* <emphasis>If the "help on help" dialog is already managed, it might be in another workspace, so unmanage it.</emphasis> */
  176. if (XtIsManaged (onHelpDialog))
  177. XtUnmanageChild (onHelpDialog);
  178. /* <emphasis>Manage the "help on help" dialog.</emphasis> */
  179. XtManageChild (onHelpDialog);
  180. break;
  181. </programlisting>
  182. <para><function>HelpRequestCB()</function> 関数の残りの構成方法を確認するには、 <xref role="SecTitleAndPageNum" linkend="HRDC.HReq.mkr.10"> を参照してください。
  183. </para>
  184. </sect3>
  185. <sect3 id="HRDC.H4Hlp.div.13">
  186. <title>関連項目</title>
  187. <itemizedlist remap="Bullet1">
  188. <listitem><para><xref role="SecTitleAndPageNum" linkend="HRDC.CrDia.mkr.7">
  189. </para>
  190. </listitem><listitem><para><xref role="SecTitleAndPageNum" linkend="HRDC.HReq.mkr.5">
  191. </para>
  192. </listitem></itemizedlist>
  193. </sect3>
  194. </sect2>
  195. </sect1>
  196. <sect1 id="HRDC.H4Hlp.div.14">
  197. <title id="HRDC.H4Hlp.mkr.6">独自の「ヘルプの使い方」ボリュームを記述する
  198. </title>
  199. <para>独自の「ヘルプの使い方」ボリュームを作成する必要がある場合、既存の Help4Help ボリュームで開始し、必要な変更を行ってください。Help4Help ボリュームを記述するのに使用されるソース・ファイルは、すべて <filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリに用意されています。
  200. </para>
  201. <para>インストールの重複を避けるには、「ヘルプの使い方」ボリュームに Help4Help 以外の名前を付けます。ユーザのプロダクトに固有の名前を選ぶようにしてください。たとえば、アプリケーションのヘルプ・ボリュームが Newapp の場合は、「ヘルプの使い方」ボリュームは NetwappH4H という名前にします。
  202. </para>
  203. <sect2 id="HRDC.H4Hlp.div.15">
  204. <title>必須のエントリ・ポイント</title>
  205. <para>ヘルプ・ダイアログのコンテキスト・ヘルプを正しく動作させるには、「ヘルプの使い方」ボリュームに、次のエントリ・ポイント(ID)を作成しなければなりません。(これらは、すでに Help4Help ソース・ファイルにあります。)
  206. </para>
  207. <informaltable>
  208. <tgroup cols="2" colsep="0" rowsep="0">
  209. <colspec align="left" colwidth="158*">
  210. <colspec align="left" colwidth="370*">
  211. <tbody>
  212. <row>
  213. <entry align="center" valign="top"><para>ID</para></entry>
  214. <entry align="center" valign="top"><para>トピック記述</para></entry>
  215. </row>
  216. <row>
  217. <entry align="left" valign="top"><para><command>_hometopic</command></para></entry>
  218. <entry align="left" valign="top"><para>ヘルプ・システムの使い方に関するイントロダクションを表示します。このトピックは、一般ヘルプ・ダイアログの[ヘルプ]メニューから[ヘルプの使い方]を選択したり、簡易ヘルプ・ダイアログ・の[F1]キーを押すと、表示されます。このIDは、PartIntro のために自動的に生成されるので、明示的に指定しないようにしてください。
  219. </para></entry>
  220. </row>
  221. <row>
  222. <entry align="left" valign="top"><para><command>_copyright</command></para></entry>
  223. <entry align="left" valign="top"><para>「ヘルプの使い方」ボリュームに関する商標とバージョン情報を表示します。このトピックは、一般ヘルプ・ダイアログの[ヘルプ]メニューから[バージョン]を選択すると表示されます。このIDは、LegalNotice のために自動的に生成されるので、明示的に指定しないようにしてください。
  224. </para></entry>
  225. </row>
  226. <row>
  227. <entry align="left" valign="top"><para><command>history</command></para></entry>
  228. <entry align="left" valign="top"><para>[ヒストリ]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[ヒストリ]ダイアログの[F1]キーを押すと表示されます。
  229. </para></entry>
  230. </row>
  231. <row>
  232. <entry align="left" valign="top"><para><command>printing</command></para></entry>
  233. <entry align="left" valign="top"><para>[印刷]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[印刷]ダイアログの[F1]キーを押すと表示されます。
  234. </para></entry>
  235. </row>
  236. <row>
  237. <entry align="left" valign="top"><para><command>index-search</command></para></entry>
  238. <entry align="left" valign="top"><para>[索引検索]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[索引検索]ダイアログの[F1]キーを押すと表示されます。
  239. </para></entry>
  240. </row>
  241. <row>
  242. <entry align="left" valign="top"><para><command>volume-select</command></para></entry>
  243. <entry align="left" valign="top"><para>[検索ボリューム選択]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[検索ボリューム選択]ダイアログの[F1]キーを押すと表示されます。
  244. </para></entry>
  245. </row>
  246. </tbody>
  247. </tgroup>
  248. </informaltable>
  249. </sect2>
  250. <sect2 id="HRDC.H4Hlp.div.16" role="Procedure">
  251. <title id="HRDC.H4Hlp.mkr.7">Help4Help ソース・ファイルをコピーするには</title>
  252. <orderedlist><listitem><para>次のようにコマンドを使用して、<filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリ全体を新しい作業ディレクトリ ( <symbol role="Variable">new-dir</symbol>) にコピーします。</para>
  253. <para><command>cp -r /usr/dt/dthelp/help4help/C <symbol role="Variable">new-dir</symbol></command></para>
  254. <para>これは <symbol role="Variable">new-dir</symbol> を作成し、すべてのファイルとディレクトリをその中にコピーします。
  255. </para>
  256. </listitem><listitem><para>ファイル(読み取り専用としてコピーされる)の編集を可能にするには、次のようにコマンドを使用してアクセス権を変更します。
  257. </para>
  258. <programlisting>chmod -R u+w <symbol role="Variable">new-dir</symbol></programlisting>
  259. </listitem></orderedlist>
  260. <para>Help4Help ボリュームは、これらの DocBook ソース・ファイルを使用します。
  261. </para>
  262. <itemizedlist><listitem><para><filename>MetaInfo.sgm</filename></para>
  263. </listitem><listitem><para><filename>Toc.sgm</filename></para>
  264. </listitem><listitem><para><filename>Tasks.sgm</filename></para>
  265. </listitem><listitem><para><filename>Home.sgm</filename></para>
  266. </listitem><listitem><para><filename>Concepts.sgm</filename></para>
  267. </listitem><listitem><para><filename>Ref.sgm</filename></para>
  268. </listitem><listitem><para><filename>Appendix.sgm</filename></para>
  269. </listitem></itemizedlist>
  270. <para>グラフィック・ファイルは、<filename>graphics</filename> サブディレクトリに保存されます。
  271. </para>
  272. <para>DocBook を実行する前に <filename>Help4Help.sgm</filename> ファイルの名前が変更されていることを確認してください。「ヘルプの使い方」ボリュームの名前は、他の「ヘルプの使い方」ボリュームと重複しないように、固有の名前でなければなりません。
  273. </para>
  274. <sect3 id="HRDC.H4Hlp.div.17">
  275. <title>例</title>
  276. <para>次のコマンドは「ヘルプの使い方」ボリュームのコピーを作成し、そのファイルを書き込み可能にします。(<filename>projects</filename> サブディレクトリがすでに存在していると仮定しています。)
  277. </para>
  278. <programlisting>cp -r /usr/dt/dthelp/help4help/C /users/dex/projects/NewHelp4Help
  279. chmod -R u+w /users/dex/projects/NewHelp4Help</programlisting>
  280. <para>実行時のヘルプ・ファイルの新しいバージョンを作成するには、最初にディレクトリ <filename>/usr/dt/bin</filename> が検索パス内にあることを確認します。次に、新規ディレクトリに移動し、<filename>Help4Help.sgm</filename> ファイルの名前を変更し、DocBook を実行します。
  281. </para>
  282. <programlisting>cd /users/dex/projects/NewHelp4Help
  283. mv Help4Help.sgm NewH4H.sgm
  284. dtDocBook NewH4H</programlisting>
  285. <para>DocBook ソフトウェアを実行すると、次のコマンドを使用して新しい「ヘルプの使い方」ボリュームを表示できます。
  286. </para>
  287. <para><command>dthelpview -helpVolume NewH4H</command></para><?Pub Caret>
  288. </sect3>
  289. </sect2>
  290. </sect1>
  291. </chapter>
  292. <!--fickle 1.14 mif-to-docbook 1.7 01/02/96 16:48:20-->