HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
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に加わりました。これは XmTextDisableRedisplayと XmTextEnableRedisplayです。
さらに2つの機能, XmTextFindStringおよび XmTextGetSubstringにより,文字列がさらに操作しやすくなっています。
リリース 1.2では,行き先カーソルは挿入カーソルに従うようになっており,独立しては動かせなくなりました。
XmTextには3つの新しい翻訳があります。
XmTextには次の2つの新しい動作があります。
XmTextおよび XmTextFieldには問題が起こる可能性があります。文字上端がフォントの上に突き出るような文字を含んだフォントまたはフォント・セットで,文字列を表現するときです。このような文字を含んだテキストが強調表示されると,前の行の文字の下に突き出た部分が次の行の文字の上端 (突き出た部分) とオーバラップし,オーバーライトされてしまうことがあります。 |
OSF/Motif リリース 1.2の XmTextFieldウィジェットには新しいリソース XmNfocusCallbackがあります。このリソースは,ウィジェットが入力フォーカスを受け入れるときに呼び出されるコールバックを指定します。
もう1つの新しい機能 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に対して次の改良が加えられています。
OSF/Motif リリース 1.2 ウィンドウ・マネージャには,次の新規または改良されたリソースが含まれています。
OSF/Motif リリース 1.2には,新規および改良された次のMWM機能があります。
OSF/Motif リリース 1.2には,新しいMWM動作がひとつあります。
OSF/Motif リリース 1.2 では,ユーザ・インタフェース言語(UIL)に次のような変更がされています。
-sフラグがある二重引用符で囲まれた文字列の構文解析には重大な問題があります。二重引用符で囲まれた文字列の構文解析でこのフラグを使用する必要がある場合は, OSFからパッチを入手しなければなりません。 |
OSF/Motif の既知の問題について記述されている OSF のファイルが DECwindows Motif のインストレーション時にキットからSYS$HELP:DECW$MOTIF_OSF_BUGLIST_V12.TXT にコピーされます。
ここでは, DECwindows Motif ソフトウェアに含まれている OSF (Open Softoware Foundation) Motif のプログラム例について説明します。
B.1 Cutpaste のプログラム例
この例では,Motif のクリップボードの使用法が示されています。アプリケーションによって定義されたデータ・フォーマットは, XmClipboard API を使用してカット・アンド・ペーストを行うことができます。
2つのcutpasteのクライアント・プログラムを実行して,グラフの値をプルダウン・メニューとポップアップ・メニューを使用して移動してください。
B.2 DNDDemo プログラム例
この例では,ドラッグ・ドロップ機能の典型的な使用法が示されています。
このプログラム例の起動時には,有効なドロップ先はありません。色をドラッグして移動するためのドラッグ元を示す異なったカラーの四角形がまず表示されます。ドロップ先は,次のようにして決めます。
描画領域の内側に作成された四角が色の有効なドロップ先です。たとえば黄色の四角からドラッグを開始して,描画領域の内側にある四角な囲みケイの 1 つまでドラッグしていき,そこでMB2を放すことで,これを確認することができます。
ドラッグを開始するには,ポインタをドラッグ元の上に移動し, BTransferを押したままマウスを移動します (BTransferは省略時の設定では MB2 になります)。カーソルがドラッグ元の四角の色と同じ色のパレットの形に変わったことを確認してください。
ドラッグ中には,次の点に注目してください。
ドロップを行うには MB2を放します。描画領域内の四角な囲みケイの外側やルート・ウィンドウ上でMB2を放すと,ドラッグ・アイコンは一瞬ドラッグ開始のためのポインタに変わってから,消えます。これによって実行しようとしたドロップが失敗したことが分かります。ポインタが描画領域内のいずれかの四角な囲みケイの内側にあるときに, MB2 を放すと,ドラッグ・アイコンは背景に吸い込まれるように消えます。これによってドロップが成功したことが分かります。ドロップが実行された四角な囲みケイの中は,ドラッグされた色で塗りつぶされます。
描画領域内の四角な囲みケイの中は,ドラッグ元として使用することができます。ポインタをいずれかの四角な囲みケイの中からドラッグを開始すると,カーソルが四角形に変わります (四角形の大きさは X カーソルのサイズ制限内で,囲みと同じ大きさか,より小さいものになります)。四角形のカーソルをドラッグして,描画領域内の別の場所にドロップしてください。このようにして元の四角形を新しい場所に移動することができます。
四角形を新しい場所に複写する場合は,ドラッグ中またはドロップを行うときに,適切な変更キーを使用します (現在のところは,Ctrlキーが複写への変更キーとして設定されています)。四角形を変更キーを押さないでドラッグした場合,またはShiftキーを押した場合には,ドラッグを開始した塗りつぶされた四角形は,点線の囲みケイに変わります。この状態は,ドラッグを行っている間中,またはCtrlキーを押して複写モードに変更するまで継続します。 Ctrlキーが押されると点線の囲みケイは,元の四角形に戻ります。
ドラッグ中に取消キー(F11)を押すと,ドラッグを中止することができます。また,Helpキーを押せば,ドロップの成否や可能なドロップ操作についての情報が表示されます。 |
このプログラム例では,Dog ウィジェットおよびSquare ウィジェットを使用します。これはユーザ定義機能を使用して新しいウィジェットをUIL ソースに組み込む方法を説明します。
Dogs プログラム例によって, DogNwagTimeおよびSquareNmakeSquareリソースを動的に変更できるようになります。
サウンド発生機能を持ったシステムをお持ちの場合は,吠えるコールバックをXBell()以外のものにすることもできます。
B.3.1 dog ウィジェット
dog ウィジェット(DogWidget)は,将来のバージョンのMotifとのバイナリ互換性を保つ基本ウィジェットをサブクラスに分ける方法を示すデモです。これは, mResolvePartOffsets()および対応するマクロを使用して, XmResolvePartOffsets マニュアル・ページにある勧告をすべて実行します。
dog ウィジェットは,XmPrimitiveのサブクラスで,吠えたり尾を振ったりできます。もっと面白いしかけが欲しいときは,サブクラスに分けるか,またはup.bm,down.bm,bark.bm をより高度なビットマップに置き換えてください。
dog ウィジェットには,次のリソースがあります。
dog ウィジェットには次のような変換があります。
square ウィジェット(SquareWidget)は,将来のバージョンのMotifとのバイナリ互換性を保つ制約ウィジェットをサブクラスに分ける方法を示すデモです。これは, XmResolveAllPartOffsets()および対応するマクロを使用して, XmResolveAllPartOffsets マニュアル・ページにある勧告をすべて実行します。
square ウィジェットはXmBulletinBoardのサブクラスで,制約リソースを使用して強制的に子をsquare (正方形)にします。
square ウィジェットには SquareNmajorDimension というリソースがあります。このリソースは,子の新しいサイズに使用する寸法を決定します。値は,SquareWIDTHまたはSquareHEIGHTです。
square ウィジェットには SquareNmakeSquare という制約リソースがあります。このリソースは,子を強制的に正方形にするか,好きな形に設定するか決定します。
| 前へ | 次へ | 目次 | 索引 |