DtEditor ウィジェットは、次のリソースのセットを提供します。
DtNautoShowCursorPosition に True が設定された場合は、スクロール編集ウィンドウに表示されるテキストに挿入カーソルが必ずあるようにします。挿入カーソルが変わると、エディタの内容をスクロールして、挿入ポイントがウィンドウに入るようにします。
DtNblinkRate は、テキスト・カーソルの点滅間隔をミリ秒単位で指定します。挿入カーソルの点滅に要する時間は、点滅間隔の 2 倍です。点滅間隔が 0 に設定された場合は、カーソルは点滅しません。値を負にすることはできません。
DtNbuttonFontList は、DtEditor のダイアログ・ボックスに表示されるボタンのフォント・リストを指定します。
DtNcolumns は、エディタの初期の幅を整数の文字単位で指定します。値は 0 より大きくなければなりません。
DtNcursorPosition は、エディタの中で現在の挿入カーソルが置かれる位置を指定します。位置は、テキストの先頭からの文字数によって決められます。最初の文字位置は 0 です。
DtNcursorPositionVisible は、論理値が True のときに点滅しているテキスト・カーソルで、挿入カーソルの位置をマークします。
DtNdialogTitle は、DtEditor によって表示されるすべてのダイアログのタイトルを指定します。これには、単語の検索と置換、スペルが間違っている単語、および書式設定のためのダイアログが含まれます。
DtNeditable に True が設定されている場合は、ユーザはデータを編集できます。False が設定されている場合は、ユーザはデータを編集できません。
DtNlabelFontList は、DtEditor ラベルとして使用されるフォント・リストを指定します (ラベルは、ステータス行と DtEditor ダイアログ・ボックスに表示されます)。
DtNoverstrike に False が設定されている場合、エディタ・ウィジェットに入力された文字は、カーソルの位置に挿入されます (デフォルト)。True が設定されている場合、エディタ・ウィジェットに入力された文字は、挿入カーソルの直後の文字を置き換えます。行末に達した場合は、文字は行末に追加されます。ステータス行が表示されている場合、DtNoverstrike が True のときは DtNoverstrikeIndicatorLabel が必ずステータス行に表示されます。
DtNrows は、エディタの初期の高さを文字単位で指定します。値は 0 より大きくなければなりません。
DtNscrollHorizontal は論理値が True の場合、テキストを水平方向にスクロールできるスクロール・バーを追加します。
DtNscrollLeftSide は論理値が True の場合は、スクロール編集ウィンドウの左側に垂直スクロール・バーを置きます。
DtNshowStatusLine は、True が設定された場合、テキスト・ウィンドウの下にステータス行を表示します。ステータス行のフィールドには、挿入カーソルの現在の行番号、ドキュメント内の総行数、およびエディタが上書きモードかどうかを表示します。ユーザは、行番号表示に行番号を入力することによって、直接その行を表示できます。
ステータス行は、アプリケーションによって提供されるメッセージを表示するための Motif の XmTextField(3x) ウィジェットも含んでいます。このフィールドは、アプリケーションが編集中のドキュメントについてのステータスとフィードバックを表示するのに便利です。テキスト・フィールドの ID は、DtEditorGetMessageTextFieldID(3) を使用して検索されます。メッセージは、このウィジェットの XmNvalue または XmNvalueWcs リソースを設定することによって表示されます。テキスト・フィールドが必要ない場合には、その ID で XtUnmanageWidget(3X) を呼び出すことによって管理からはずことができます。
DtNspellFilter は、スペルチェックに使用するフィルタを指定します。関数 DtEditorInvokeSpellDialog(3) は、DtNspellFilter によって指定されたフィルタを使用してエディタの内容をチェックします。指定されたフィルタは、ファイル名を受け入れて、このファイルの中のスペルが間違っている単語と認識不能の単語のリストを標準出力に出力しなければなりません。デフォルトのフィルタは、spell(1) です。
DtNtextBackground は、編集ウィンドウのバックグラウンドを指定します。
DtNtextDeselectCallback は、編集領域内でテキストが選択されていない場合に呼び出される関数を指定します。コールバックによって送られる reason は、DtEDITOR_TEXT_DESELECT です。
DtNtextFontList は、DtEditor 編集ウィンドウとテキスト・フィールドに使用されるフォント・リストを指定します。テキスト・フィールドは、ステータス行と DtEditor ダイアログ・ボックスに表示されます。
DtNtextForeground は、編集ウィンドウのフォアグラウンドを指定します。
DtNtextSelectcallback は、編集領域内でテキストが選択された場合に呼び出される関数を指定します。コールバックによって送られる reason は、DtEDITOR_TEXT_SELECT です。
DtNtextTranslations は、編集ウィンドウに追加される変換を指定します。このリソースで指定された変換は、編集ウィンドウに対して定義された重複する変換を無効にします。DtEditor によって提供される変換のリストについては、DtEditor(3) のマニュアル・ページを参照してください。
DtNtopCharacter は、スクロールした編集ウィンドウの最上部にテキストの位置がある行を表示します。行はテキストを左右に移動することなくウィジェットの最上部に表示されます。位置は、テキストの先頭からの文字数によって決められます。最初の文字位置は 0 です。
DtNtopCharacter に対する XGetValues(3X) は、ウィジェットの最上部に表示される行の最初の文字の位置を返します。
DtNwordWrap は、ウィンドウの右端に達した場合に、語の切れ目でソフト・キャリッジ・リターンによる行分割を行います。行折返しは、エディタ・ウィジェットの内容の視覚的外観だけに影響を及ぼすので注意してください。行分割 (ソフト・キャリッジ・リターン) は、テキストに物理的に挿入されるわけではありません。エディタは、ウィジェットの内容が検索される場合またはファイルに保存される場合に、ハード・キャリッジ・リターンへの置換をサポートします。詳細は、DtEditorGetContents(3) および DtEditorSaveContentsToFile(3) のマニュアル・ページを参照してください。
各リソースのクラス、型、デフォルト、およびアクセスを表 7-9 にリストします。継承クラスのリソース値を設定することによって、このウィジェットの属性を設定することもできます。.Xdefaults ファイルの中で名前またはクラスによってリソースを参照するには、DtN または DtC の接頭辞を除いて、残りの文字を使用します。.Xdefaults ファイルでリソースに対して定義済みの値の 1 つを指定するには、Dt 接頭辞を除いて、残りの文字を使用します (小文字または大文字で、単語の間に下線を入れます)。
アクセス欄のコードは、次の作業が可能かどうかを示します。
作成時にリソースを設定する (C)
XtSetvalues を使用して設定する (S)
XtGetValues を使用して検索する (G)
詳細は、DtEditor(3) のマニュアル・ページを参照してください。
表 7-9 DtEditor リソース
名前 |
クラス |
型 |
デフォルト |
アクセス |
---|---|---|---|---|
DtNautoShowCursorPosition |
DtCAutoShowCursorPosition |
Boolean |
True |
CSG |
DtNblinkRate |
DtCBlinkRate |
int |
500 |
CSG |
DtNbuttonFontList |
DtCFontList |
XmFontList |
Dynamic |
CSG |
DtNcolumns |
DtCColumns |
XmNcolumns |
Dynamic |
CSG |
DtNcursorPosition |
DtCCursorPosition |
XmTextPosition |
0 |
CSG |
DtNcursorPositionVisible |
DtCCursorPositionVisible |
Boolean |
True |
CSG |
DtNdialogTitle |
DtCDialogTitle |
XmString |
NULL |
CSG |
DtNeditable |
DtCEditable |
Boolean |
True |
CSG |
DtNlabelFontList |
DtCFontList |
XmFontList |
Dynamic |
CSG |
DtNmaxLength |
DtCMaxLength |
int |
Largest integer |
CSG |
DtNoverstrike |
DtCOverstrike |
Boolean |
False |
CSG |
DtNrows |
DtCRows |
XmNrows |
Dynamic |
CSG |
DtNscrollHorizontal |
DtCScroll |
Boolean |
True |
CG |
DtNscrollLeftSide |
DtCScrollSide |
Boolean |
Dynamic |
CG |
DtNscrollTopSide |
DtCScrollSide |
Boolean |
False |
CG |
DtNscrollVertical |
DtCScroll |
Boolean |
True |
CG |
DtNshowStatusLine |
DtCShowStatusLine |
Boolean |
False |
CSG |
DtNspellFilter |
DtCspellFilter |
char * |
Spell |
CSG |
DtNtextBackground |
DtCBackground |
Pixel |
Dynamic |
CSG |
DtNtextDeselectCallback |
DtCCallback |
XtCallbackList |
NULL |
C |
DtNtextFontList |
DtCFontList |
XmFontList |
Dynamic |
CSG |
DtNtextForeground |
DtCForeground |
Pixel |
Dynamic |
CSG |
DtNtextTranslations |
DtCTranslations |
XtTranslations |
NULL |
CS |
DtNtextSelectCallback |
DtCCallback |
XtCallbackList |
NULL |
C |
DtNtopCharacter |
DtCTextPosition |
XmTextPosition |
0 |
CSG |
DtNwordWrap |
DtCWordWrap |
Boolean |
True |
CSG |