前へ 次へ 目次 文書セット ホーム


第 21 章

 

ハイパーテキスト・ヘルプ


はじめに

Sun WorkShop Visual には、アプリケーションのさまざまな場所から呼び出すことができる、広範囲に渡るオンラインヘルプが用意されています。本章では、アプリケーションのヘルプ構築のために Sun WorkShop Visual が提供するサポートについて説明します。

ヘルプモデル

アプリケーションでのヘルプをサポートするために使用されているモデルは、非常 に単純です。すべての Motif ウィジェットで使用できるヘルプコールバック、またはヘルプボタン上の活性化コールバックを使用するこ とができます。したがって、文脈依存ヘルプを提供するために必要なものは、コールバックが呼び出された 場合に表示されるヘルプ (あるいはヘルプへのパス) をクライアントデータとして使用する、汎用のコールバックです。Sun WorkShop Visual では、このヘルプ指定はドキュメントのパスおよびそのドキュメント内の参照個所を示すマーカーとして定 義されます。Sun WorkShop Visual には、Sun WorkShop Visual のヘルプシステムのインタフェースで使用可能なコールバックが、1 つ用意されています。ヘルプシステムの詳細は、「ヘルプビューア」を参照してください。

また、アプリケーションで使用するコールバックを再実装して、選択したヘルプシ ステムとインタフェースさせることについての制約などは一切ありません。さらに、通常のコールバックメ カニズムを使用して同じ効果を実現することも、あるいはオンラインヘルプをまったく提供しないようにす ることも自由に行うことができます。

Sun WorkShop Visual は、ヘルプを表示するために次の 2 つのシステムを使用しています。

Sun WorkShop Visual でヘルプを参照するには、上記のいずれかを使用する必要があります。

Motif のヘルプコールバック

Motif のデフォルトでは、各ウィジェットに対して指定されているヘルプのアクションによってコールバックが呼 び出されます。このアクションは、すべての Motif クラスのデフォルトのトランスレーションで <osfHelp> キーに割り当てられます。

ヘルプビューア

Sun WorkShop Visual では、以下のビューアを使用することができます。

これらのビューアを使用して、アプリケーションのヘルプを表示することができま す。詳細は、以降の節で説明します。

アプリケーションには、どのビューアを使用する場合でも同じようにヘルプを設定 することができます。次に、そのアプリケーションを該当する供給ライブラリとリンクします。詳細は、「ヘルプの実装」を参照してください。

Sun WorkShop Visual ヘルプ

図 21-1 は、Sun WorkShop Visual が使用するヘルプビューアです。

 

    図 21-1 Sun WorkShop Visual ヘルプのヘルプビューア

Sun WorkShop Visual ヘルプのヘルプビューアには、「ファイル」、「編集」、「操作」、「ヘルプ」メニューを持つメニューバ ーがあり、それぞれファイル、編集およびヘルプ項目間を行き来するためのコマンドがあります。「ヘルプ 」メニューでは、バージョン情報と Sun WorkShop Visual の使用方法に関するヘルプ情報を見ることができます。また、ツールバー上のボタンをクリックすると、大 部分のメニュー項目に簡単にアクセスすることができます。ツールバーのボタン上でマウスのポインタを動 かすと、ビューアウィンドウの最下部にあるステータス行に、該当するボタンの機能の説明が表示されます 。

ヘルプビューアには、テキスト領域が 2 つあります。最上部にあるテキスト領域には、現在選択している項目についてのヘルプが表示されます。最 下部にある領域には、関連項目へのリンクがあります。リンクの 1 つをダブルクリックすると、その項目のヘルプが表示されます。

Sun WorkShop Visual ヘルプが使用するファイルは、ハイパーテキストマークアップ言語 (HTML) 形式です。これはプリント可能文字のみを使用するパブリックドメイン形式なので、任意のテキストエディ タで作成することができます。また、多くのアプリケーションが使用する標準でもあります。

Sun WorkShop Visual ヘルプは完全な HTML インタプリタではないため、HTML のサブセットを認識し、それらを単純な方法で解釈します。Sun WorkShop Visual ヘルプが認識する HTML キーワードとその解釈の方法については、「HTML タグ」で説明します。

