Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XmText(3XM) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Core(3XM)

XmCreateScrolledText(3XM)

XmCreateText(3XM)

XmFontListCreate(3XM)

XmPrimitive(3XM)

XmTextClearSelection(3XM)

XmTextGetEditable(3XM)

XmTextGetMaxLength(3XM)

XmTextGetSelection(3XM)

XmTextGetString(3XM)

XmTextReplace(3XM)

XmTextSetEditable(3XM)

XmTextSetMaxLength(3XM)

XmTextSetSelection(3XM)

XmTextSetString(3XM)

XmText(3XM)  —  NEWS-OS Programmer’s Manual

名称

XmText — Text widget クラス

形式

#include <Xm/Text.h>

解説

Text は、ユーザとプログラムのインターフェースをカスタマイズするための 1 行、あるいは複数行のテキストエディタを提供するものです。 1 行の文字列のエントリに使用でき、照合の手続きを用いて書式付きのエントリをつくることもでき、フルウィンドウの編集もできます。 また、アプリケーションに、テキストデータに対する一貫性を持った編集システムを提供します。 スクリーンのテキストデータをアプリケーション作成者のニーズに適合させます。

Text は、カーソルの挿入、テキストの修正、入力フォーカスの変化をベリファイするための別々のコールバックリストを提供します。 それぞれのコールバックリストは、widget インスタンスをもつ verification 関数、コールバックを引き起こしたイベント、verification タイプに対応するデータ構造体を提供します。 この情報から、関数は、アプリケーションが正しい状態変化と判断しているかどうかを確認し、そのアクションを継続するかどうかを widget に通知することができます。

ユーザインターフェースは、新しいトランスレーションの集合を仕立てます。 デフォルトのトランスレーションでは挿入カーソルの移動、テキストの削除、挿入、選択についてのキーバインディングを提供しています。

Text によって、ユーザはテキストの領域を選択することができます。 この選択は Interclient Communication Conventions (ICCC) の選択モデルに基づいています。 Text はプライマリセレクション (primary selection) とセカンドセレクション (secondary selection) をサポートしています。

Text においては、Primitive のリソースである XmNtraversalOn は常に True です。

クラス

Text は Core と Primitive クラスから動作とリソースを継承します。

クラスポインタは xmTextWidgetClass です。

クラス名は XmText です。

新しいリソース

次の表は、データを指定するのに用いる widget リソースの一覧です。 継承されたクラスのリソースの値もまた widget の属性として設定することができます。 .Xdefaults ファイルの中で名前やクラスでリソースを参照する場合は、語頭の XmN または XmC を取り除いた名称を用いてください。 .Xdefaults ファイルの中でリソースに定義された値を設定するには、語頭の Xm を取り除いた名称を用いてください。 (大文字と小文字は区別されませんが、語間のアンダースコアは必要です。 ) 「アクセス」欄の文字は、与えられたリソースを、widget 生成時に設定できるか (C)、XtSetValues で設定できるか (S)、XtGetValues で取り出すことができるか (G)、あるいは利用できないか (N/A) を示します。

XmText リソース一覧
名称 クラス 型 フォルト アクセス
XmNactivateCallback XmCCallback XtCallbackList NULL C
XmNautoShowCursorPosition XmCAutoShowCursorPosition Boolean True CSG
XmNcursorPosition XmCCursorPosition XmTextPosition 0 CSG
XmNeditable XmCEditable Boolean True CSG
XmNeditMode XmCEditMode int XmSINGLE_LINE_EDIT CSG
XmNfocusCallback XmCCallback XtCallbackList NULL C
XmNlosingFocusCallback XmCCallback XtCallbackList NULL C
XmNmarginHeight XmCMarginHeight short 3 CSG
XmNmagtinWidth XmCMarginWidth short 3 CSG
XmNmaxLength XmCMaxLength int MAXINT CSG
XmNmodifyVerifyCallback XmCCallback XtCallbackList NULL C
XmNmotionVerifyCallback XmCCallback XtCallbackList NULL C
XmNtopPosition XmCTextPosition XmTextPosition 0 CSG
XmNvalue XmCValue String "" CSG
XmNvalueChangedCallback XmCallback XtCallbackList NULL C

