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はリンクの目的地を有するページを表示します。ページは左側の矢で示されます。
|