HTML の参考文献については、付録 E「参考資料」を参照してください。

Netscape

Netscape とは HTML ファイルを受け取って、それらのファイルに指定されたハイパーテキストリンクや特別な形式を含めて表示 するブラウザです。

また、Netscape にはファイル編集および操作コマンドも用意されているため、ユーザーは、自分が作成したヘルプファイル もブラウズすることができます。

FrameMaker

FrameMaker は、独自の内部形式を使用するデスクトップパブリッシング用のパッケージです。また、FrameMaker では、読み取り専用ドキュメントを表示およびブラウズすることもできます。FrameMaker をヘルプビューアとして使用する方法についての詳細は、「FrameMaker の使用」を参照してください。

ヘルプドキュメントでの HTML の使い方

Sun WorkShop Visual ヘルプと Netscape は、ともに HTML ファイルを読み取ります。リンクのソースおよび宛先となる位置に HTML アンカーを指定するように、ファイルを作成する必要があります。これらのアンカーの名前は、個々のウィ ジェットに対してヘルプアクションを指定する際に使用するので、覚えておくと便利です。

これらのアンカー位置は Sun WorkShop Visual では「マーカー」と言い、ヘルプコールバックで指定します。ヘルプコールバックのマーカーを設定する方 法については、「Sun WorkShop Visual でのヘルプの設定」で説明します。

Sun WorkShop Visual ヘルプまたは Netscape のいずれかをアプリケーションのヘルプシステムとして使用するには、以下の作業を行う必要があります。

    1. HTML 形式でヘルプファイルを作成します。

    HTML では同じドキュメント内にリンクを持たせることができるので、項目ごとに個別のファイルを作成する必要 はありません。ただし、ヘルプテキストを管理するには、個別のファイルにしておくことをお勧めします。 Sun WorkShop Visual ヘルプは HTML のサブセットを使用します。Sun WorkShop Visual ヘルプが認識する HTML キーワードについては、「HTML タグ」を参照してください。

    2. 各ウィジェットまたはモジュール全体に対してヘルプコールバックを指定します。

    デザイン内のウィジェットにヘルプコールバックを追加する方法については、「Sun WorkShop Visual でのヘルプの設定」を参照してください。ヘルプコールバックをアプリケーション内に定義するには、 「アプリケーションへのリンク」の指示に従う必要があります。

    3. 生成されたコードを Sun WorkShop Visual ヘルプか Netscape で提供されているライブラリにリンクします。

    「ヘルプの実装」を参照してください。

HTML タグ

本節では、タグとして知られているおもな HTML キーワードについて簡単に説明します。ここに記載されるタグは、すべて Sun WorkShop Visual ヘルプシステムによって解釈されます。ここでは、大部分の完全な HTML インタプリタ (Netscape など) によるタグの解釈方法を示し、Sun WorkShop Visual ヘルプによるタグの解釈方法と異なる場合は、その解釈方法も示します。

HTML では、タグは山括弧 (< と >) で囲みます。テキストファイルでは、これらの括弧を使用する必要があります。ドキュメント内での HTML タグの使い方については、「HTML ドキュメントの例」を参照してください。

タグはその使用法に応じて分類されています。ここでは、タグは大文字で記載され ていることに注意してください。ただし、HTML は大文字小文字を区別する言語ではないので、大文字も小文字も使用できます。

開始と終了

<HTML>
すべての HTML ドキュメントは、このタグで開始します。

</HTML>
HTML ドキュメントは、このタグで終了します。

アンカーとリンク

<A NAME="アンカー名">テキスト</A>
これは、リンクの宛先として使用されるアンカーです。「アンカー名」は、内部で使用するアンカーの名前 です。「テキスト」には、ユーザーにクリックさせたいテキストを指定します。このテキストをクリックす ると、リンク先へ移動することができます。

<A NAME="#アンカー名">テキスト</A>
これは、同じドキュメントの別の場所へのリンクのソースです。「アンカー名」は、アンカーに対して内部 で付けられた名前です。