XmNactivateCallback
ユーザが Activate() 関数を呼び出すイベントを引き起こしたとき、呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmAnyCallbackStruct です。 コールバックによって送られるリーズンは XmCR_ACTIVATE です。

XmNautoShowCursorPosition
True に設定されたなら、見えているテキストが挿入カーソルを含んでいることを保証します。 挿入カーソルが変化したなら、Text の内容は、挿入ポイントをウィンドウの中に持ってくるためにスクロールします。

XmNcursorPosition
現在の挿入カーソルが位置すべきテキストの中の位置を示します。 位置はテキストの先頭からの文字数で決定されます。

XmNeditable
True に設定されたなら、ユーザがテキスト文字列を編集できることを示します。 False にするとユーザがテキストを編集することを禁止します。

XmNeditMode
Text で使用されているキーボードバインディングの集合を指定します。 デフォルトのキーボードバインディング (XmSINGLE_LINE_EDIT) は 1 行のテキストを編集するのに使用されるキーバインディングのセットを提供します。 複数行のバインディング (XmMULTI_LINE_EDIT) は複数行テキストの編集に使用されるキーバインディングのセットを提供します。

XmNfocusCallback
Text が入力フォーカスを受け入れる前に呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmAnyCallbackStruct です。 コールバックによって送られるリーズンは XmCR_FOCUS です。

XmNlosingFocusCallback
Text が入力フォーカスを失う前に呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmTextVerifyCallbackStruct です。 コールバックによって送られるリーズンは XmCR_LOSING_FOCUS です。

XmNmarginHeight
widget ウィンドウとテキストの上端と、widget ウィンドウとテキストの下端との距離を指定します。 このリソースは、XmNscrollingPolicy が XmAUTOMATIC に設定され、Text widget が ScrolledWindow に位置しているとき、True になります。

XmNmarginWidth
widget ウィンドウとテキストの左端と、widget ウィンドウとテキストの右端との距離を指定します。 このリソースは、Text widget が、XmNscrollingPolicy が XmAUTOMATIC に設定された ScrolledWindow に位置しているとき True になります。

XmNmaxLength
キーボードからテキストに入力できる文字列の最大長を指定します。 XmNvalue リソースや XmTextSetString 関数を用いて入力された文字列はこのリソースを無視します。

XmNmodifyVerifyCallback
テキストが Text から削除されたり、挿入される前に呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmTextVerifyCallbackStruct です。 このコールバックによって送られるリーズンは、 XmCR_MODIFYING_TEXT_VALUE です。

XmNmotionVerifyCallback
挿入カーソルが新しい位置に移動する前に呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmTextVerifyCallbackStruct です。 このコールバックによって送られるリーズンは XmCR_MOVING_INSERT_CURSOR です。

XmNtopPosition
ウィンドウの先頭のテキストの位置を表します。 位置はテキストの先頭からの文字数で決定されます。

XmNvalue
文字列の値を表します。 XtGetValues は内部バッファの値を返し、XtSetValues は内部バッファに文字列の値をコピーします。

XmNvalueChangedCallback
テキストが Text から削除されたり、挿入された後に呼び出されるコールバックのリストを指定します。 このコールバックが返す構造体は XmAnyCallbackStruct です。 このコールバックによって送られるリーズンは XmCR_VALUE_CHANGED です。

XmText 入力リソース一覧
名称 クラス 型 デフォルト アクセス
XmNpendingDelete XmCPendingDelete Boolean True CSG
XmNselectionArray XmCSelectionArray Pointer sarray CSG
XmNselectThreshold XmCSelectThreshold int 5 CSG

XmNpendingDelete
ブール値が True の時、ペンディングデリートモードになります。 ペンディングデリートとは、挿入されたとき、選択されたテキストを削除するものです。

