123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- <!-- $XConsortium: ch11.sgm /main/10 1996/09/08 19:40:53 rws $ -->
- <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
- <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
- <!-- (c) Copyright 1995 International Business Machines Corp. -->
- <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
- <!-- (c) Copyright 1995 Novell, Inc. -->
- <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
- <!-- (c) Copyright 1995 Hitachi. -->
- <chapter id="HRDC.H4Hlp.div.1">
- <title id="HRDC.H4Hlp.mkr.1">「ヘルプの使い方」の作成</title>
- <para>この章では、ヘルプ・システムの機能とその使用方法を記述するヘルプ・ボリュームをアプリケーションに組み込む方法について説明します。このヘルプ・ボリュームは、ヘルプ・ダイアログ・ボックスの使い方に関するヘルプを提供します。
- </para>
- <informaltable id="HRDC.H4Hlp.itbl.1" frame="All">
- <tgroup cols="1">
- <colspec colname="1" colwidth="4.0 in">
- <tbody>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'Accessing Help on Help in an Application236'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.2"></para></entry>
- </row>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'To Set the helpOnHelpVolume Resource237'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.3"></para></entry>
- </row>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'To Provide a Using Help Command237'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.4"></para></entry>
- </row>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'To Display Help on Help238'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.5"></para></entry>
- </row>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'Writing Your Own Help on Help Volume239'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.6"></para></entry>
- </row>
- <row rowsep="1">
- <entry><para><!--Original XRef content: 'To Copy the Help4Help Source Files241'--><xref
- role="JumpText" linkend="HRDC.H4Hlp.mkr.7"></para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <sect1 id="HRDC.H4Hlp.div.2">
- <title>「ヘルプの使い方」の作成</title>
- <para>「ヘルプの使い方」はヘルプ・システムの使用方法を通知します。特に、ハイパーリンクの使用、トピックのナビゲート、索引の使用、およびヘルプ・トピックの印刷などの作業について説明します。通常は、「ヘルプの使い方」は Help4Help という名前の個別のヘルプ・ボリュームとして提供されます。
- </para>
- <para>Help4Help ボリュームとそのソース・ファイルは開発者用ツールキットに組み込まれています。デフォルト・ボリュームを「そのまま」使用するか、アプリケーションの設計に合わせてそれを変更することができます。
- </para>
- <sect2 id="HRDC.H4Hlp.div.3">
- <title>アプリケーション・ヘルプの場合</title>
- <para>アプリケーション特定のヘルプを記述する場合、アプリケーションのヘルプ・ダイアログに [ヘルプの使い方] を追加する方法には、次の2種類があります。
- </para>
- <itemizedlist remap="Bullet1"><listitem><para><emphasis>デスクトップ上の「ヘルプの使い方」ボリュームを使用する。</emphasis>
- たとえば、デスクトップを実行しているワークステーションには、標準の Help4Help ボリュームがインストールされます。
- </para>
- </listitem><listitem><para><emphasis>独自の「ヘルプの使い方」ボリュームを作成する。</emphasis>
- Help4Help ボリュームの DocBook ソース・ファイルは、Cロケールの場合、<filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリに作成されます。このディレクトリ内で Help4Help を実行して実行時のヘルプ・ファイルを作成してください。「ヘルプの使い方」ボリュームで使用されているグラフィック・ファイルは、<filename>graphics</filename> サブディレクトリに格納されます。
- </para>
- </listitem></itemizedlist>
- </sect2>
- <sect2 id="HRDC.H4Hlp.div.4">
- <title>スタンドアロン・ヘルプの場合</title>
- <para>スタンドアロン・ヘルプを記述する場合、すでにインストールされ使用準備ができているヘルプビュー・プログラムを使用します。この場合、ヘルプビューは、デフォルトとして標準の Help4Help ボリュームにアクセスするので、「ヘルプの使い方」について心配する必要はありません。
- </para>
- </sect2>
- <sect2 id="HRDC.H4Hlp.div.5">
- <title>「ヘルプの使い方」の検索方法</title>
- <para>ヘルプ・システム(ヘルプビューを含む)を使用する各アプリケーションは、「ヘルプの使い方」トピックのためにアクセスされるヘルプ・ボリュームを識別する <systemitem class="resource">helpOnHelpVolume</systemitem> リソースをもっています。ヘルプビューの場合、このリソースは次のように設定されます。
- </para>
- <programlisting>DtHelpview*helpOnHelpVolume: Help4Help</programlisting>
- <para>独自の「ヘルプの使い方」ボリュームを作成する場合、システムにインストールされる可能性のある別の「ヘルプの使い方」ボリュームと競合しないように固有の名前を付けるようにしてください。
- </para>
- </sect2>
- </sect1>
- <sect1 id="HRDC.H4Hlp.div.6">
- <title id="HRDC.H4Hlp.mkr.2">アプリケーションの「ヘルプの使い方」へのアクセス</title>
- <para>アプリケーションは「ヘルプの使い方」をサポートするために次のことを行います。
- </para>
- <itemizedlist remap="Bullet1"><listitem><para><systemitem class="resource">helpOnHelpVolume</systemitem> リソースを設定し、アクセスしたいヘルプ・ボリュームを識別します。</para>
- </listitem><listitem><para><command>Using Help</command> コマンドを、アプリケーションの[ヘルプ]メニューに追加します。
- </para>
- </listitem></itemizedlist>
- <sect2 id="HRDC.H4Hlp.div.7" role="Procedure">
- <title id="HRDC.H4Hlp.mkr.3">helpOnHelpVolume リソースを設定するには</title>
- <orderedlist><listitem><para>次のように、アプリケーションのデフォルトのリソース・ファイルに1行追加します。
- </para>
- <para><symbol role="Variable">App-class</symbol>* <systemitem class="resource">helpOnHelpVolume</systemitem>: <symbol role="Variable">volume</symbol></para>
- <para><symbol role="Variable">App-class</symbol> はアプリケーションのクラス名で、<symbol role="Variable">volume</symbol> はアクセスしたい「ヘルプの使い方」ボリュームの名前です。
- </para>
- <para><emphasis>または</emphasis>アプリケーション内で、作成した各ヘルプ・ダイアログ <systemitem class="resource">helpOnHelpVolume</systemitem> リソースを設定します。
- </para>
- </listitem></orderedlist>
- <sect3 id="HRDC.H4Hlp.div.8">
- <title>例</title>
- <itemizedlist remap="Bullet1"><listitem><para><filename>dthelpview</filename> のデフォルトのリソース・ファイル (<command>DtHelpview</command>) にある次の行は、「ヘルプの使い方」ボリュームを指定します。
- </para>
- <programlisting>DtHelpview*helpOnHelpVolume: Help4Help</programlisting>
- </listitem><listitem><para>ヘルプ・ダイアログの作成中に「ヘルプの使い方」ボリュームを作成するには、次のように作成関数に渡された引き数のリストに追加します。
- </para>
- <programlisting>ac = 0;
- XtSetArg (al[ac], XmNtitle, "My Application - Help"); ac++;
- XtSetArg (al[ac], DtNhelpOnHelpVolume, "Help4Help"); ac++;
- helpDialog = DtCreateHelpDialog (parent, "helpDialog", al, ac);</programlisting>
- </listitem></itemizedlist>
- </sect3>
- </sect2>
- <sect2 id="HRDC.H4Hlp.div.9" role="Procedure">
- <title id="HRDC.H4Hlp.mkr.4">[ヘルプの使い方] コマンドを指定するには</title>
- <orderedlist><listitem><para>[ヘルプ]メニューに<literal>[ヘルプの使い方]</literal>というラベルのボタンを追加します。また、必要な起動コールバックを起動して、<function>HelpRequestCB()</function> 関数を呼び出します。
- </para>
- </listitem><listitem><para><function>HelpRequestCB()</function> 関数にサポートを追加し、「ヘルプの使い方」を表示します。特に、次のことを実行します。
- </para>
- <itemizedlist><listitem><para>簡易ヘルプ・ダイアログを作成する。
- </para>
- </listitem><listitem><para>ダイアログのタイトルを「ヘルプの使い方」に設定する。
- </para>
- </listitem><listitem><para>「ヘルプの使い方」ボリュームのホーム・トピックを表示する。
- </para>
- </listitem><listitem><para>簡易ヘルプ・ダイアログを管理する。
- </para>
- </listitem></itemizedlist>
- </listitem></orderedlist>
- <sect3 id="HRDC.H4Hlp.div.10">
- <title>例</title>
- <para>次の行は、<function>HelpRequestCB()</function> 関数を呼び出す <literal>[ヘルプの使い方 …]</literal> というラベルのメニュー・ボタンを作成します。
- </para>
- <programlisting>/* <emphasis>Create the "ヘルプの使い方 ..." button.</emphasis> */
- labelStr = XmStringCreateLtoR ("使い方 ...",
- XmSTRING_DEFAULT_CHARSET);
- ac = 0;
- XtSetArg (al[ac], XmNlabelString, labelStr); ac++;
- button = XmCreatePushButtonGadget (parent, "usingHelpButton", al,
- ac);
- XtManageChild (button);
- XmStringFree (labelStr);
- /* <emphasis>Add a callback to the button.</emphasis> */
- XtAddCallback (button,XmNactivateCallback,HelpRequestCB,
- USING_HELP);</programlisting>
- <para><systemitem class="constant">USING_HELP</systemitem> は、ユーザがメニュー・ボタンを選択したときに <function>HelpRequestCB()</function> 関数に渡されるクライアント・データです。アプリケーションの別の場所(たとえば <filename>Help.h</filename> ファイル)で固有の整数として定義します。
- integer:</para>
- <programlisting>#define USING_HELP 47</programlisting>
- <para><function>HelpRequestCB()</function> 関数が <systemitem class="constant">USING_HELP</systemitem> を処理する方法を確認するには、次の「ヘルプの使い方」を表示するには」にある例を参照してください。
- </para>
- </sect3>
- </sect2>
- <sect2 id="HRDC.H4Hlp.div.11" role="Procedure">
- <title id="HRDC.H4Hlp.mkr.5">「ヘルプの使い方」を表示するには</title>
- <orderedlist><listitem><para>簡易ヘルプ・ダイアログを作成します(またはキャッシュから取り出します)。
- </para>
- </listitem><listitem><para>ダイアログに「ヘルプの使い方」ボリュームのホーム・トピックを表示します。
- </para>
- </listitem></orderedlist>
- <para>「ヘルプの使い方」は、一般ヘルプ・ウィンドウに表示できます。しかし、簡易ヘルプ・ダイアログのユーザ・インタフェースはもっと単純なので簡易ヘルプ・ダイアログを使用するようにしてください。このダイアログは、通常「ヘルプの使い方」を必要とする新しいユーザでも容易に使えるものです。
- </para>
- <sect3 id="HRDC.H4Hlp.div.12">
- <title>例</title>
- <para>次のプログラム・セグメントは、<function>HelpRequestCB()</function> 関数の一部です。仮定として、ユーザは、アプリケーションの[ヘルプ]メニューから[ヘルプの使い方]を選択するか、簡易ヘルプ・ダイアログの[ヘルプ]ボタンを選択するため、<systemitem class="constant">USING_HELP</systemitem> 定数は、その関数に渡されます。
- </para>
- <para>次の例は、アプリケーションが[ヘルプの使い方]ダイアログをひとつしか作成せず、そのウィジェットIDを <symbol role="Variable">onHelpDialog</symbol> と呼ばれる変数に保持するものと仮定しています。</para>
- <programlisting>case USING_HELP:
- if (onHelpDialog == (Widget)NULL)
- {
- /* <emphasis>Get a quick help dialog for use as the "help on help" dialog.</emphasis> */
- onHelpDialog = FetchHelpDialog (True);
- if (onHelpDialog == (Widget)NULL)
- /* <emphasis>We didn't get a dialog! Add your error handling code here.</emphasis> */
- }
- /* <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> */
- ac = 0; XtSetArg (al[ac], XmNtitle, "Help On Help"); ac++;
- XtSetArg (al[ac], XmNhelpType, DT_HELP_TYPE_TOPIC); ac++;
- XtSetArg (al[ac], XmNhelpVolume, "Help4Help"); ac++;
- XtSetArg (al[ac], XmNlocationId, "_hometopic"); ac++;
- XtSetValues (onHelpDialog, al, ac);
- /* <emphasis>If the "help on help" dialog is already managed, it might be in another workspace, so unmanage it.</emphasis> */
- if (XtIsManaged (onHelpDialog))
- XtUnmanageChild (onHelpDialog);
- /* <emphasis>Manage the "help on help" dialog.</emphasis> */
- XtManageChild (onHelpDialog);
- break;
- </programlisting>
- <para><function>HelpRequestCB()</function> 関数の残りの構成方法を確認するには、 <xref role="SecTitleAndPageNum" linkend="HRDC.HReq.mkr.10"> を参照してください。
- </para>
- </sect3>
- <sect3 id="HRDC.H4Hlp.div.13">
- <title>関連項目</title>
- <itemizedlist remap="Bullet1">
- <listitem><para><xref role="SecTitleAndPageNum" linkend="HRDC.CrDia.mkr.7">
- </para>
- </listitem><listitem><para><xref role="SecTitleAndPageNum" linkend="HRDC.HReq.mkr.5">
- </para>
- </listitem></itemizedlist>
- </sect3>
- </sect2>
- </sect1>
- <sect1 id="HRDC.H4Hlp.div.14">
- <title id="HRDC.H4Hlp.mkr.6">独自の「ヘルプの使い方」ボリュームを記述する
- </title>
- <para>独自の「ヘルプの使い方」ボリュームを作成する必要がある場合、既存の Help4Help ボリュームで開始し、必要な変更を行ってください。Help4Help ボリュームを記述するのに使用されるソース・ファイルは、すべて <filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリに用意されています。
- </para>
- <para>インストールの重複を避けるには、「ヘルプの使い方」ボリュームに Help4Help 以外の名前を付けます。ユーザのプロダクトに固有の名前を選ぶようにしてください。たとえば、アプリケーションのヘルプ・ボリュームが Newapp の場合は、「ヘルプの使い方」ボリュームは NetwappH4H という名前にします。
- </para>
- <sect2 id="HRDC.H4Hlp.div.15">
- <title>必須のエントリ・ポイント</title>
- <para>ヘルプ・ダイアログのコンテキスト・ヘルプを正しく動作させるには、「ヘルプの使い方」ボリュームに、次のエントリ・ポイント(ID)を作成しなければなりません。(これらは、すでに Help4Help ソース・ファイルにあります。)
- </para>
- <informaltable>
- <tgroup cols="2" colsep="0" rowsep="0">
- <colspec align="left" colwidth="158*">
- <colspec align="left" colwidth="370*">
- <tbody>
- <row>
- <entry align="center" valign="top"><para>ID</para></entry>
- <entry align="center" valign="top"><para>トピック記述</para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>_hometopic</command></para></entry>
- <entry align="left" valign="top"><para>ヘルプ・システムの使い方に関するイントロダクションを表示します。このトピックは、一般ヘルプ・ダイアログの[ヘルプ]メニューから[ヘルプの使い方]を選択したり、簡易ヘルプ・ダイアログ・の[F1]キーを押すと、表示されます。このIDは、PartIntro のために自動的に生成されるので、明示的に指定しないようにしてください。
- </para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>_copyright</command></para></entry>
- <entry align="left" valign="top"><para>「ヘルプの使い方」ボリュームに関する商標とバージョン情報を表示します。このトピックは、一般ヘルプ・ダイアログの[ヘルプ]メニューから[バージョン]を選択すると表示されます。このIDは、LegalNotice のために自動的に生成されるので、明示的に指定しないようにしてください。
- </para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>history</command></para></entry>
- <entry align="left" valign="top"><para>[ヒストリ]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[ヒストリ]ダイアログの[F1]キーを押すと表示されます。
- </para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>printing</command></para></entry>
- <entry align="left" valign="top"><para>[印刷]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[印刷]ダイアログの[F1]キーを押すと表示されます。
- </para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>index-search</command></para></entry>
- <entry align="left" valign="top"><para>[索引検索]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[索引検索]ダイアログの[F1]キーを押すと表示されます。
- </para></entry>
- </row>
- <row>
- <entry align="left" valign="top"><para><command>volume-select</command></para></entry>
- <entry align="left" valign="top"><para>[検索ボリューム選択]ダイアログの使用方法を記述しているトピックを表示します。このトピックは、[ヘルプ]を選択するか、[検索ボリューム選択]ダイアログの[F1]キーを押すと表示されます。
- </para></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="HRDC.H4Hlp.div.16" role="Procedure">
- <title id="HRDC.H4Hlp.mkr.7">Help4Help ソース・ファイルをコピーするには</title>
- <orderedlist><listitem><para>次のようにコマンドを使用して、<filename>/usr/dt/dthelp/help4help/C</filename> ディレクトリ全体を新しい作業ディレクトリ ( <symbol role="Variable">new-dir</symbol>) にコピーします。</para>
- <para><command>cp -r /usr/dt/dthelp/help4help/C <symbol role="Variable">new-dir</symbol></command></para>
- <para>これは <symbol role="Variable">new-dir</symbol> を作成し、すべてのファイルとディレクトリをその中にコピーします。
- </para>
- </listitem><listitem><para>ファイル(読み取り専用としてコピーされる)の編集を可能にするには、次のようにコマンドを使用してアクセス権を変更します。
- </para>
- <programlisting>chmod -R u+w <symbol role="Variable">new-dir</symbol></programlisting>
- </listitem></orderedlist>
- <para>Help4Help ボリュームは、これらの DocBook ソース・ファイルを使用します。
- </para>
- <itemizedlist><listitem><para><filename>MetaInfo.sgm</filename></para>
- </listitem><listitem><para><filename>Toc.sgm</filename></para>
- </listitem><listitem><para><filename>Tasks.sgm</filename></para>
- </listitem><listitem><para><filename>Home.sgm</filename></para>
- </listitem><listitem><para><filename>Concepts.sgm</filename></para>
- </listitem><listitem><para><filename>Ref.sgm</filename></para>
- </listitem><listitem><para><filename>Appendix.sgm</filename></para>
- </listitem></itemizedlist>
- <para>グラフィック・ファイルは、<filename>graphics</filename> サブディレクトリに保存されます。
- </para>
- <para>DocBook を実行する前に <filename>Help4Help.sgm</filename> ファイルの名前が変更されていることを確認してください。「ヘルプの使い方」ボリュームの名前は、他の「ヘルプの使い方」ボリュームと重複しないように、固有の名前でなければなりません。
- </para>
- <sect3 id="HRDC.H4Hlp.div.17">
- <title>例</title>
- <para>次のコマンドは「ヘルプの使い方」ボリュームのコピーを作成し、そのファイルを書き込み可能にします。(<filename>projects</filename> サブディレクトリがすでに存在していると仮定しています。)
- </para>
- <programlisting>cp -r /usr/dt/dthelp/help4help/C /users/dex/projects/NewHelp4Help
- chmod -R u+w /users/dex/projects/NewHelp4Help</programlisting>
- <para>実行時のヘルプ・ファイルの新しいバージョンを作成するには、最初にディレクトリ <filename>/usr/dt/bin</filename> が検索パス内にあることを確認します。次に、新規ディレクトリに移動し、<filename>Help4Help.sgm</filename> ファイルの名前を変更し、DocBook を実行します。
- </para>
- <programlisting>cd /users/dex/projects/NewHelp4Help
- mv Help4Help.sgm NewH4H.sgm
- dtDocBook NewH4H</programlisting>
- <para>DocBook ソフトウェアを実行すると、次のコマンドを使用して新しい「ヘルプの使い方」ボリュームを表示できます。
- </para>
- <para><command>dthelpview -helpVolume NewH4H</command></para><?Pub Caret>
- </sect3>
- </sect2>
- </sect1>
- </chapter>
- <!--fickle 1.14 mif-to-docbook 1.7 01/02/96 16:48:20-->
|