前へ | 次へ | 目次 | 索引 |
この項では,OSF/Motif リリース 1.2 ツールキット全体に加えられた変更について説明します。
A.3.1.1 組み込みファイルの変更
OSF/Motif リリース 1.1にあった下記の各ヘッダ・ファイルは,リリース 1.2では廃止されています。
ExtObject.h
Traversal.h
VaSimple.h
VendorE.h
VendorEP.h
新しい共用ヘッダ・ファイル
XmAll.hがOSF/Motif リリース 1.2に加えられています。このヘッダ・ファイルは,すべてのドキュメント化ヘッダ・ファイルを含みます。
A.3.2 XT 変換における変更
XT 変換コードの問題を解決した結果 (Patch 25 for X11 R5), Xt における変換は,現在では厳密に処理されて,もう以前のように見込みによる一致を受け付けません。この変更により,QATS および Motif VTS テスト・スーツの動作が変更されて,キーパッドで定義されている矢印キーがあるような特定のキーボードに対して,誤った仮定をするようになりました。他の Motif アプリケーションも同じような影響を受けることがあります。
問題となるキーについてバインディングを再定義するファイルを作成し,そのファイルをxmodmapユーティリティに渡すことにより,この問題を回避することができます。
次の例は,矢印キーに一致するキーパッド・キー用のバインディングを変更して,キーパッドの数字ではなく,矢印キーだけを生成するようにします。この新しい定義を使用すると,アプリケーションは矢印キーとともに修飾子を使用できるようになります。
! ! Always force: ! KP_2 = Down ! KP_8 = Up ! KP_4 = Left ! KP_6 = Right keycode 120 = Down keycode 76 = Up keycode 98 = Left keycode 100 = Right |
caddr_tへの参照がすべて
XtPointerに変更されました。この変更は,
caddr_tを参照するすべてのコールバック・ルーチンやその他のルーチンに影響します。OSFがこの変更をしたのは,OSF/Motif リリース 1.2が,ANSI C 仕様に準拠するようにするためです。
A.3.4 表示と画面特有のデータ
Motifには,各表示ごとにデータとリソースをサポートする
XmDisplayオブジェクトが加わりました。また各画面ごとにデータとリソースをサポートする
XmScreenオブジェクトも加えられています。
A.3.5 ドラッグ・ドロップ
OSF/Motif リリース 1.2では,データ交換用に「ドラッグ・ドロップ」メタファーをサポートしており,「ドラッグ・ドロップ」仕様はフルに実現されています。「ドラッグ・ドロップ」インタフェースについては,リリース 1.2バージョンの『OSF/Motif プログラマーズ・ガイド』を参照してください。
ポップアップ・メニューをポップアップさせるために Btn2を使用すると,「ドラッグ・ドロップ」は正しく機能しません。この場合,ドラッグ・ドロップを無効にしなければなりません。 |
「ティア・オフ」メニューを使用すると,ユーザは,表示領域にメニューを保留しておいて次の選択を行うことができます。個々のtearできる (引きはがせる) メニュー枠が「ティア・オフ」ボタンとなっています。「ティア・オフ」ボタンでマウスのドラッグ・ボタンを押すと枠が引きはがされてドラッグでき,マウスのドラッグ・ボタンを離した場所に設置できます。ウィンドウ・マネージャは,「ティア・オフ」メニュー枠にメニュー・ボタンおよびタイトルを付けます。ティア・オフされたメニューのウィンドウ枠へのフォーカスの移動は,標準的なウィンドウ・マネージャの場合と同様です。
ティア・オフ動作は, XmNtearOffModelリソースを, XmTEAR_OFF_ENABLEDに設定することで可能となります (省略時設定は XmTEAR_OFF_DISABLED)。
XmNtearOffModelによってあらかじめ登録されているリソース・コンバータがないことに注意してください。ティア・オフ機能をリソース・データベースを通じてオンにできるよう,アプリケーションは, XmRepTypeInstallTearOffModelConverter機能を使用して, XmNtearOffModelリソース用のアプリケーション自身のリソース・コンバータを登録しなければなりません。
コンバータが自動的にインストールされない理由は,メニュー内の項目の感度を動的に設定するために,多くのアプリケーションがマップやカスケードするコールバックを使用しているからです。ただし「ティア・オフ」メニューがマップされると,他のアプリケーションの状態の変更を反映するよう,メニュー項目の感度を直ちに変更しなければなりません。既存のアプリケーションが,このようにメニュー項目の感度を変更することはないでしょう。このため,メニューをティア・オフできるようにすると予期しない時に機能がオンとなることがあります。ユーザがこれらのメニュー項目のひとつをアクティブ化すると,アプリケーションがクラッシュしたり,不変データが損なわれることもあります。
A.3.7 非依存表示
Motifでは,構成要素がユーザからの入力に応答できるかどうかを示す表示が用意されています。以前のMotifリリースではラベルやボタンがこの動作をしていました。 OSF/Motif リリース 1.2ではこの動作は次のウィジェットに拡大されています。
XmArrowButton
XmList
XmScrollBar
XmText
XmTextField
OSF/Motif リリース 1.2 では次の表示が変更されています。
OSF/Motif リリース 1.2では,Frame ウィジェットでTitle ウィジェットを指定できます。リリース 1.2には,Frame内のタイトルの位置と配置の指定のための次の新しい制約リソースが加えられています。
XmNchildHorizontalAlignment
XmNchildHorizontalSpacing
XmNchildType
XmNchildVerticalAlignment
VendorShellの新しいリソース
XmNaudibleWarningでは,警告メッセージに音をつけるかどうか指定できます。Text ウィジェットが,
XmNaudibleWarningの値から,このリソース用の値を決定します。
A.3.11 色の改良
次の3つのリソースが XmScreenウィジェットに加えられました。これはユーザが,省略時設定の背景色および影計算のためのしきい値を指定できるようにするためです。
XmNlightThreshold
XmNdarkThreshold
XmNforegroundThreshold
Motifには,指定のウィジェットの背景その他の色を変更する,
XmChangeColor機能が加えられています。
A.3.12 ベース行の位置合せ
Motifは,ベース行の位置合せ用の2つの機能を加えました。
XmWidgetGetBaselines機能は,ウィジェットのテキスト・ベース行の位置を決定します。また
XmWidgetGetDisplayRectは,ウィジェットの文字列用の境界ボックスのサイズと位置を決定します。
A.3.13 拡大移動セット
OSF/Motif リリース 1.2で,キーボードを使用した移動 (traverse) をサポートするウィジェットの数が増えました。例えばタブ・グループ内でユーザは,入れ子になったタブ・グループに含まれず,フォーカスを受ける資格を持つすべての派生制御に対して,たとえそれが直接の「子」ではない場合でも,矢印キーを使用して移動できるようになりました。
A.3.14 2次元のメニュー内の移動
OSF/Motif リリース 1.2 では,左右,上下方向の移動矢印がメニュー枠の内部で動き回れるようになりました。上下方向の矢印キーがカラムの間をラップします。左右方向の矢印キーは,メニュー枠でカラムの右端かまたは左端で押されると,それぞれ前かまたは次のメニュー枠を表示します。
A.3.15 入力フォーカス
OSF/Motif リリース 1.2は, Managerクラスに
XmNinitialFocusリソースを加えました。このリソースは,入力フォーカスを受ける最初のウィジェットを指定します。このリソースではウィジェットのみを指定でき,ポップアップメニュー,メニュー・バー,オプション・メニュー,プルダウンメニューについてはすべて無視されます。
A.3.16 移動アクセス機能
OSF/Motif リリース 1.2は,キーボードによる移動との対話サポートを向上するために次の新しい機能を加えています。
XmGetFocusWidget
XmGetTabGroup
XmGetVisibility
XmIsTraversable
XmIsVisible
次のことを行なうために XmTrackingLocate機能が変更されました。
さらに,
XmTrackingEvent機能が加えられました。この機能は,X イベントに対してポインタを戻すこと以外は,
XmTrackingLocateに類似しています。
A.3.17 仮想キー
OSF/Motif リリース 1.2では, XmTranslateKey機能を加えています。これによってアプリケーションは,省略時 XtKeyProcをオーバーライドしてMotif仮想キーを扱うことができます。
Motifは,次の2つの新しい仮想 keysymsを定義しています。
osfPageLeft
osfPageRight
これらの新しい仮想キーを使用するには, /usr/lib/X11に X11 リリース 5 XKeysymDBをインストールしておかなければなりません。インストールされていなければ,アプリケーション起動時に警告メッセージが出ます。 XKeysymDBファイルに次の情報を指定してください。
osfPageLeft | :1004FF40 |
osfPageUp | :1004FF41 |
osfPageDown | :1004FF42 |
osfPageRight | :1004FF43 |
OSF/Motif スタイル・ガイドに従うよう,osfMenuの省略時バインディングが, <key>F4から Shift<key>F10に変更されています。
X11 リリース 5では, XKeysymDBファイル中の HP keysymsは,接頭語 hpをつけています。しかしこの接頭語は, /bindingsディレクトリのHP バインディング・ファイルには反映されません。 X11 リリース 5 XKeysymDBファイルを使用している場合には,アプリケーション起動時に警告メッセージがでることがあります。こうした警告メッセージを取り除くためには,次のようにファイルの該当する行に接頭語 hpを加えます。
osfDelete : | <key>hpDeleteChar |
osfInsert : | <key>hpInsertChar |
osfPrimaryPaste : | <key>hpInsertLine |
osfQuickPaste : | <key>hpDeleteLine |
OSF/Motif リリース 1.2には,Motifアプリケーションが使用する仮想バインディングを設定する新しいクライアント xmbindがあります。仮想バインディングは,Motif ウィンドウ・マネージャ (MWM)起動時に自動的に設定されるため, xmbindを使用する必要があるのはMWMが使われてない場合か,またはMWMを再起動しないで仮想バインディングを変更する必要がある場合だけです。
現在では仮想バインディングは,個々のベンダによって指定できるようになりました。
.motifbindファイルがホーム・ディレクトリにないときは,
xmbind.aliasファイルを使用して,サーバ・ベンダ名からバインディング・ファイルへマッピングを提供できます。ユーザのベンダ・バインディングとシステム全体のベンダ・バインディングも設定することもできます。
A.3.18 リソース管理
OSF/Motif リリース 1.2 には,表現タイプ管理用の次のような新しい機能があります。
XmRepTypeRegister
XmRepTypeAddReverse
XmRepTypeValidValue
XmRepTypeGetRegistered
XmRepTypeGetId
XmRepTypeGetNameList
XmRepTypeGetRecord
以上の機能は,列挙された値を使用する新しいリソース・コンバータの定義をしたい開発者にとって便利なものです。
A.3.19 CUAおよびWindows準拠の変更
OSF/Motif リリース 1.2では,Returnキーや osfActivateにバインドされているキー(通常は数字キーパッド上のEnterキー) を使用しても,メニューの外にあるボタンをアクティブ化できなくなりました。例えば,このようなキーを押しても,「オプション」メニューをポップアップしたり,ダイアログ・ボックスの切り替えボタンをアクティブ化したりしなくなりました。
アプリケーションに
XmBulletinBoardに対応した省略時設定ボタンがある場合は,フォーカスが
XmBulletinBoardにあるときに,Returnキー(複数行
XmTextで以外),Ctrl/Returnキー,または
osfActivateにバインドされたキーを押すことによって,省略時設定ボタンをアクティブ化できるようになりました。
A.4 特定ウィジェットに関する変更と改善
この節では,OSF/Motif リリース 1.2で行なわれた特定のウィジェットに対する変更について要約します。
A.4.1 XmClipboard
OSFは, XmClipboard機能パラメータにいくつかの修正を加えました。これらの変更は,Motifの以前のリリースとのバイナリ互換性があります。ただしアプリケーション再コンパイルの際に,警告メッセージがでることがあります。この修正では, (char *)が XtPointerに, intが longに,そして (int *)が (long *)にそれぞれ変更されました。この修正によって,次の関連機能が影響を受けます。
OSF/Motif リリース 1.2で,
XmCommandGetChildが
XmDIALOG_WORK_AREAを子引数用の値として受け入れるようにするために,
XmCommandGetChildが修正されました。
A.4.3 XmList
リスト管理能力を高めるために, OSF/Motif リリース 1.2 に次の新しい機能が加えられました。
XmList ウィジェットに次の新しい翻訳が加わりました。
XmListに新しい動作が加わりました。
OSF/Motif リリース 1.2では,この動作に誤って ListScrollCursorVisibleと名前が付けられましたが,今後の Motifのリリースでは訂正されます。 |
XmNvisibleItemCountリソースは,省略時の値が動的で,かつ項目カウントと高さに基づくよう修正されています。
OSF/Motif リリース 1.2 で,リストの selectedItemsおよび selectedItemCountの各リソースがリソース・ファイルで設定されると,位置カーソルが selectedItemsリストの最初の項目ではなく,最後の項目の上に現われます。
前へ | 次へ | 目次 | 索引 |