日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


≫ 

OpenVMS ドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 章:一般ユーザ向けリリース・ノート
第 2 章:システム管理者向けリリース・ノート
第 3 章:プログラミングに関するリリース・ノート
第 4 章: 関連ドキュメントに関するリリース・ノート
第 5 章:日本語機能に関するリリース・ノート
付録 A :OSF/Motif リリース 1.2 リリース・ノート
付録 B :OSF/Motif サンプル・プログラム
索引
PDF
OpenVMS ホーム
日本語 HP DECwindows Motif for OpenVMS

日本語 HP DECwindows Motif
for OpenVMS
リリース・ノート


目次 索引

付録 A
OSF/Motif リリース 1.2 リリース・ノート

本リリース・ノートは, OSF/Motif Release Note for Release 1.2 の第3章を基にしており, OSF/Motif アプリケーションを開発するプログラマ向けのその他いくつかの注意事項も記載しています。注意事項の大部分はOSF/Motif リリース 1.2への変更についての説明です。最初の2つの注意事項では,性能向上と上位の互換性について説明します。

本リリース・ノートは,日本語 HP DECwindows Motif for OpenVMS 製品で現在提供されている OSF/Motif ソフトウェアに対応しています。

A.1 性能の向上

Open Software Foundation社の目標は, OSF/Motif リリース 1.2の性能を可能な限り向上させ,性能を最低でもOSF/Motif リリース 1.1以下にはさせないことです。

性能テストが以下の3つの分野で行われました。

  • エンドユーザに明白な部分

  • データスペースの使用量

  • メモリの漏れ

ダイアログ・ボックスやポップアップ・メニューの表示や消去のような,ユーザがすぐ気付くイベントの性能は, OSF/Motif リリース 1.1.4の性能と匹敵するかあるいはそれ以上になっています。大量のテストを行った結果,スクロール・テキスト領域内のスクロールが大幅に改善されています。

データ・スペースの使用量については, OSF/Motif ツールキット全体を通じて,特にテキスト・ウィジェットで改善されています。一部のケースでは,データ・スペース使用量は40%も節減されています。またテキスト・ウィジェットでテキストに使われるメモリは,テキストがより少量のテキストに置き換えられたときは,正しく減らされるようになりました。

メモリ・リークは,ツールキット全部のウィジェットで生成と破壊を複数回行っても,最低限に抑えられるようになりました。 Motifテストでは,わずかなメモリ・リークがありましたが, OSFでは,この程度の量のメモリは起動オーバヘッドの一部として必要なもので,本当のメモリ・リークではないと考えています。

しかしOSFでは実際に若干のメモリ・リークを発見しており,将来のリリースでは修正する予定です。たとえば,File Selection Box,Command, Drawn Buttonの3つのウィジェットに,約500 バイトのメモリ・リークがあります。

A.2 下位の互換性

OSFでは,OSF/Motif リリース 1.2のリンク時間の互換性,表示と動作の面での互換性についてテストしました。

A.2.1 表示と動作の面での互換性

OSFでは,自動化されたテストを行って,現在の表示とOSF/Motif リリース 1.1.4 ライブラリを使用して記録されたものとを比較しました。リリース 1.2とリリース 1.1.4 バージョンとの間の違いが解明されてから,表示はリリース 1.2 表示を使用して記録され, この新しく記録された表示がその後のテストで使用されました。

OSF の見解では Motif リリース 1.2 は,表示的にも動作的にもリリース 1.1.4 との互換性があります。ただし OSF は,Traversal and Geometry Management (移動・外形管理) アルゴリズムに大幅な改善を加えたため,両バージョンに違いがでてきています。こうした違いには,以前のリリースでの欠陥を正そうとする努力が反映されています。

このような新しい改善方針のひとつの例として,アプリケーションのマネージャ・ウィジェットの初期サイズ設定が,ツールキットで完全なものになっていることがあげられます。 OSF/Motif リリース 1.1 では,アプリケーションがマネージャ・ウィジェットのために初期サイズを設定しましたが,実際にはこのサイズを使いませんでした。現在のリリース 1.2では,Motifはこのサイズ設定を使い,これに対応して初期レイアウトが変更されるようになっています。

A.3 OSF/Motif リリース 1.2の変更と新機能

この節では, OSFがOSF/Motif リリース 1.2に加えた変更と新機能について要約します。変更についてさらに詳しくは,Motifのリファレンス・ページと,下記の Motif リリース 1.2 改訂版を参照してください。

  • 『OSF/Motif スタイル・ガイド』

  • 『OSF/Motif プログラマーズ・ガイド』

以降の各項では,OSF/Motif リリース 1.2で改善された点について説明します。

A.3.1 ツールキットの全般的変更

この項では,OSF/Motif リリース 1.2 ツールキット全体に加えられた変更について説明します。

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 



A.3.3 ANSI C 準拠

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 では次の表示が変更されています。

  • いくつかのピクセルの3次元斜面表現が変えられています。

  • カラー生成ルーチンが若干変更されています。特に,新しい XmScreenオブジェクトには,省略時設定のカラー生成を調整できるようにするリソースが入っています。しきい値用の省略時の値の一部が,カラー・モニター上でよりコントラストを出すために調整されています。

  • Motifは,List ウィジェットにフォーカスがあり,現在キーボード項目が見えないとき, List内のすべての項目を囲む位置カーソルを加えています。

  • 外形管理の調整のため,レイアウトが多少異なっています。



A.3.9 フレーム用のタイトル

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ファイルを使用して,サーバ・ベンダ名からバインディング・ファイルへマッピングを提供できます。ユーザのベンダ・バインディングとシステム全体のベンダ・バインディングも設定することもできます。


目次 索引

© 2010 Hewlett-Packard Development Company, L.P.