この章では、単純なグラフィカルユーザインタフェース (GUI) を持つ OPEN LOOK アプリケーションを Solaris Motif に移植する場合の例について説明します。この例は、2 段階の移植プロセスを示しています。まず、OPEN LOOK ユーザインタフェースオブジェクトを 1 つずつ Motif オブジェクトに変換してから、インタフェースを整列し、CDE スタイルガイドに準拠していることを確認します。
OPEN LOOK ユーザインタフェースから Solaris Motif への移植作業の目標は、GUI を変換すると同時に整列することです。CDE スタイルガイドに慣れてくれば、この作業は簡単に実行できるようになります。また、Motif に関する知識が増えれば、OPEN LOOK オブジェクトと Motif ウィジェットの相関関係も簡単に理解できるようになります。
アプリケーションを移植する場合は、そのユーザインタフェースを調べる機会を設けてください。簡素化できるかどうかや、よりユーザに親しみやすいものにならないかを考えてください。OPEN LOOK ユーザインタフェースから Motif に移行すると、アプリケーションの見た目は変化します。これは、過去に行なった設計上の決定を見直すよい機会になります。
図 7-1 は、OpenWindows 3.4 スナップショットアプリケーションを示しています。このアプリケーションは、Motif ウィンドウマネージャを使用して Solaris CDE デスクトップ上で実行されるので、Motif のタイトルバーが付いています。
スナップショットの GUI はきわめて単純で、次の項目が含まれます。
「読み込み (Load)...」、「保存 (Save)...」、「スナップ (Snap)」、および「表示 (View)...」ボタン
「印刷 (Print)」メニューボタン
「スナップ領域 (Snap Type)」と「遅延秒数 (Snap Delay)」の排他的設定
「ビープ音 (Beep)」と「ウィンドウを隠す (Hide)」のチェックボックス設定
「ドロップ (Drop)」ターゲット
AppBuilder を使用すると、スナップショットの GUI がオブジェクトごとに図 7-2 の GUI に変換されます。
インタフェースの各部分と配置全体が、OPEN LOOK バージョンによく似ていることがわかります。ボタンの形が丸型ではなく四角型になったことを除くと、ボタンは同じです。チェックボックスの見た目は同じです。OPEN LOOK の排他的設定は、Motif のラジオボタンに変更されています (同様に相互に排他的な選択肢を提供します)。ドロップターゲットは、ラベルなしの小さいテキストフィールドに置き換えられています。
このアプリケーションの移植作業をユーザが終了することもできます。機能は失われず、GUI は現在 Motif に表示されています。ただし、次の 2 つの点を確認する必要があります。
移植後のアプリケーションはスタイルガイドに準拠しているか
GUI の設計を変更して、ユーザがより親しみやすいアプリケーションにできるか
『共通デスクトップ環境 スタイル・ガイド』では、アプリケーションに複数のメニューバーを配置することを強く推奨しています。また、「ファイル (File)」、「オプション (Options)」、「ヘルプ (Help)」のメニューが、標準では左から右に配置するとしています (他のメニューも標準と見なされますが、スナップショットアプリケーションには適用されません)。
整列後のバージョンでは、「ファイル (File)」メニューの下に「読み込み (Load)」、「保存 (Save)」、および「印刷 (Print)」ボタンが配置されています。これらは、典型的なファイル操作です。「秒読み中に警告音を出す (Beep During Countdown)」と「スナップ中にウィンドウを隠す (Hide Window During Capture)」はユーザが使用できるオプションなので、「オプション (Options)」メニューの下にあります。これらのチェックボックスのテキストは、画面上で大量のスペースを占めるので、この設計上の決定によってインタフェースがすっきりします。スタイルガイドラインに準拠するために、「ヘルプ (Help)」メニューが追加されています。
『共通デスクトップ環境 スタイル・ガイド』では、アプリケーションの最下部にステータスが表示されるときにはいつも、そこにフッタメッセージを使用することを求めています。これは、スナップショットの GUI に追加されています。
Motif では、ドロップ領域のオブジェクトはサポートされていません。CDE ではドラッグソースオブジェクトがサポートされています。オブジェクトはラベル付きのカメラアイコンとして最終の GUI に表示されます。CDE スタイルガイドラインは、ドロップサポートが必要な場合、アプリケーションのメインウィンドウ内のどこにでもオブジェクトをドロップ可能にするコードを用意しなければならないことを示しています。
最後に、最下部の「スナップ (Snap)」ボタンが強調表示されるときは、ユーザがそのボタンではなく Return キーを押した場合のデフォルト値 (「スナップ (Snap)」と「表示 (View)」の間) であることを示します。
スナップショットの GUI で、ラジオボタンが画面上で大量のスペースを占めます。CDE は、必要な画面スペースが少なく、同じ機能を持つ DtComboBox というウィジェットを提供します。「スナップ領域 (Snap Type)」と「遅延秒数 (Snap Delay)」のラジオボタンは、DtComboBox ウィジェットに置き換えられます。最も一般的に使用される値が、DtComboBox のデフォルトとして表示されます。
OpenWindows デスクトップ用のアプリケーションを開発する場合は、DtComboBox ウィジェットを使用できません。このウィジェットは、OpenWindows 開発環境の一部ではなく、CDE 開発環境の一部です。コンボ・ボックスにアクセスできなくても、人間工学、カスタマのニーズ、整合性などの問題に応じて、ラジオボックスを保持することもできます。