XmNselectionArray
複数のマウスクリックの動作を定義します。 直前のマウスクリックから 0.5 秒の間に押されたマウスクリックはこの配列のインデックスをインクリメントし、そのインデックスで定義された動作を実行します。 可能な動作は、

•XmSELECT_POSITIONS — 挿入カーソルの位置をリセットする

•XmSELECT_WORD — 単語を選択する

•XmSELECT_LINE — テキストの 1 行を選択する

•XmSELECT_ALL — すべてのテキストを選択する

XmNselectThreshold
クリック - ドラッグ選択モードを使用して選択するときには、次の文字を選択するのに必要な移動距離をピクセル数で指定します。

XmText 出力リソース一覧
名称 クラス 型 デフォルト アクセス
XmNblinkRate XmCBlinkRate int 500 CSG
XmNcolumns XmCColumns short 20 CSG
XmNcursorPositionVisible XmCCursorPositionVisible Boolean True CSG
XmNfontList XmCFontList XmFontList fixed CSG
XmNresizeHeight XmCResizeHeight Boolean False CSG
XmNresizeWidth XmCResizeWidth Boolean False CSG
XmNrows XmCRows short 1 CSG
XmNwordWrap XmCWordWrap Boolean False CSG

XmNblinkRate
テキストカーソルのブリンク速度をミリ秒単位で指定します。 blink rate で示される時間はカーソルが見えている時間と見えない時間の長さに関係します (たとえば、挿入カーソルをつけたり、消したりしてブリンクさせるのに必要な時間は blink rate の 2 倍です)。 blink rate が 0 に設定されたなら、カーソルはブリンクしません。

XmNcolumns
テキストウィンドウの幅の初期値を空白文字の数で指定します。

XmNfontList
Text で使用するフォントリストを指定します。 フォントリストを生成するには XmFontListCreate(3XM) を参照してください。

XmNinsertionPointVisible
ブール値が True の時、挿入カーソル位置がブリンクするテキストカーソルでマークされることを示します。

XmNresizeHeight
ブール値が True の時、Text が、widget に含まれるすべてのテキストを適切な高さに変更させることを示します。 もし True に設定されたなら、テキストは、特に設定されていなくても、ソースの最初の位置から表示が開始されます。 ScrolledText widget を使用していて、XmNscrollVerticalFP が True のときは、この属性は無視されます。

XmNresizeWidth
ブール値が True の時、 Text が、widget に含まれるすべてのテキストを適切な幅に変更させることを示します。 この属性は XmNwordWrap が True のときは無視されます。

XmNrows
テキストウィンドウの高さの初期値を文字の高さで指定します。 この属性は、テキスト widget リソース XmNeditMode が XmSINGLE_LINE_EDIT に設定されているときは無視されます。

XmNwordWrap
ブール値が True の時、行は単語の区切りで切断されます (つまり、テキストはウィンドウの右端を越えません)。 単語とは空白文字で区切られた文字の列です。 空白文字は、スペース、タブ、改行と定義されています。 この属性は、テキスト widget リソース XmNeditMode が XmSINGLE_LINE_EDIT に設定されているときは無視されます。

以下のリソースは、テキストが ScrolledWindow で生成されたときのみ使用することができます。 XmCreateScrolledText のマニュアルページを参照してください。

XmText ScrolledText リソース一覧
名称 クラス 型 デフォルト アクセス
XmNscrollHorizontal XmCScroll Boolean True CG
XmNscrollLeftSide XmCScrollSide Boolean False CG
XmNscrollTopSide XmCScrollSide Boolean False CG
XmNscrollVertical XmCScroll Boolean True CG

XmNscrollHorizontal
ブール値が True の時、 ユーザがテキストを水平にスクロールすることができるよう Scrollbar を付け足します。 この属性は、Text リソース XmNeditMode が XmSINGLE_LINE_EDIT の時は無視されます。 Text widget が、XmNscrollingPolicy を XmAUTOMATIC に設定した ScrolledWindow に位置している時は、このリソースは強制的に False に設定されます。