相対パス名か絶対パス名を使用して、別ファイルにリンクさせることができます。 外部ファイルは別サーバーに常駐させることもできます。外部リンクの場合は、「アンカー名」がファイル 名となり、先頭にある '#' 記号を省略します。「テキスト」は、ユーザーにクリックさせたいテキストです。

パラグラフ

<P>
このタグは、パラグラフの始まりを示すために使われます。パラグラフは、空の行で区切られます。

</P>
このタグは、パラグラフの終りを示すために使われます

ブレーク

<BR>
このタグは、改行を示します。改行がなければ、テキストはブラウザウィンドウの幅に合わせて流し込まれ ます。

リスト
Sun WorkShop Visual ヘルプは、大部分の HTML インタプリタが行うようには、さまざまなリストを処理することができません。リストは互換用に解釈され るので、既存の HTML ドキュメントを使用することができます。

<OL>
以降の行が番号付きリストであることを示します。大部分の HTML 実装では、リスト項目の前に番号が付きますが、Sun WorkShop Visual ヘルプでは '-' (ダッシュ) だけが出力されます。

</OL>
番号付きリストの終了を示します。

<UL>
以降の行が番号なしのリストであることを示します。大部分の HTML 実装では、リスト項目の前に ドットマークが付きますが、Sun WorkShop Visual ヘルプでは '-'
(ダッシュ) だけが出力されます。

</UL>
番号なしリストの終了を示します。

<DL>
以降の行が定義リストであることを示します。大部分の HTML 実装では、用語集のように「用語」と「定義」があると見なしますが、Sun WorkShop Visual ヘルプでは、リストの各項目の前に '-' (ダッシュ) だけが出力されます。

</DL>
定義リストの終了を示します。

<LI>
リスト項目を示します。行の先頭に '-' (ダッシュ) が出力されます。

<DT>
定義リストの「用語」を示します。Sun WorkShop Visual ヘルプでは、これらの用語を通常のリスト項目と見なします。

<DD>
定義リストの「定義」を示します。Sun WorkShop Visual ヘルプでは、これらの定義を '-' (ダッシュ) の付かないインデントされたリスト項目と見なします。

文字形式

<EM>
以降のテキストを強調表示するように指定します。HTML インタプリタには、イタリックを使用するものも、ボールドを使用するものもあります。Sun WorkShop Visual ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。

</EM>
テキストの強調表示を終了します。

<B>
以降のテキストをボールドで出力するよう指定します。Sun WorkShop Visual ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。

</B>
テキストのボールドでの出力を終了します。

<I>
以降のテキストをイタリックで出力するよう指定します。Sun WorkShop Visual ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。

</I>
テキストのイタリックでの出力を終了します。

見出し

HTML は、見出しを「H1」から「H6」までの範囲で定義します。この見出しの範囲は、大部分の HTML インタプリタに従って、大きいボールドの見出しで始まり、徐々にサイズと太さが小さくなっていきます。 Sun WorkShop Visual ヘルプでは、見出しの前に空白行を 2 行出力するだけです。以下に示す見出しタグは、見出しテキストの開始と終了を示します。

<H1>最初のレベルの見出し</H1>

<H2>2 番目のレベルの見出し</H2>

<H3>3 番目のレベルの見出し</H3>

<H4>4 番目のレベルの見出し</H4>

<H5>5 番目のレベルの見出し</H5>

<H6>6 番目のレベルの見出し</H6>

事前に形式設定されたテキスト

<PRE>
大部分の HTML インタプリタは、余白、タブまたは復帰行を無視して、HTML ドキュメントのテキストを形式設定します。事前に形式設定されたタグにより、インタプリタはクーリエな どのモノスペースフォントを使用して、テキストをユーザーが入力したとおりに出力します。Sun WorkShop Visual ヘルプは、出力関数がスペースを削除しないようにするだけです。

</PRE>
事前に形式設定したテキストの終了です。

HTML ドキュメントの例

Sun WorkShop Visual ヘルプ用に HTML で記述したヘルプドキュメントの例を以下に示します。

