Hyper Widgetクラスにより追加された新しいリソース
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

xmHyperWidgetClassは、widgetClassのサブクラスであり、これに対応するリソースも有効です。以下のリソースがHyper Widgetクラスにより定義されています。

リソース: Prolog Acc デフォルト説明 表現 -------------------------------------------------------------------------

autoSize atom *1 CG on ウィンドウサイズの変更 bottomMargin integer CSG 80 下部のマージン cpi integer CSG 10 font1のインチ当たりの文字数 defaultFont atom CSG XtDefaultFont デフォルトのフォント file atom CSG NULL 表示テキストを含むファイル font1 .. font16 atom - 下のフォントの部分を見て下さい。 foreground atom CSG XtDefaultForeground フォアグラウンドのカラー hyperLinkEscape atom CSG NULL 語句リンクの始まり hyperLinkEscapeEnd atom CSG NULL 語句リンクの終り hyperLinks list CSG ハイパーリンクのリスト lpi integer CSG 6 font1の文字の1インチ当たりの行数 nextLinkNo integer CSG 1000 xtHyperAddLink用の次のリンク nextSemLinkNo integer CSG 1000 xtHyperAddSemLink用の次のリンク rightMargin integer CSG 80 右マージン selectWordLink atom *1 CSG on たどった語句リンクを選択 semLinkEscape atom CSG NULL 意味リンクのためのマーク semLinkX integer CSG 910 意味リンク矢印の水平位置 semLinks list CSG 意味リンクのリスト targetPointer integer CS -1 左矢印の位置を示すバイトオフセット targetPointerEscape atom CSG NULL ターゲットポインタ矢印のための マーク targetPointerLabel atom CSG NULL ターゲットポインタの位置を示す バイトオフセット targetPointerX integer CSG 78 ターゲットポインタ矢印の水平位置 totalars integer CSG 82 1行の最大文字数 totalnes integer CSG 70 最大行数 turnOverToTargetPointer atom *1 CSG on ターゲットポインタの頁数を表示

Callbackリスト名 CallDataタイプ -------------------------------------------------------

linkCallback hyper_link *2 linkLabelCallback hyper_link_label *3 linkStringCallback hyper_link_string *4 menuLinkCallback hyper_menu_link *2 menuLinkLabelCallback hyper_menu_link_label *3 menuLinkStringCallback hyper_menu_link_string *4 menuSemCallback hyper_sem *2 menuSemLabelCallback hyper_sem_label *3 menuSemStringCallback hyper_sem_string *4 menuTargetPointerCallback hyper_menu_target_pointer posCallback hyper_pos *5 selectionCallback hyper_selection semCallback hyper_menu_sem *2 semLabelCallback hyper_menu_sem_label *3 semStringCallback hyper_menu_sem_string *4 targetPointerCallback hyper_target_pointer

*1 boolean: true, false, on, off, ... *2 有効なコールバックコンポーネント: hyperLinkNo *3 有効なコールバックコンポーネント: hyperLabel *4 有効なコールバックコンポーネント: hyperText *5 有効なコールバックコンポーネント: hyperOffset

autoSize 表示されるテキストの幅に応じてwidgetがウィンドウサイズを変更すべきかどうかを決めます。 もし値がfalseであれば、高さと幅は、フォント1、cpi,lpi, totalChars, totalLinesを使用して決定されます。デフォルト値は、DIN A4サイズのページです。

bottomMargin, rightMargin autoSizeがオンの場合、下部・右マージンを決定します。

cpi 一枚の紙の上での1インチあたりのfont1の文字の数を示します。これは、必ずしもスクリーンの同じ幅には対応しません。

defaultFont このフォントは、無効のフォント番号が指定された場合に使用されます。

file 制御コードを含んだテキストのファイル名で、このファイルが表示されます。IF/Prologマニュアルのファイルや$PROROOT/motif11/demos/hyperdokuのファイルがその例です。

font1 ... font16 Hyperwidgetは16の異なるフォントを使用したテキストを表示することができます。それぞれのフォントは、通常・イタリック・ボールドあるいはボールドイタリックで表示できます。それぞれのフォントは、ソーステキストの中でフォント番号によって選択します。各テキスト属性は、制御シーケンスによりオン・オフされます。デフォルト値は、テキスト処理システムIFHITのデフォルトに対応しています。

次の形のリソースにフォント番号についての情報を持たせています。1インチ当たりの文字数と、空白で区切った4つの異なるフォントです。

fontx:"<Number>|<CPI>|<normal>|<bold><italic><b&i>"

制限: フォントの定義は、.Xdefaultsのファイルの中でのみ作られるか、あるいは、類似のコノフィグレーションにより作られます。

プロポーショナルフォントの使用は最終出力でしか認められていません。スクリーン上で表示される場合には、プロポーショナルテキストは固定幅のフォントとして表示されます。

フォントのデフォルトは以下の通りです。