XmNScrollLeftSide
ブール値が True の時、スクロールテキストウィンドウの左方に垂直の ScrollBar をつけることを示します。 この属性は、XmNscrollVertical が False か、Text リソース XmNeditMode が XmSINGLE_LINE_EDIT の時は無視されます。

XmNscrollTopSide
ブール値が True の時、水平の ScrollBar をスクロールテキストウィンドウの上方につけることを示します。

XmNscrollVertical
ブール値が True の時、 ユーザがテキストを垂直にスクロールすることができるよう ScrollBar を付け足します。 Text widget が、XmNscrollingPolicy を XmAUTOMATIC に設定した ScrolledWindow に位置している時は、このリソースは強制的に False に設定されます。

継承されるリソース

Text は、次のスーパークラスの動作とリソースを継承します。 これらの詳細な記述はそれぞれのスーパークラスのマニュアルページを参照してください。

XmPrimitive リソース一覧
名称 クラス 型 デフォルト アクセス
XmNbottomShadowColor XmCForeground Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL CSG
XmNhighlightColor XmCForeground Pixel Black CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNhighlightThickness XmCHighlightThickness short 0 CSG
XmNshadowThickness XmCShadowThickness short 2 CSG

XmPrimitive リソース一覧
名称 クラス 型 デフォルト アクセス
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNtraversalOn XmCTraversalOn Boolean True N/A
XmNunitType XmCUnitType unsigned char XmPIXELS CSG
XmNuserData XmCUserData caddr_t NULL CSG

Core リソース一覧
名称 クラス 型 デフォルト アクセス
XmNaccelerators XmCAccelerators XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel Black CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap XtCopyFromParent CG
XmNdepth XmCDepth int XtCopyFromParent CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG

コールバック情報

次の構造体が、それぞれのコールバックで返されます。

typedef struct
{
intreason ;
XEvent∗ event ;
} XmAnyCallbackStruct ;

reasonなぜコールバックが起こったかを示します。

eventコールバックを引き起こした XEvent を指します。

テキスト widget は verification コールバックで新しいコールバック構造体を定義します。 すべてのフィールドがそれぞれのコールバックリーズンに関係しているわけではないことに注意してください。 アプリケーションではリーズンフィールドをまず調べ、指定したリーズンで有効な構造体のメンバだけを使うようにしなくてはなりません。 次の構造体が XmNlosingFocusCallbacks、XmNmodifyVerifyCallbacks、XmNmotionVerifyCallbacks で返されます。

typedef struct
{
intreason ;
XEvent∗ event ;
Booleandoit ;
XmTextPosition  currInsert, newInsert ;
XmTextPosition  startPos, endPos ;
XmTextBlock text ;
} XmTextVerifyCallbackStruct, ∗ XmTextVerifyPtr ;

reasonなぜコールバックが起こったかを示します。

eventコールバックを引き起こした XEvent を指します。

doitコールバックを引き起こしたアクションを実行するかどうかを示します。 doit を False にすると、アクションを無視します。

currInsert挿入カーソルの現在の位置を示します。

newInsertユーザが挿入カーソルを置きたい位置を示します。

startPos修正するテキストの開始位置を示します。 コールバックが modify verification コールバックでない時は currInsert と同じ値です。

endPos修正するテキストの終了位置を示します。 テキストが置き変わったり、削除されていないなら startPos と同じ値です。 コールバックが modify verification コールバックでない時は currInsert と同じ値です。

textXmTextBlockRec 型の構造体を指します。 この構造体は挿入すべきテキストの情報を持っています。

typedef struct
{
char∗ ptr ;
intlength ;
XmTextFormat format ;
} XmTextBlockRec, ∗ XmTextBlock ;

ptr挿入するテキストを指します。

length挿入するテキストの長さを指定します。

formatテキストのフォーマットを指定します (たとえば、FMT8BIT)。

次の表は、それぞれの verification コールバック構造体のフィールドが有効であるようなリーズンを記述しています。