<html>
<head>
Sun WorkShop Visual について
</head>
<h1>Sun WorkShop Visual について 
</h1>
<p>このプログラムは Sun WorkShop Visual 
です。Motif グラフィカル・ユーザー・インタフェース開発の支援ツールです。
<p>
Sun WorkShop Visual 
を初めてご使用になる方は、下のリストの「起動する」をダブルクリックしてください。
<p>
ヘルプ項目の一覧は、「ヘルプ項目の索引」を選択しても表示されます。
 
関連項目:
<ul>
  <li><a href="get_started.html">起動する</a><br>
  <li><a href="dialogs.html">リソースパネルおよびその他の Sun WorkShop Visual ダイアログ 
</a><br>
  <li><a href="widget_list.html">ウィジェット</a><br>
  <li><a href="code_gen.html">コード生成</a><br>
  <li><a href="index.html">ヘルプ項目の索引</a><br>
</ul>
</html>

このファイルは、図 21-1 の Sun WorkShop Visual ヘルプに表示されています。

FrameMaker の使用

FrameMaker を使用してヘルプシステムを構築する場合は、FrameMaker ハイパーテキストシステムの動作についての知識が必要です。 詳細は、FrameMaker のマニュアルを参照してください。以下に、概要を説明します。

FrameMaker を使用すると、テキスト内の場所をソースマーカー、あるいは宛て先マーカーとしてマークすることができ ます。宛て先マーカーは、ジャンプして移動できるヘルプドキュメント内の場所を指します。ソースマーカ ーとは、ユーザーが選択してアクション (通常は宛て先マーカーへのジャンプ移動) を起こすことができるヘルプドキュメントまたはアプリケーション内の場所を指します。ヘルプドキュメン ト中のソースマーカーには、ユーザーにクリック可能であることを知らせるための視覚的な目印が必要です 。斜体や下線付けなどの文字形式を指定して、ソースリンクを示すことが最も効果的です。

ドキュメント内の特殊文字形式が設定されている場所をユーザーがクリックすると 、FrameMaker はその領域のソースマーカーを調べます。ソースマーカーが見つかった場合には、グラフィック領域全体ま たはテキストの部分を強調表示して、マーカーで指定されているアクションを実行します。

これらの特殊マーカーは、「スペシャル」メニューの「マーカー」コマンドを使用 して、FrameMaker のドキュメントに挿入することができます。

    1. 「マーカータイプ」リストから「Hypertext」を選択します。

    2. 宛て先マーカーを指定する場合には、マーカーテキストフィールドに次のように入力します。

    newlink <タグ名>
    

    3. ソースマーカーを指定する場合には、次のように入力します。

    gotolink <タグ名>
    

    注 - 現在のドキュメントにおけるタグは <タグ名>、別のドキュメントにおけるタグは <ドキュメント名>:<タグ名> として指定します。

    4. Hypertext マーカーは、ロックされているドキュメントに限って有効です。ドキュメントのロックをオンあるいはオフ にするためには、以下のように入力します。

    <escape> <F> <l> <k> 

    5. ロックされたドキュメントを終了するには、次のように入力します。

    <escape> <f> <c>
    

このコマンドにより、ドキュメントをロックした状態で保存することができるよう になります。

Sun WorkShop Visual でのヘルプの設定

タグという用語は、ドキュメントとマーカーの組み合せを意味します。ヘルプタグ は、コアリソースパネルの「コード生成」ページで指定されます。指定できるヘルプタグには、任意の Motif ウィジェットに対して指定できるヘルプ・コールバックと、プッシュボタンおよびカスケードボタンウィジ ェットに対してのみ指定できる活性化コールバックの 2 種類があります 。

タグを指定するためには、ドキュメントの名前とマーカーの名前を入力し、「適用 」を押します。この時点で、活性化コールバックに対するボタンをクリック、 あるいはヘルプコールバックに対する <F1> を押してコールバックを呼び出して、ドキュメントをダイナミックディスプレイに表示することができます 。

コアリソースパネルにおいてタグ情報を指定する場合、Sun WorkShop Visual は自動的にコールバック関数 XDhelp_link() をそのウィジェットの適切なコールバックリストに追加します。ウィジェットに対するコールバックダイア ログで、コールバックを指定する必要はありません。

継承されるドキュメント

