API は異なりますが、XView と Motif はユーザインタフェースのプログラミングに関して、次のように同じオブジェクト指向方法論に基づきます。
ツールキットを初期化する
ユーザインタフェースオブジェクトをインスタンス化する
イベントループに入り、ユーザがユーザインタフェースオブジェクトに関するイベントを生成するまで待つ
すべての関数呼び出しを一方の API から他方へ変換しなければならない場合でも、XView から Motif に移植されるプログラムの構造全体はそのまま保持できます。
XView と Motif は、共通タイプのユーザインタフェースオブジェクトをサポートするユーザインタフェースツールキットです。ただし XView では、1 つの XView オブジェクトと同等の効果を生むために、これらのオブジェクトの多くは複数の Motif ウィジェットを必要とする上位に実装されます。
表 5-3 は、XView の共通オブジェクトの基本マッピングと、対応する Solaris Motif ウィジェットを示します。
表 5-3 共通オブジェクトの基本マッピング
対応する Solaris Motif ウィジェット |
|
---|---|
ベース・フレーム |
XmTopLevelShell + XmMainWindow |
コマンド・フレーム |
XmDialogShell + XmBulletinBoard |
確認 |
XmDialogShell + XmMessageBox (メッセージダイアログ) |
キャンバス |
XmScrolledWindow + XmDrawingArea |
パネル |
XmBulletinBoard または XmForm |
パネル・ボタン |
XmPushButton |
メニュー・ボタン |
DtMenuButton (OpenWindows 環境ではアクセスできない) |
アブリビエイト・メニュー・ボタン |
XmRowColumn (オプションメニュー) |
チェックボックス |
XmRowColumn + XmToggleButtons (チェックボックス) |
排他的選択肢 |
XmRowColumn + XmToggleButtons (ラジオボックス) |
スクローリング・リスト |
XmScrolledWindow + XmList |
メッセージ |
XmLabel |
スライダ |
XmScale |
テキストフィールド |
XmTextField |
数値テキストフィールド |
DtSpinBox (OpenWindows 環境ではアクセスできない) |
テキスト・サブウィンドウ |
XmScrolledWindow + XmText (スクロールテキスト) |
TTY サブウィンドウ |
XmScrolledWindow + XmTermPane、 DtTerm (OpenWindows 環境ではアクセスできない) |
スクロールバー |
XmScrollBar |
ポップアップ・メニュー |
XmMenuShell + XmRowColumn (ポップアップメニュー) |
プルダウン・メニュー |
XmMenuShell + XmRowColumn (プルダウンメニュー) |
プルライト・メニュー |
XmMenuShell + XmRowColumn (プルダウンメニュー) |
ファイルチューザ |
XmDialogShell + XmFileSelectionBox |