リーズン 有効なフィールド
XmCR_LOSING_FOCUS reason, event, doit, currInsert, newInsert, startPos, endPos


XmCR_MODIFYING_TEXT_VALUE reason, event, doit, currInsert, newInsert, startPos, endPos, text


XmCR_MOVING_TEXT_CURSOR reason, event, doit, currInsert, newInsert

動作

Text widget の動作は XmNeditMode リソースによって決定されます。 このリソースの設定により、キーバインディングのうちのいくつかは異なった動作をします。 XmNeditMode に設定可能なものは XmSINGLE_LINE_EDIT、XmMULTI_LINE_EDIT です。 続いてこれらのエディットモードでのキーバインディングを記述します。

デフォルトの動作 (1 行テキスト編集)

<Btn1Down>:
このキーバインディングは、マウスクリックの回数によって selection array に定義されている動作をします。 デフォルトの selection array は、1 クリックで挿入カーソルの移動、2 クリックで単語の選択、3 クリックでテキストの 1 行選択に設定されています。

また、テキスト選択を開始します。 直前に選択されたプライマリセレクションテキストは選択が解除されます。

Button1 <PtrMoved>:
テキストはポインタカーソルの移動方向に選択されます。 ポインタカーソルがテキスト上を移動するにつれて、マウスボタン 1 が押されたところから、現在のポインタカーソルの位置までのテキストが選択されます。 マウスボタン 1 を押した状態で、ポインタカーソルを直前に選択されたテキストの上に移動させることによって、選択を解除します。 プライマリセレクションテキストは反転されて示されます。

<Btn1UP>:
選択されたテキストがプライマリセレクションテキストになります (つまり、選択が了承されます)。

Shift <Btn1Down>:
シフトされたマウスボタン 1 が押されたとき、選択の最後のポイントがポインタカーソルが位置するところに移動します。 ポインタカーソルが、テキストが既に選択されている場所に位置していたら、この位置以降のテキストの選択が解除されます。

<Btn2Up>:
プライマリセレクションテキストから挿入カーソルの位置にテキストがコピーされます。 これはアンダーラインで示されます。

CTRL <Btn2UP>:
プライマリセレクションテキストからコピーされ、さらに プライマリセレクションテキストからカットされ、挿入カーソルの位置にペーストされます。

<Key> Right:
挿入カーソルが 1 文字分右に移動します。

Shift <Key> Right:
挿入カーソルの右のテキストが選択され反転します (つまり、プライマリセレクション)。 挿入カーソルの右に既に選択されたテキストが存在している場合、このテキストは 1 文字ずつ選択が解除されます。

CTRL <Key> Right:
挿入カーソルが行の最後に移動します。

<Key> Left:
挿入カーソルが 1 文字左に移動します。

Shift <Key> Left:
挿入カーソルの左のテキストが選択され反転します。 挿入カーソルの左に既に選択されたテキストが存在している場合、このテキストは 1 文字ずつ選択が解除されます。

CTRL <Key> Left:
挿入カーソルが行の先頭に移動します。

<Key> Backspace:
テキストの挿入カーソルの直前の文字が削除されます。

<Key> Delete または <Key> DeleteChar ( HP keyboard ):
テキストの挿入カーソルの直後の文字が削除されます。

Any <Key>:
このキーバインディングは、押されたキーに対応する文字をテキスト widget のテキストに挿入します。

<Key> Return:
XmNactivateCallback のためのコールバックを呼び出します。

複数行のテキスト編集

Button1 <PtrMoved>:
テキストはポインタカーソルの移動方向に選択されます。 ポインタカーソルがテキスト上を移動するにつれて、マウスボタン 1 が押されたところから、現在のポインタカーソルの位置までテキストが選択されます。 複数行に渡ってカーソルを移動することによって、通過した行の最後まで選択され、カーソルが存在する行のカーソルの位置まで選択されます。 マウスボタン 1 を押した状態で、選択されたテキストの上に移動すると、テキストの選択を解除します。