ヘルプファイルの名前を再入力せずに、マーカーのみを入力して、ヘルプ情報の一 部を指定することができます。 ヘルプコールバックのドキュメント名を指定せずにマーカーを指定する場合には、Sun WorkShop Visual は最も近い親ウィジェットのヘルプコールバックドキュメントを使用します。ウィジェットの祖先がヘルプ コールバックドキュメントを持っていない場合は、次の「モジュールのデフォルト」で説明するように、「 ヘルプのデフォルト」ダイアログで指定されているデフォルトのドキュメントが使用されます。

活性化コールバックの場合は、明示的に設定されているドキュメントがないと、ヘ ルプコールバックのドキュメントが使用されます。このドキュメントを設定していない場合には、前述した ように、同じヘルプドキュメントの継承が行われます。

モジュールのデフォルト

モジュールごとに指定されるヘルプのデフォルトは数多く存在します。これらのデ フォルトを指定するためには、モジュールメニューをプルダウンして「ヘルプのデフォルト」を選択します 。図 21-2 に結果のダイアログを示します。

 

    図 21-2 「ヘルプのデフォルト」ダイアログ

「ヘルプのデフォルト」ダイアログを使用すると、Sun WorkShop Visual のヘルプシステムの構築および完成したアプリケーションの両方に使用するデフォルトを指定することがで きます。

ヘルプドキュメントとマーカーの検索

コアリソースパネルの「コード生成」ページにある「活性化コールバック (activate)」および「ヘルプ・コールバック」ボタンを使用して、現在デザインが参照しているすべてのド キュメントおよびマーカーを示すダイアログを表示することができます。

 

    図 21-3 「ヘルプ用ドキュメントとマーカー」ダイアログ

    • 追加
      適切なフィールドに名前を入力して「追加」を押すと、ドキュメントあるいはマーカーを追加することがで きます。
    • 削除
      リストから名前を選択して「削除」を押すと、ドキュメントまたはマーカーを削除することができます。デ ザインにおいてウィジェットが参照しているドキュメントやマーカーは、削除することができません。
    • 検索
      このボタンは、ファイルシステム内でのファイルの検索を行うための「ファイル選択」ダイアログをポップ アップします。このダイアログは「ヘルプのデフォルト」ダイアログの「デフォルトパス」または「デフォ ルトのドキュメント」ボタンを選択しても表示することができます。
    • 試行
      このボタンは、Sun WorkShop Visual に選択されたヘルプビューアへの接続を試行させ、指定されたドキュメント中の指定されたマーカーを表示 します。「ヘルプのデフォルト」ダイアログで、使用したいビューアを選択してください。詳細は「モジュールのデフォルト」 を参照してください。
    • 固有のウィンドウを持つ
      各ドキュメントには、それに関連付けられている「固有のウィンドウを持つ」オプションがあります。この オプションは、システムがこのドキュメントを独自のウィンドウ内に表示し、他のドキュメントとウィンド ウを共有しないように強制します。このトグルを使用すると、選択されたドキュメントに対してのオプショ ンの状態を指定することができます。
    • <Open>
      ドキュメントの最初のページを開かせる、特殊なデフォルトマーカーです。
    • <Widget name>
      ドキュメント内でジャンプ移動するためのマーカーとしてウィジェット名を使用する特殊なデフォルトマーカーです。

アプリケーションへのリンク

Sun WorkShop Visual のデフォルトのヘルプコールバック関数を使用するには、Sun WorkShop Visual のインストールディレクトリ中の次に示すオブジェクトファイルをリンクする必要があります。 $VISUROOT は、Sun WorkShop Visual のインストールディレクトリです。

ディレクトリは各ヘルプビューアにつき 1 つずつで、合計 3 つあります。Sun WorkShop Visual のヘルプおよび FrameMaker に関しては、さらに別のファイルへのリンクを行う必要があります。

Sun WorkShop Visual ヘルプ

Sun WorkShop Visual ヘルプを使用するには、ファイル helplink.o を自分のアプリケーションにリンクする必要があります。このオブジェクトのソースファイルである helplink.c は、次の場所にあります。

$VISUROOT/src/libhelplink/helplink

また、 helplink.o を構築する Makefile と、Sun WorkShop Visual ヘルプでのリンクについての情報が含まれている README という名前のファイルもあります。

