[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ]


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

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

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リリース1.2で改善された点について論じます。

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

本セクションでは,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 ANSI C準拠

caddr_tへの参照がすべてXtPointerに変更されました。 この変更は,caddr_tを参照するすべてのコールバック・ ルーチンやその他のルーチンに影響します。OSFがこの変更をしたのは,OSF/Motif リリース1.2が,ANSI C仕様に準拠するようにするためです。

A.3.3 表示と画面特有のデータ

Motifには,各表示ごとにデータとリソースをサポートする XmDisplayオブジェクトが加わりました。また各画面ごとにデータとリソースをサポートする XmScreenオブジェクトも加えられています。

A.3.4 ドラッグ・ドロップ

OSF/Motifリリース1.2では,データ交換用に「ドラッグ・ドロップ」メタファーをサポートしており, 「ドラッグ・ドロップ」仕様はフルに実現されています。 「ドラッグ・ドロップ」インタフェースについては,リリース1.2 バージョンの『OSF/Motifプログラマーズ・ガイド』を参照してください。


注意
ポップアップ・メニューをポップアップさせるために Btn2を使用すると,「ドラッグ・ ドロップ」は正しく機能しません。この場合,ドラッグ・ドロップを無効にしなければなりません。

A.3.5 ティア・オフ・メニュー

ティア・オフ・メニューを使用すると,ユーザは,表示領域にメニューを保留しておいて次の選択を行うことができます。 個々のtearできる(引きはがせる)メニュー枠がティア・ オフ・ボタンとなっています。ティア・ オフ・ボタンでマウスのドラッグ・ボタンを押すと枠が引きはがされてドラッグでき, マウスのドラッグ・ボタンを離した場所に設置できます。ウィンドウ・ マネージャは,ティア・オフ・メニュー枠にメニュー・ボタンおよびタイトルを付けます。 ティア・オフされたメニューのウィンドウ枠へのフォーカスの移動は, 標準的なウィンドウ・マネージャの場合と同様です。

ティア・オフ動作は,XmNtearOffModelリソースを, XmTEAR_OFF_ENABLEDに設定することで可能となります( 省略時設定はXmTEAR_OFF_DISABLED )。

XmNtearOffModelによってあらかじめ登録されているリソース・ コンバータがないことに注意してください。ティア・オフ機能をリソース・ データベースを通じてオンにできるよう,アプリケーションは, XmRepTypeInstallTearOffModelConverter機能を使用して, XmNtearOffModelリソース用のアプリケーション自身のリソース・ コンバータを登録しなければなりません。

コンバータが自動的にインストールされない理由は,メニュー内の項目の感度を動的に設定するために, 多くのアプリケーションがマップやカスケードするコールバックを使用しているからです。 ただしティア・オフ・メニューがマップされると, 他のアプリケーションの状態の変更を反映するよう, メニュー項目の感度を直ちに変更しなければなりません。既存のアプリケーションが, このようにメニュー項目の感度を変更することはないでしょう。 このため,メニューをティア・オフできるようにすると予期しない時に機能がオンとなることがあります。 ユーザがこれらのメニュー項目のひとつをアクティブ化すると, アプリケーションがクラッシュしたり, 不変データが損なわれることもあります。

A.3.6 非依存表示

Motifでは,構成要素がユーザからの入力に応答できるかどうかを示す表示が用意されています。 以前のMotifリリースではラベルやボタンがこの動作をしていました。OSF/Motif リリース1.2ではこの動作は次のウィジェットに拡大されています。

XmArrowButton
XmList
XmScrollBar
XmText
XmTextField

A.3.7 他の表示の変更

OSF/Motifリリース1.2では次の表示が変更されています。

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

OSF/Motifリリース1.2では,FrameウィジェットでTitleウィジェットを指定できます。 リリース1.2には,Frame内のタイトルの位置と配置の指定のための次の新しい制約リソースが加えられています。

XmNchildHorizontalAlignment
XmNchildHorizontalSpacing
XmNchildType
XmNchildVerticalAlignment

A.3.9 警告音

VendorShellの新しいリソースXmNaudibleWarningでは, 警告メッセージに音をつけるかどうか指定できます。Textウィジェットが, XmNaudibleWarningの値から,このリソース用の値を決定します。

