Files
cdesktop/cde/doc/ja_JP.dt-eucJP/guides/helpGuide/ch11.sgm

296 lines
18 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- $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>[ヘルプの使い方 &hellip;]</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-->