共通デスクトップ環境 スタイル・ガイド

拡張可能なウィンドウのコンポーネント

拡張可能なウィンドウまたはダイアログ・ボックスを作成するには、標準の Motif ウィジェットを、状態変数や、その動作を支配するいくつかの単純な規則と組み合わせて使用します。ウィンドウそのものの内容を構成するアプリケーション定義のコントロールと表示に加えて、次のように主区画と副区画を使用します。

主区画と副区画

主区画は、アプリケーションのほぼすべてのエンド・ユーザが必要とする中核機能、あるいは基本機能を含んでいなければなりません。主区画は、ウィンドウまたはダイアログのメイン・コンポーネントである標準の Motif コンテナです。拡張可能なウィンドウが最初に表示された時点では、主区画だけが表示されています。ユーザは、[拡張] ボタンを使用することで、ウィンドウまたはダイアログのすべての機能へのアクセスを提供する副区画を表示できます (図 7-2 を参照)。

図 7-2 [追加設定の表示] 拡張ボタン時のカレンダの [アポイントエディタ] の主区画

Graphic

副区画の拡張

副区画は、他のオプションや拡張機能のためのスペースを提供し、主区画の中核機能の難易度を高めないようにするという役割を果たします。副区画は縦または横に拡張されます。拡張の方向を決定する際には、次の点を検討してください。

推奨 

fr: 

副区画は、ユーザの予想、表示される言語における文字の読み方、および表示される情報の内容との一貫性が最も高い方向に拡張されなければならない。 

推奨 

fs: 

可能ならば、区画のデフォルトの幅は同一であるべきである。 

必須 

ft: 

主区画を副区画から区切るためのセパレータを使用する。 

どの要素が主区画に属しており、どの要素が拡張可能なウィンドウの副区画に属しているのかという点について、明確な視覚的フィードバックをユーザに与える必要があります。 

拡張されたウィンドウまたはダイアログのサイズの変更

必須 

fu: 

ウィンドウのサイズが変更可能な場合、サイズの変更は、表示されている長さが格納されている長さよりも小さいようなスクロール・リストまたはテキスト・フィールドを含んでいる区画に割り当てられなければならない。両方の区画がスクロール可能なコントロールを含んでいる場合、サイズの変更は 2 つの区画の間で均等に割り当てられる。どちらの区画もスクロール可能なコントロールを含んでいない場合、ウィンドウはサイズ変更が不可能であるべきである。 

図 7-3 [追加設定の非表示] 拡張ボタン時のカレンダの [アポイントエディタ] の主区画と副区画

Graphic

拡張ボタン

拡張ボタンは副区画の表示に使用されます。拡張ボタンは、ウィンドウの状態に応じて変化するラベルを持つ、Motif の標準の描画ボタンです。2 つの状態のボタン・ラベルは、ユーザに何が起こるのかを通知する内容でなければなりません。たとえば、ウィンドウを閉じているときは [オプション]、開いているときは [基本] というラベルを付けます。[オプション] をクリックすると下部の区画が表示されます。[基本] ボタンをクリックすると、下部の区画が隠されます。ラベルは [拡張] と [縮小]、[拡大] と [縮小]、[基本] と [オプション] のように、対照的な内容でなければなりません。

必須 

fv: 

拡張可能なウィンドウは、ウィンドウの状態に応じてラベルが変化するボタンを 1 個持っていなければならない。 

必須 

fw: 

拡張ボタンは、拡張可能なウィンドウの 2 つの状態を正確に反映する 2 つのラベルを持っていなければならない。現在のラベルは、ユーザがボタンをクリックしたときに何が起こるのかを、ユーザに通知するものでなければならない。 

ラベルの例としては、[基本] と [オプション]、[拡張] と [縮小]、[追加設定の表示] と [追加設定の非表示] などが考えられます。 

オプション 

fx: 

拡張ボタンは、ラベルに加えてグラフィックを含むことがある。このグラフィックは、ウィンドウが拡張または縮小する方向を示す。 

拡張ボタンの配置

推奨 

fy: 

ボタンは、縦方向の拡張の場合には、ウィンドウまたはダイアログ・ボックスの左下隅に、横方向の拡張の場合には右下隅に表れる。 

必須 

fz: 

ウィンドウまたはダイアログ・ボックスが、区画の右端に置かれたスクロール・リストを含んでいる場合は、描画ボタンをスクロール・バーと揃えて配置しないようにする。たとえば、ボタンはスクロール・バーではなく、リストに揃えて配置する。 

ウィンドウの状態

必須 

ga: 

アプリケーションは、個々のウィンドウまたはダイアログ・ボックスの状態 (拡張されているかどうか) を個別に (まとめてではなく) 記憶しておく必要がある。状態はユーザによってのみ変更され、ユーザが明示的に変更するまでは必ず保存されていなければならない。 

推奨 

gb: 

アプリケーションが実行されるたびに、ユーザが拡張可能なウィンドウを手動で構成しなくて済むように、アプリケーションは個々の拡張可能なウィンドウまたはダイアログ・ボックスの状態を、セッション間でも記憶しておくべきである。 

アプリケーションは、ユーザが拡張可能なウィンドウの状態を、アプリケーションに対してグローバルな形で設定できるような機能を提供することもできます。これはアプリケーションの [オプション] の一部として用意することになります。