Sun WorkShop Visual には、アプリケーションのさまざまな場所から呼び出すことができる、広範囲に渡るオンラインヘルプが用意されています。本章では、アプリケーションのヘルプ構築のために Sun WorkShop Visual が提供するサポートについて説明します。
アプリケーションでのヘルプをサポートするために使用されているモデルは、非常 に単純です。すべての Motif ウィジェットで使用できるヘルプコールバック、またはヘルプボタン上の活性化コールバックを使用するこ とができます。したがって、文脈依存ヘルプを提供するために必要なものは、コールバックが呼び出された 場合に表示されるヘルプ (あるいはヘルプへのパス) をクライアントデータとして使用する、汎用のコールバックです。Sun WorkShop Visual では、このヘルプ指定はドキュメントのパスおよびそのドキュメント内の参照個所を示すマーカーとして定 義されます。Sun WorkShop Visual には、Sun WorkShop Visual のヘルプシステムのインタフェースで使用可能なコールバックが、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 とは HTML ファイルを受け取って、それらのファイルに指定されたハイパーテキストリンクや特別な形式を含めて表示 するブラウザです。
また、Netscape にはファイル編集および操作コマンドも用意されているため、ユーザーは、自分が作成したヘルプファイル もブラウズすることができます。
FrameMaker は、独自の内部形式を使用するデスクトップパブリッシング用のパッケージです。また、FrameMaker では、読み取り専用ドキュメントを表示およびブラウズすることもできます。FrameMaker をヘルプビューアとして使用する方法についての詳細は、「FrameMaker の使用」を参照してください。
Sun WorkShop Visual ヘルプと Netscape は、ともに HTML ファイルを読み取ります。リンクのソースおよび宛先となる位置に HTML アンカーを指定するように、ファイルを作成する必要があります。これらのアンカーの名前は、個々のウィ ジェットに対してヘルプアクションを指定する際に使用するので、覚えておくと便利です。
これらのアンカー位置は Sun WorkShop Visual では「マーカー」と言い、ヘルプコールバックで指定します。ヘルプコールバックのマーカーを設定する方 法については、「Sun WorkShop Visual でのヘルプの設定」で説明します。
Sun WorkShop Visual ヘルプまたは Netscape のいずれかをアプリケーションのヘルプシステムとして使用するには、以下の作業を行う必要があります。
HTML では同じドキュメント内にリンクを持たせることができるので、項目ごとに個別のファイルを作成する必要 はありません。ただし、ヘルプテキストを管理するには、個別のファイルにしておくことをお勧めします。 Sun WorkShop Visual ヘルプは HTML のサブセットを使用します。Sun WorkShop Visual ヘルプが認識する HTML キーワードについては、「HTML タグ」を参照してください。
2. 各ウィジェットまたはモジュール全体に対してヘルプコールバックを指定します。
デザイン内のウィジェットにヘルプコールバックを追加する方法については、「Sun WorkShop Visual でのヘルプの設定」を参照してください。ヘルプコールバックをアプリケーション内に定義するには、 「アプリケーションへのリンク」の指示に従う必要があります。
3. 生成されたコードを Sun WorkShop Visual ヘルプか Netscape で提供されているライブラリにリンクします。
「ヘルプの実装」を参照してください。
本節では、タグとして知られているおもな HTML キーワードについて簡単に説明します。ここに記載されるタグは、すべて Sun WorkShop Visual ヘルプシステムによって解釈されます。ここでは、大部分の完全な HTML インタプリタ (Netscape など) によるタグの解釈方法を示し、Sun WorkShop Visual ヘルプによるタグの解釈方法と異なる場合は、その解釈方法も示します。
HTML では、タグは山括弧 (< と >) で囲みます。テキストファイルでは、これらの括弧を使用する必要があります。ドキュメント内での HTML タグの使い方については、「HTML ドキュメントの例」を参照してください。
タグはその使用法に応じて分類されています。ここでは、タグは大文字で記載され ていることに注意してください。ただし、HTML は大文字小文字を区別する言語ではないので、大文字も小文字も使用できます。
<A NAME="アンカー名">テキスト</A>
これは、リンクの宛先として使用されるアンカーです。「アンカー名」は、内部で使用するアンカーの名前
です。「テキスト」には、ユーザーにクリックさせたいテキストを指定します。このテキストをクリックす
ると、リンク先へ移動することができます。
<A NAME="#アンカー名">テキスト</A>
これは、同じドキュメントの別の場所へのリンクのソースです。「アンカー名」は、アンカーに対して内部
で付けられた名前です。
相対パス名か絶対パス名を使用して、別ファイルにリンクさせることができます。 外部ファイルは別サーバーに常駐させることもできます。外部リンクの場合は、「アンカー名」がファイル 名となり、先頭にある '#' 記号を省略します。「テキスト」は、ユーザーにクリックさせたいテキストです。
<BR>
このタグは、改行を示します。改行がなければ、テキストはブラウザウィンドウの幅に合わせて流し込まれ
ます。
リスト
Sun WorkShop Visual ヘルプは、大部分の HTML
インタプリタが行うようには、さまざまなリストを処理することができません。リストは互換用に解釈され
るので、既存の HTML ドキュメントを使用することができます。
<OL>
以降の行が番号付きリストであることを示します。大部分の HTML
実装では、リスト項目の前に番号が付きますが、Sun WorkShop Visual ヘルプでは '-' (ダッシュ)
だけが出力されます。
<UL>
以降の行が番号なしのリストであることを示します。大部分の HTML 実装では、リスト項目の前に
ドットマークが付きますが、Sun WorkShop Visual ヘルプでは '-'
(ダッシュ) だけが出力されます。
<DL>
以降の行が定義リストであることを示します。大部分の HTML
実装では、用語集のように「用語」と「定義」があると見なしますが、Sun WorkShop Visual
ヘルプでは、リストの各項目の前に '-' (ダッシュ) だけが出力されます。
<LI>
リスト項目を示します。行の先頭に '-' (ダッシュ) が出力されます。
<DT>
定義リストの「用語」を示します。Sun WorkShop Visual
ヘルプでは、これらの用語を通常のリスト項目と見なします。
<DD>
定義リストの「定義」を示します。Sun WorkShop Visual ヘルプでは、これらの定義を '-' (ダッシュ)
の付かないインデントされたリスト項目と見なします。
<EM>
以降のテキストを強調表示するように指定します。HTML
インタプリタには、イタリックを使用するものも、ボールドを使用するものもあります。Sun WorkShop
Visual ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。
<B>
以降のテキストをボールドで出力するよう指定します。Sun WorkShop Visual
ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。
<I>
以降のテキストをイタリックで出力するよう指定します。Sun WorkShop Visual
ヘルプでは、該当するテキストの前後に '*' (アスタリスク) を出力します。
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 のドキュメントに挿入することができます。
タグという用語は、ドキュメントとマーカーの組み合せを意味します。ヘルプタグ は、コアリソースパネルの「コード生成」ページで指定されます。指定できるヘルプタグには、任意の Motif ウィジェットに対して指定できるヘルプ・コールバックと、プッシュボタンおよびカスケードボタンウィジ ェットに対してのみ指定できる活性化コールバックの 2 種類があります 。
タグを指定するためには、ドキュメントの名前とマーカーの名前を入力し、「適用 」を押します。この時点で、活性化コールバックに対するボタンをクリック、 あるいはヘルプコールバックに対する <F1> を押してコールバックを呼び出して、ドキュメントをダイナミックディスプレイに表示することができます 。
コアリソースパネルにおいてタグ情報を指定する場合、Sun WorkShop Visual は自動的にコールバック関数 XDhelp_link() をそのウィジェットの適切なコールバックリストに追加します。ウィジェットに対するコールバックダイア ログで、コールバックを指定する必要はありません。
ヘルプファイルの名前を再入力せずに、マーカーのみを入力して、ヘルプ情報の一 部を指定することができます。 ヘルプコールバックのドキュメント名を指定せずにマーカーを指定する場合には、Sun WorkShop Visual は最も近い親ウィジェットのヘルプコールバックドキュメントを使用します。ウィジェットの祖先がヘルプ コールバックドキュメントを持っていない場合は、次の「モジュールのデフォルト」で説明するように、「 ヘルプのデフォルト」ダイアログで指定されているデフォルトのドキュメントが使用されます。
活性化コールバックの場合は、明示的に設定されているドキュメントがないと、ヘ ルプコールバックのドキュメントが使用されます。このドキュメントを設定していない場合には、前述した ように、同じヘルプドキュメントの継承が行われます。
モジュールごとに指定されるヘルプのデフォルトは数多く存在します。これらのデ フォルトを指定するためには、モジュールメニューをプルダウンして「ヘルプのデフォルト」を選択します 。図 21-2 に結果のダイアログを示します。
「ヘルプのデフォルト」ダイアログを使用すると、Sun WorkShop Visual のヘルプシステムの構築および完成したアプリケーションの両方に使用するデフォルトを指定することがで きます。
コアリソースパネルの「コード生成」ページにある「活性化コールバック (activate)」および「ヘルプ・コールバック」ボタンを使用して、現在デザインが参照しているすべてのド キュメントおよびマーカーを示すダイアログを表示することができます。
Sun WorkShop Visual のデフォルトのヘルプコールバック関数を使用するには、Sun WorkShop Visual のインストールディレクトリ中の次に示すオブジェクトファイルをリンクする必要があります。 $VISUROOT は、Sun WorkShop Visual のインストールディレクトリです。
ディレクトリは各ヘルプビューアにつき 1 つずつで、合計 3 つあります。Sun WorkShop Visual のヘルプおよび FrameMaker に関しては、さらに別のファイルへのリンクを行う必要があります。
Sun WorkShop Visual ヘルプを使用するには、ファイル helplink.o を自分のアプリケーションにリンクする必要があります。このオブジェクトのソースファイルである helplink.c は、次の場所にあります。
$VISUROOT/src/libhelplink/helplink
また、 helplink.o を構築する Makefile と、Sun WorkShop Visual ヘルプでのリンクについての情報が含まれている README という名前のファイルもあります。
これ以外に、次の場所にあるライブラリをリンクする必要があります。
$VISUROOT/src/help/client
Netscape を使用するには、ファイル helplink.o を自身のアプリケーションにリンクする必要があります。このオブジェクトのソースファイルである helplink.c は、次の場所にあります。
$VISUROOT/src/libhelplink/nshelplink
また、 helplink.o を構築する Makefile と、Netscape のリンクについての情報が含まれている README という名前のファイルもあります。
これまで、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. |