これ以外に、次の場所にあるライブラリをリンクする必要があります。

$VISUROOT/src/help/client

このディレクトリには、ライブラリを構築する Makefile があります。

Netscape

Netscape を使用するには、ファイル helplink.o を自身のアプリケーションにリンクする必要があります。このオブジェクトのソースファイルである helplink.c は、次の場所にあります。

$VISUROOT/src/libhelplink/nshelplink

また、 helplink.o を構築する Makefile と、Netscape のリンクについての情報が含まれている README という名前のファイルもあります。

FrameMaker

FrameMaker を使用するには、ファイル helplink.o を自分のアプリケーションにリンクする必要があります。このオブジェクトのソースファイルである helplink.c は、次の場所にあります。

$VISUROOT/src/libhelplink/fmhelplink

また、 helplink.o を構築する Makefile と、FrameMaker のリンクについての情報が含まれている README という名前のファイルもあります。

これ以外に、次の場所でファイルを構築する必要があります。

$VISUROOT/src/libhelplink/fmhelplink/libframe/fmclient

このディレクトリには、ライブラリの構築手順を記述した Makefile が用意されています。

その他

独自のヘルプコールバック関数を提供することもできます。この関数も、 XDhelp_link() と呼ばれ、Sun WorkShop Visual の関数と同じ形式をとるようにします。ヘルプコールバック関数をカスタマイズする方法については、次の 「ヘルプの実装」を参照してください。

ヘルプの実装

これまで、Sun WorkShop Visual 内でヘルプシステムが動作する方法について説明してきました。Sun WorkShop Visual の提供しているデフォルトヘルプコールバックを使用する場合は、アプリケーション内でもヘルプは同様の 動作を行います。しかし、ヘルプコールバック実装のカスタマイズが必要な場合もあります。以下に FrameMaker を使用して、ヘルプコールバック実装をカスタマイズする方法について記述します。

Sun WorkShop Visual のディレクトリ libhelplink には、FrameMaker 統合コールバック XDhelp_link に対するすべてのソースが含まれています。サブディレクトリ libframe には、FrameMaker のリリースから採用されたさまざまなソースファイルが含まれています。元のファイルを調べる場合は、 FrameMaker の $FMHOME/source/openmaker にあります。

XDhelp_link() は、 _XDHelpPair_t 構造体へのポインタである client_data 引数を受け取ります。

typedef struct _XDHelpPair_s {
_XDHelpDoc_p doc;
char** tag; 
Bool open_doc;
} _XDHelpPair_t, *_XDHelpPair_p;

これには、 _XDHelpDoc_t 構造体へのポインタ、マーカー (タグ) へのポインタ、 open_doc フラグが含まれています。タグが NULL である場合は、開発者が <Widget name> ( open_doc FALSE の場合)、あるいは <Open> ( open_doc TRUE の場合) のどちらかのデフォルトマーカーを指定しています。以下にドキュメント構造を示します。

typedefstruct_XDHelpDoc_s{
char *doc;
char** path;
int handle;
Bool new_window;
}_XDHelpDoc_t,*_XDHelpDoc_p;

doc フィールドは、ドキュメントの名前です。 path は、デフォルトパスが存在する場合のポインタです。このパスは、上記のように、ヘルプパスアプリケーシ ョン・リソースおよび環境変数の設定を考慮して計算されます。 handle は、FrameMaker から返されるドキュメントハンドルであり、 new_window はドキュメントが独自のウィンドウを持つかどうかを指定します。

メインコードファイルには、ドキュメントとマーカーの静的配列、および他の配列 を指すタグのペアの配列が含まれています。タグのペア配列の要素へのポインタは、クライアントデータと して渡されます。

XDhelp_link() は、 FrameMaker と通信するための適切な関数を呼び出して、必要に応じてドキュメントを表示します。 XDhelp_link() のその他の実装は、異なるヘルプシステムと通信します。Netscape と Sun WorkShop Visual ヘルプと統合するためのライブラリがあります。


前へ 次へ 目次 文書セット ホーム

サン・マイクロシステムズ株式会社
Copyright information. All rights reserved.