<Key> Up:
挿入カーソルは現在の行のすぐ上の行の挿入カーソルのあった場所に移動します。

<Key> Down:
挿入カーソルは現在の行のすぐ下の行の挿入カーソルのあった場所に移動します。

<Key> Return:
挿入カーソルが位置しているところに新しい行を挿入します。

デフォルトのトランスレーション

テキストのデフォルトのトランスレーションは次のとおりです。

Shift<Key>Tab:prev-tab-group()
<Key>Tab:next-tab-group()
<Key>Up:traverse-prev()
<Key>Down:traverse-next()
<Key>Home:traverse-home()
Ctrl<Key>Right:forward-word()
Shift<Key>Right: key-select(right)
<Key>Right:forward-character()
Ctrl<Key>Left:backward-word()
Shift<Key>Left:key-select(left)
<Key>Left:backward-character()
Shift<Key>BackSpace: delete-previous-word()
<Key>BackSpace: delete-previous-character()
<Key>Return:activate()
<Key>:self-insert()
Shift<Btn1Down>: extend-start()
<Btn1Down>:grab-focus()
Button1<PtrMoved>: extend-adjust()
<Btn1Up>:extend-end()
Ctrl<Btn3Up>:move-to()
<Btn3Up>:copy-to()
<LeaveWindow>: leave()
<FocusIn>:focusIn()
<FocusOut>:focusOut()
<Unmap>:unmap()

HP キーボードを使用しているなら、次のものがデフォルトのトランスレーションです。

Shift<Key>DeleteChar: delete-next-word()
<Key>DeleteChar: delete-next-character()

DIGITAL のキーボードを使用している場合、次のものがデフォルトのトランスレーションです。

Shift<Key>Delete: delete-previous-word()
<Key>Delete:delete-previous-character()
Shift<Key>Linefeed: delete-next-word()
<Key>Linefeed:delete-next-character()
Shift<Key>F13:delete-next-word()
<Key>F13:delete-next-character()

HP や DIGITAL 以外のキーボードを使用している場合、次のものがデフォルトのトランスレーションです。

Shift<Key>Delete: delete-next-word()
<Key>Delete:delete-next-character()

複数行テキスト編集を使用している場合、次のトランスレーションがデフォルトのトランスレーションをオーバーライドします。

<Key>Tab:self-insert()
<Key>Up:previous-line()
<Key>Down:next-line()
<Key>Home:beginning-of-file()
<Key>Return:newline()

複数行テキスト編集から 1 行テキスト編集に移行するとき、次のトランスレーションが、複数行テキスト編集のデフォルトのトランスレーションをオーバーライドします。

<Key>Tab:next-tab-group()
<Key>Up:traverse-prev()
<Key>Down:traverse-next()
<Key>Home:traverse-home()
<Key>Return:activate()

キーボードトラバース

複数行テキスト編集では標準のトラバースと次の点が異なります。

上または下矢印キー — 挿入カーソルを行の間で移動させます。

Tab — タブを挿入します。

Home — 挿入カーソルをファイルの最初の位置 (先頭) に移動させます。

Return — 新しい行を付け加えます。 複数行テキスト編集と 1 行テキスト編集では 標準のトラバースと次の点が異なります。

右または左矢印キー — 編集カーソルを右または左に移動させます。

キーボードトラバースについての詳細は XmPrimitive(3XM) のマニュアルページと、動作とデフォルトのトランスレーションについての節を参照してください。

関連事項

Core(3XM), XmCreateScrolledText(3XM), XmCreateText(3XM), XmFontListCreate(3XM), XmPrimitive(3XM), XmTextClearSelection(3XM), XmTextGetEditable(3XM), XmTextGetMaxLength(3XM), XmTextGetSelection(3XM), XmTextGetString(3XM), XmTextReplace(3XM), XmTextSetEditable(3XM), XmTextSetMaxLength(3XM), XmTextSetSelection(3XM), XmTextSetString(3XM)

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026