A.3.10 色の改良

次の3つのリソースがXmScreen ウィジェットに加えられました。 これはユーザが,省略時設定の背景色および影計算のためのしきい値を指定できるようにするためです。

XmNlightThreshold
XmNdarkThreshold
XmNforegroundThreshold

Motifには,指定のウィジェットの背景その他の色を変更する, XmChangeColor機能が加えられています。

A.3.11 ベース行の位置合せ

Motifは,ベース行の位置合せ用の2つの機能を加えました。 XmWidgetGetBaselines機能は,ウィジェットのテキスト・ ベース行の位置を決定します。また XmWidgetGetDisplayRectは,ウィジェットの文字列用の境界ボックスのサイズと位置を決定します。

A.3.12 拡大移動セット

OSF/Motifリリース1.2で,キーボードを使用した移動(traverse)をサポートするウィジェットの数が増えました。 例えばタブ・グループ内でユーザは, 入れ子になったタブ・グループに含まれず,フォーカスを受ける資格をもつすべての派生制御に対して, たとえそれが直接の「子」ではない場合でも, 矢印キーを使用して移動できるようになりました。

A.3.13 2次元のメニュー内の移動

OSF/Motifリリース1.2では,左右,上下方向の移動矢印がメニュー枠の内部で動き回れるようになりました。 上下方向の矢印キーがカラムの間をラップします。 左右方向の矢印キーは,メニュー枠でカラムの右端かまたは左端で押されると, それぞれ前かまたは次のメニュー枠を表示します。

A.3.14 入力フォーカス

OSF/Motifリリース1.2は, ManagerクラスにXmNinitialFocus リソースを加えました。 このリソースは,入力フォーカスを受ける最初のウィジェットを指定します。 このリソースではウィジェットのみを指定でき,ポップアップメニュー, メニュー・バー,オプション・メニュー,プルダウンメニューについてはすべて無視されます。

A.3.15 移動アクセス機能

OSF/Motifリリース1.2は,キーボードによる移動との対話サポートを向上するために次の新しい機能を加えています。

XmGetFocusWidget
XmGetTabGroup
XmGetVisibility
XmIsTraversable
XmIsVisible

次のことを行なうためにXmTrackingLocate機能が変更されました。

さらに,XmTrackingEvent機能が加えられました。 この機能は,Xイベントに対してポインタを戻すこと以外は, XmTrackingLocateに類似しています。

A.3.16 仮想キー

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.17 リソース管理

OSF/Motifリリース1.2には,表現タイプ管理用の次のような新しい機能があります。

XmRepTypeRegister
XmRepTypeAddReverse
XmRepTypeValidValue
XmRepTypeGetRegistered
XmRepTypeGetId
XmRepTypeGetNameList
XmRepTypeGetRecord

以上の機能は,列挙された値を使用する新しいリソース・コンバータの定義をしたい開発者にとって便利なものです。

A.3.18 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に,intlongに, そして(int *)(long *)にそれぞれ変更されました。 この修正によって,次の関連機能が影響を受けます。

A.4.2 XmCommand

OSF/Motif リリース1.2で,XmCommandGetChildXmDIALOG_ 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リストの最初の項目ではなく, 最後の項目の上に現われます。

A.4.4 XmMessageBox

OSF/Motifリリース1.2では, MessageBoxは,MenuBar,ひとつ,作業領域ひとつ, そして複数の子PushButtonの追加をサポートしています。

新しいダイアログ・タイプ XmDIALOG_TEMPLATEは,Separatorひとつだけを含む MessageBoxを生成します。アプリケーションが追加の子を用意します。

XmCreateTemplateDialogは,DialogShell内に XmDIALOG_TEMPLATE XmMessageBoxを生成します。

A.4.5 XmRowColumnとメニュー

OSF/Motifリリース1.2では,縦位置合せスタイルを指定する新しいリソース XmNentryVerticalAlignmentが加わっています。

もうひとつのリソース XmNunpostBehaviorが,XmScreenオブジェクトに加えられています。 このリソースを設定すれば,メニューを消去した後の外部ボタン・ イベントのリプレイをオンにできます。