font1: "1 10 *courier-medium-r-normal--*-120* *courier-bold-r-normal--*-120* *courier-medium-o-normal--*-120* *courier-bold-o-normal--*-120*" font2: "2 0 *times-medium-r-normal--*-100* *times-medium-r-normal--*-100* *times-medium-r-normal--*-100* *times-medium-r-normal--*-100*" font3: "3 0 *times-medium-i-normal--*-100* *times-medium-i-normal--*-100* *times-medium-i-normal--*-100* *times-medium-i-normal--*-100*" font4: "4 0 *times-bold-r-normal--*-100* *times-bold-r-normal--*-100* *times-bold-r-normal--*-100* *times-bold-r-normal--*-100*" font5: "5 0 *times-medium-r-normal--*-80* *times-medium-r-normal--*-80* *times-medium-r-normal--*-80* *times-medium-r-normal--*-80*" font6: "6 12 *courier-medium-r-normal--*-100* *courier-medium-r-normal--*-100* *courier-medium-r-normal--*-100* *courier-medium-r-normal--*-100*" font7: "7 16.6 *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80*" font8: "8 12 *courier-medium-r-normal--*-120* *courier-medium-r-normal--*-120* *courier-medium-r-normal--*-120* *courier-medium-r-normal--*-120*" font9: "9 12 *courier-bold-r-normal--*-120* *courier-bold-r-normal--*-120* *courier-bold-r-normal--*-120* *courier-bold-r-normal--*-120*" font10: "10 0 *helvetica-bold-r-normal--*-140* *helvetica-bold-r-normal--*-140* *helvetica-bold-r-normal--*-140* *helvetica-bold-r-normal--*-140*" font11: "11 0 *helvetica-bold-r-normal--*-120* *helvetica-bold-r-normal--*-120* *helvetica-bold-r-normal--*-120* *helvetica-bold-r-normal--*-120*" font12: "12 0 *helvetica-bold-r-normal--*-100* *helvetica-bold-r-normal--*-100* *helvetica-bold-r-normal--*-100* *helvetica-bold-r-normal--*-100*" font13: "13 0 *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80*" font14: "14 0 *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80* *helvetica-bold-r-normal--*-80*" font15: "15 16.6 *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80*" font16: "16 21.4 *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80* *courier-medium-r-normal--*-80*"

hyperLinkEscape, hyperLinkEscapeEnd ソーステキスト中の語句リンクの始まりと終りをマークする任意の文字列です。

hyperLinks, semLinks これらは、[Position, Length, LinkNo, Label]の形の要素を持つリストで、Labelはオプションです。フォーマットは、語句リンクと意味リンクでは同じです。Positionはソーステキストにおけるバイトオフセットです。LinkNoは、sem/linkCallbackにより渡され、Labelはsem/linkLabelCallbackによって渡されます。

lpi 1インチ当たりの行数。autoSizeとcpiの項目を参照して下さい。

nextLinkNo, nextSemLinkNo 統合されたリンク番号を引数として与えてxtHyperAdd(Sem)Link述語を呼び出して付け加えられる次のリンクの番号。

selectWordLink たどった語句リンクをハイライトし(Cut & Paste用に)選択する。

semLinkEscape semLinkEscapeは次のテキストを意味リンクのソースとしてマークする任意の文字列です。もしsemLinkEscapeの中に'%'がある場合、テキストの中のマークにはその'%'の位置で始まるラベルを含めることができます。このラベルは'%'で終らねばなりません。このラベルはsemLabelCallbackの引数になります。

semLinkEscape: "!R!TEXT '!R!';EXIT; CMNT;SL%;EXIT,E;" mark in text: "!R!TEXT '!R!';EXIT; CMNT;SLtext%;EXIT, E;"

semLinkX, targetPointerX 左右の矢の水平の位置を定義します。ウィンドウの中の相対的な位置の単位は、ウィンドウの幅の1/1000です。

targetPointer テキストファイルのbyteオフセットとして左ポインタの位置を定義します。

targetPointerEscape, targetPointerLabel これらは、targetPointerを使用するよりも簡単に左の矢の位置を指定するために用いられます。ターゲットポインタの位置はtargetPointerEscape文字列により指定することができます。ラベルの引数を指定するためには、semLinkEscapeの項目も参照して下さい。矢は、targetPointerLabelを設定することにより、所定の位置で表示することができます。turnOverToTargetPointerの項目も参照して下さい。

totalChars 1行あたりの文字の数を示します。autoSizeが真の場合、ウィンドウの幅にも影響を与えることに注意して下さい。

totalLines 1ページあたりの列の数を示します。autoSizeが真の場合、ウィンドウの幅にも影響を与えることに注意して下さい。

turnOverToTargetPointer オンに設定されていれば、hyper widgetはリンクの目的地を含むページ (すなわち左側に矢印を持つページ) を表示します。


Darueber read on...