A.4.6 XmScrollBar

OSF/Motifリリース1.2では,XmScrollBarに次の新しい翻訳が加わっています。

A.4.7 XmScrolledWindow

OSF/Motifリリース1.2には,XmScrollVisible機能が加わっています。 これは自動的にスクロールされたウィンドウをスクロールして, 部分的または完全に隠れてしまったウィジェットを見えるようにする機能です。

もうひとつのリソースXmNtraverseObscuredCallbackも加わっています。 このリソースは,見えないウィジェットに移動イベントが要求されたときに呼び出されるコールバックのリストを指定します。 新しいコールバック構造 XmTraverseObscuredCallbackStructがこのコールバックをサポートするために加えられました。

A.4.8 XmSelectionBox,XmFileSelectionBox

OSF/Motifリリース1.2の,XmSelectionBoxウィジェットおよび XmFileSelectionBoxウィジェットは, 子MenuBar と子PushButton ,子作業領域の追加をサポートしています。

新しいリソースXmNchildPlacementが子作業領域の位置を制御します。

XmDIALOG_TEMPLATEの値が,XmNdialogTypeリソースに加えられました。

省略時設定では,XmSelectionBoxDialogとそのサブクラスは, XmTextではなくXmTextFieldを使います。 アプリケーションがXmSelectionBoxまたはそのサブクラスのいずれかを作成するときに, USE_TEXT_IN_DIALOGSを定義すれば以前の動作に復帰できます。

A.4.9 XmText

OSF/Motifリリース1.2には,ウィジェットを更新変更するための2つの機能が XmText に加わりました。これはXmTextDisableRedisplayXmTextEnableRedisplayです。

さらに2つの機能,XmTextFindStringおよび XmTextGetSubstringにより,文字列がさらに操作しやすくなっています。

リリース1.2では,行き先カーソルは挿入カーソルに従うようになっており, 独立しては動かせなくなりました。

XmTextには3つの新しい翻訳があります。

XmTextには次の2つの新しい動作があります。


注意
XmTextおよび XmTextFieldには問題が起こる可能性があります。文字上端がフォントの上に突き出るような文字を含んだフォントまたはフォント・ セットで,文字列を表現する時です。このような文字を含んだテキストが強調表示されると, 前の行の文字の下に突き出た部分が次の行の文字の上端(突き出た部分)とオーバラップし, オーバーライトされてしまうことがあります。

A.4.10 XmTextField

OSF/Motifリリース1.2のXmTextField ウィジェットには新しいリソース XmNfocusCallbackがあります。このリソースは, ウィジェットが入力フォーカスを受け入れるときに呼び出されるコールバックを指定します。

もうひとつの新しい機能XmTextFieldGetSubstringは,長さによってサブ文字列をウィジェットから取り出します。

リリース1.2では,行先カーソルは挿入カーソルに従うようになり,独立しては動かせなくなりました。

XmTextFieldには2つの新しい翻訳があります。

A.4.11 XmToggleButton,XmToggleButtonGadget

OSF/Motifリリース1.2では,XmNindicatorOnが偽のときに XmNfillOnSelectを真に設定すると, XmToggleButtonセットの背景を XmNselectColorで満たすようになっています。

XmNfillOnSelectの省略時設定値は, XmNindicatorOnの状態に適合するような動的な値です。

A.5 Motifウィンドウ・マネージャの改良

本セクションでは,Motifウィンドウ・マネージャ(MWM)に行なわれた改良について要約します。

A.5.1 MWMに対する変更

OSF/Motifリリース1.2では,MWMに次の改良が加えられています。

A.5.2 新規または改良されたMWMリソース

OSF/Motifリリース1.2ウィンドウ・マネージャには,次の新規または改良されたリソースが含まれています。

A.5.3 新規および改良されたMWMの諸機能

OSF/Motifリリース1.2には,新規および改良された次のMWM機能があります。

A.5.4 MWMの新しい動作

OSF/Motifリリース1.2には,新しいMWM動作がひとつあります。

A.6 ユーザ・インタフェース言語(UIL)の変更

OSF/Motifリリース1.2では,ユーザ・インタフェース言語(UIL)に次のような変更がされています。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ]