HP OpenVMS Systems Documentation |
[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ]
本章では,メニューの設計について説明します。本章は『OSF/Motifスタイル・ ガイド』の内容を補うものであり, 次の内容について説明します。
本章ではOSF/Motifの「ファイル」,「選択」,「編集」,「表示」, 「オプション」,「ヘルプ」等のメニュー,およびメニューへ追加するのが望ましいメニュー項目についても説明します。 さらに,「ウィンドウ」メニューとそれぞれの使用アプリケーション固有のメニューを含めることも可能です。
「ファイル」,「選択」,「編集」,「オプション」のような共通のメニューには, 標準の用語を使用してください。左から右への言語環境の場合, 「ファイル」を一番左に,続いて,「選択」,「編集」のガイドラインに従った順序でメニューを配置してください。 アプリケーション固有のメニューは「編集」の後にきます。 「表示」,「オプション」, 「ヘルプ」メニューはアプリケーション固有のメニューの右側に配置します。 「オプション」と「ヘルプ」メニューは一番右に配置してください。 「ウィンドウ」メニューを含める場合は,「オプション」と「ヘルプ」メニューの間に配置してください。 例として図 2-1を参照してください。
「ヘルプ」メニューをメニュー・ バーの一番右に配置するには, XmNmenuHelpWidgetを「ヘルプ」カスケード・ボタン名に設定します。
追加のメニュー・バー項目は,「編集」の後,「ヘルプ」の前に配置してください。 「表示」メニュー・バーの項目がある場合は,追加項目の大部分を「編集」と「表示」の間に配置してください。 このようにすると,左側に現われる「ファイル」, 「選択」,「編集」メニュー,右側に現われる「表示」, 「オプション」,「ヘルプ」のメニューに慣れるようになります。 図 2-2にアプリケーション固有のメニュー・ バー項目2つを示します。
メニューとメニュー項目を作成する場合,メニュー項目と同じ名前をメニュー名に使用することは避けてください。 たとえば,「貼付け」は「編集」メニュー内のメニュー項目名なので, メニュー・バーの中に「貼付け」メニューを作成してはいけません。
テキストの表現方法(大文字の使用と句読点など)については,第1.6節のガイドラインに従ってください。
メニュー名およびメニュー項目名にはユーザがよく知っている用語を使用してください。 たとえば,簡単な作図ツールを設計する場合には chamber や bevel といった用語は避けてください。ただし, グラフィック・アーティスト用の作図ツールを設計する場合には, これらの用語を使用しても構いません。どの用語を使用する場合も,各メニュー名およびメニュー項目名は, それぞれ区別できるものを使用します。 選択したメニュー名とメニュー項目名を実際に使用するユーザに検討してもらい, それらが明瞭ではっきり区別できるものであることを確認してください。
それぞれのメニューとメニュー項目にはニーモニックを与えてください。 また,よく使用されるメニュー項目にはアクセレレータを与えてください。
ニーモニックとアクセレレータを作成する際には, 次のコード例を使用してください。
object copy_button : XmPushButton { arguments { XmNlabelString = "Copy"; XmNaccelerator = "Ctrl<Key>Insert"; XmNacceleratorText = "Ctrl+Ins"; XmNmnemonic = keysym("C"); }; };
メニューとメニュー項目の編成方法は,アプリケーションによって異なります。 次のガイドラインを参考に編成を行ってください。
メニュー項目はテキスト,グラフィックのいずれからでも構成することができます。 また,メニュー項目は複数行にわたってもかまいません。1 つのメニュー内では,水平セパレータ(線)を使用してメニュー項目をグループ化します。 たとえば,文書を編集するためのメニューでは, グラフィックスに関するメニュー項目のグループと,テキストに関するメニュー項目のグループをセパレータで区分します。
つまり,関連する複数の項目を1つのグループにまとめて,水平セパレータで各グループを区分します。 グループの構成を決める際には,実際に使用するユーザの意見を参考にしてください。
一般に,最も頻繁に使用するコマンドをメニューの最初に配置し,使用する頻度の最も少ないものを最後に配置します。 設計およびテストの際には実際に使用するユーザも交えて, どのメニュー項目の使用頻度が高いかを調査してください。
また,メニュー項目のグループ化を行った後,それぞれのグループ内のメニュー項目を使用頻度に応じて配置してください。 ただし例外として, ウィンドウ・メニューの「クローズ」の位置と合わせるために, 使用頻度の高い「終了」と「クローズ」をメニューの一番下に配置することもあります。
たとえば,メニュー項目をアルファベット順に並べたり,数値のメニュー項目を最小値から最大値の順に並べたりします。
たとえば,同一メニュー内に「表示する」と「閉じる」,「取消」と「再実行」を入れます。 また,状況によってメニュー項目を変化させます。 たとえば,「取消」メニュー項目は,ユーザが「取消」操作を終了すると「再実行」に変わるように設定します。
メニューに関してユーザが最もよく起こすトラブルの1つにoff-by-one エラーがあります。このエラーは,ユーザが選択しようとしたメニュー項目の隣のメニュー項目を誤って選択することです。 ユーザが意図したものの上または下のメニュー項目を選択した場合にどのような結果になるか注意してください。 使用頻度の高いメニュー項目の隣りに破壊的な機能を実行するメニュー項目を配置する場合は, 破壊的なメニュー項目を選択した際にユーザがその破壊的機能を取り消すことができるように設定するか, 質問ダイアログ・ボックスを設定して,破壊的な機能を本当に実行するかどうか再確認するように設定してください。
オンラインまたはハードコピーの形でメニュー・マップを提供するのもよいでしょう。 製品のなかにはすべてのメニューとメニュー項目を1 つのマップとして提供するものや,各メニューとそれに関連するサブメニューごとに個別の図を提供するものがあります。 図 2-3は1つのメニューとそれに関連するサブメニューのマップの例です。
水平反復記号(...)を付け、ボタンを押すとユーザ側である操作を行う必要があるダイアログ・ ボックスまたはウィンドウを起動できることを示します。 たとえば、印刷を行う際に,まずメニュー項目を選択してダイアログ・ ボックスを起動し,次にプリンタ情報を入力してファイルを印刷する場合は, 「印刷...」メニュー項目を使用します。
「ヘルプ」では操作が要求されませんので,「ヘルプ」プッシュ・ボタンまたは「ヘルプ」メニュー項目には反復記号は使用しないでください。 オンライン・ ヘルプの設計についての詳しい説明は,第5章を参照してください。
カスケード・ボタンで反復記号を設定する場合,常にカスケード・メニュー項目で反復記号を使用します。 図 2-4にカスケード・ ボタンに反復記号を使用した適切な方法を示します。
一定の間,あるメニュー項目をユーザが使用できないように設定することができます。 つまり,メニュー項目を無効にすることができます。ユーザは使用できないように設定したメニュー項目を選択することはできません。 図 2-5は使用できないメニュー項目の例です。
メニュー項目を使用できないように設定するには,XtSetSensitive をウィジェットID で呼び出してください。
アプリケーションに含まれる機能をユーザが見ることができるように,すべての項目が使用できなくても, メニューまたはサブメニューはすべて表示するように設定してください。 ただし,このガイドラインは,ポップアップ・ メニューに対しては必ずしも適用されません。ポップアップ・メニューについてのガイドラインは, 第2.5節を参照してください。
アプリケーションが標準メニュー項目をサポートしない場合,そのメニュー項目は表示しないでください。 たとえば,あるアプリケーションで「すべて選択」メニュー項目をサポートしない場合は, メニューの中に「すべて選択」を入れてはいけません。
メニュー項目を使用できないように設定するかどうかについては,次のガイドラインを参考にしてください。
たとえば,ユーザが切抜きの対象を選択していない場合は,「編集」メニューの中の「切抜き」メニュー項目を使用できないように設定します。 また,ユーザが最後の操作を取り消すことができない場合は,「取消」メニュー項目を使用できないように設定します。
たとえば,ユーザがすべての項目をすでに選択している場合でも, 「すべて選択」メニュー項目を使用できないように設定してはいけません。 「すべて選択」を使用できないように設定することは,ユーザを混乱させる結果となる可能性があるため最善の方法とは言えません。
メニュー項目の中にはダイアログ・ボックスを起動するものがあります。 このようなメニュー項目を使用できないように設定するかどうかは,起動されるダイアログ・ ボックスがモード付きであるかモードなしであるかによって決定します。
ただし,ダイアログ・ボックス上の「了解」および「適用」プッシュ・ ボタンは使用できないように設定します。ダイアログ・ボックスがモードなしの場合, 操作を行うことが意味のないダイアログ・ボックスに対して, 意味があるようにユーザが変更することが可能です。 その時点で,ダイアログ・ボックス上の「了解」および「適用」プッシュ・ ボタンを使用できるように設定してください。
たとえば,グラフィック・エディタに「行揃え」というメニュー項目があり, その項目はモードなしダイアログ・ボックスを起動するとします。 この場合,ユーザが行揃えする対象のオブジェクトを作成あるいは選択していない場合も, 「行揃え」をクリックした際には関連するダイアログ・ ボックスを表示するように設定しなくてはなりません。 ユーザが行揃えするオブジェクトを作成あるいは選択していない場合は, ダイアログ・ボックス内の行揃えを実行するプッシュ・ボタンを使用できないように設定します。 しかし,ユーザがオブジェクトを作成したり選択した場合には, その時点でプッシュ・ボタンを使用できない状態から使用できるように変更してください。
ポップアップ・メニューは,プルダウン・メニュー項目へアクセスするためのショートカットを提供します。
MB3を押すとポップアップ・メニューが現在のポインタ位置に表示されます。 このため,ユーザはマウスを遠くまで動かす必要がありません。ポップアップ・ メニューを使用することによって,処理中の作業を中断せずにメニューを選択することができます。 プルダウン・メニューやダイアログ・ ボックスを使用するにはマウスを頻繁に移動させる必要があり,生産性が低下します。
ポップアップ・メニューが次の機能をもつように設計してください。
ポップアップ・メニューはメニュー項目を簡単に選択するための方法であって, そのメニュー項目を選択する唯一の方法であってはいけません。
たとえば,省略時のMotifルート・ウィンドウ・メニュー用のポップアップ・ メニューには「ルート・ウィンドウ」というタイトルが付いています。 図 2-6はタイトルのないポップアップ・ メニューの例です。
ポップアップ・メニュー内の項目は,次のいずれかの方法で並べてください。
どの項目が最もよく使用されるかを決定する際には,ユーザを交え, 実際にユーザが選択したコマンドの記録からアプリケーションを分析してください。 ポップアップ・メニューにもセパレータを使用するとよいでしょう。
図 2-6に示すポップアップ・メニューは論理的な順序で並べた例です。
アプリケーションのうち最もよく使うメニュー項目をポップアップ・メニューに入れてください。 ポップアップ・メニューには異質の機能のグループが含まれていても構いません。 ポップアップ・メニューは操作を素早く行うためのものなので, プルダウン・メニューほど厳密な編成は必要ありません。
ポップアップ・メニューは次のどちらかの形態にしてください。
この場合,ユーザがメニューを選択する時の状況に応じて,不適切な項目を使用できないように設定してください。
たとえば,グラフィック・エディタのユーザが図形オブジェクトを選択した場合に表示するポップアップ・ メニュー,テキストを選択した場合に表示するポップアップ・ メニューなど,状況に応じたいくつかのポップアップ・ メニューを作成します。状況に応じたポップアップ・ メニューを作成しても,一部のメニュー項目を使用できないように設定する必要が発生することも考えられます。
オブジェクトが選択されている場合は次のガイドラインに従ってください。
ただし,選択されていたオブジェクトをユーザが消去した場合は,そのオブジェクトは以前の状態とは異なったものとなります。
たとえば,ユーザが2つのオブジェクトを選択しオープンできるようにするなら, 必ずそれらを別々のウィンドウにオープンするようにください。 ユーザが2つのオブジェクトを消去したい場合,必ず両方とも消去するようにしてください。
オブジェクトが選択されていない場合は,次のいずれかの方法をとってください。
ポップアップ・メニューを使用することによってユーザはアプリケーションの機能に速く, 簡単にアクセスすることができます。また,モードなしダイアログ・ ボックスやプッシュ・ボタンをもつコントロール・パネルも同様の役割をはたします。 コントロール・パネルと作業領域の間でマウスを移動することが望ましくない場合は, ポップアップ・メニューを使用してください。 制御ボタン類を常に表示しておくのが望ましい場合は,コントロール・ パネルまたはモードなしのダイアログ・ボックスを使用してください。 また,ティア・オフ・メニューを使用して,ユーザに制御ボタン類を常に表示状態にしておく選択の余地を与えることも可能です。 ティア・ オフ・メニューについては第2.6節を参照してください。
ポップアップ・メニューにサブメニューを組み合わせる場合は,次のガイドラインに従ってください。
図 2-7はサブメニューを含むポップアップ・ メニューの例です。
ティア・オフ・メニューは,切り取って2次ウィンドウにできるものです。 メニューがティア・オフされた後に,ダイアログ・ボックスと同じようにユーザはそれを動かし, 使用することができます。
メニューがティア・オフされた場合,直接アクセスが可能な別々のウィンドウに表示されます。 ティア・オフ・メニューは,メニューの構成要素が何回も連続して起動できる場合に使用します。 プルダウン,オプション, カスケード,ポップアップのすべてのメニューがティア・オフ・メニューになりえます。
たとえば,「オープン」と「クローズ」の項目や,異なる表示を含められる「表示」プルダウン・ メニューは,ティア・オフ・メニューに適している例と言えます。 それほど頻繁には使用されない「オプション」プルダウン・ メニューの大部分はこのティア・オフ・メニューには向かないでしょう。 ただし,デスクトップ・パブリッシング・アプリケーション用のフォント・ ファミリとサイズを設定する「オプション」メニューは,ティア・ オフ・メニューの使用に適する例です。
コンテキスト依存で,ポインタの位置によって変わる項目が含まれているポップアップ・ メニューからティア・オフ・メニューを作成することは避けてください。
メニューのティア・ オフ属性を設定するために,プルダウン・メニューに対するXmNtearoffModel リソースを設定してください。
XmPulldownMenu { arguments { XmNtearoffModel = XmTEAR_OFF_ENABLED; }; };
「ファイル」メニューはファイルを管理するコマンドを提供します。「ファイル」メニューはメニュー・ バーの一番左に配置し,(F)というニーモニックをつけてください。 このニーモニックの使用により,ユーザはキーボードでキー1 文字を押してメニュー項目を選択することが可能になります。 ニーモニックには下線をつけてください。
Motifでは「ファイル」メニューに次のメニュー項目を使用することを推奨します。
次の項目を加えると「ファイル」メニューがさらに使いやすくなります。
図 2-8は,DECの提供する追加メニューを加え, 推奨する順序でメニュー項目を並べた「ファイル」メニューの例です。
次の操作内容に従ってメニュー項目をグループ化してください。
各「ファイル」メニュー項目の機能は次のとおりです。
「新規」メニュー項目を選択するときにすでにファイルをオープンしている場合は, 質問メッセージ・ボックスを表示して,すでにオープンしているファイルを保管するかどうか質問してください。 図 2-9はこのような質問メッセージ・ ボックスの例です。
「オープン...」メニュー項目を選択した際にすでに他のファイルをオープンしている場合には次の2 つの処理のいずれかを行うことができます。
複数のバージョンのファイルを保管しないオペレーティング・システム( たとえば,UNIXやWindows NTオペレーション・システム)でアプリケーションを実行する場合は, 指定した名前でファイルを保管すると常に既存ファイルが上書きされてしまうことを警告するメッセージ・ ボックスを表示することができます。 アプリケーションを様々なプラットフォームで実行する場合は, この警告メッセージの表示の有無を設定できます。
ユーザは「別名保管...」を選択すると,通常現在のファイルと同じディレクトリに新規に名前を付けたファイルの保存を希望します。 「別名保管... 」操作でファイル選択ボックスを使用する場合は,初めにディレクトリを設定してオープンしたファイルのディレクトリに一致させてください。 ユーザが「別名保管...」操作を前に実行している場合は,ディレクトリはその前の状態のままにしてください。
図 2-12は,復帰メニュー項目を起動して表示したダイアログ・ ボックスの例です。
最後に残った1次ウィンドウをクローズすることは,アプリケーションを終了することと同じです。 最後の1次ウィンドウの設定については次のガイドラインを参考にしてください。
ユーザが最後のウィンドウをクローズするとデータを消失するおそれがある場合は, 変更を保管するように促すメッセージ・ボックスを表示してください。
「選択」メニューはオプションです。これにはウィンドウで選択したオブジェクトを参照する項目が含まれます。 たとえば,電子メールのアプリケーションでは, 選択済みのオブジェクトには,ドロア,フォルダ,あるいはメッセージを含めることができます。 ユーザは一連の電子メールのフォルダを選択してから, 「選択」メニューを表示することになります。このメニュー項目は選択済みのフォルダに適用されます。
図 2-13に7つのメニュー項目をもつ「選択」メニューを含んだ標準メニュー・ バーの例を示します。使用アプリケーションに適切な異なるメニュー項目を使用することができます。
「ファイル」メニューは,「選択」メニューと異なっている点に注意してください。 「ファイル」メニューでは,これと似たような操作と同様,アプリケーション全体に適用されます。 一方,「選択」メニュー項目は,ユーザが単に選択したオブジェトだけに適用されます。
いくつかの表示の中の1つでオブジェクトがオープンできる場合は,「選択」メニュー項目にカスケード・ メニューを使用するとよいでしょう。たとえば, ユーザがアイコンまたは階層構造表示のいずれかでディレクトリをオープンできる方がよいと考える場合は, 一般的な「オープン」メニュー項目の代わりに, カスケード・メニューを使用してください。
Open-> Icon View Tree View
「編集」メニューは,ユーザがファイル内,または複数のファイル間でテキストやグラフィックを操作できるコマンドを提供するメニューです。 「編集」メニューは「ファイル」メニュー,または設定されている場合は, 「選択」メニューのの右に配置して,(E)というニーモニックをつけてください。
Motifでは「編集」メニューに次のメニュー項目を使用することを推奨します。
次の項目を加えるとさらに使いやすくなります。
図 2-14は追加メニュー項目をつけた「編集」メニューの例です。
次のようにメニュー項目をグループ化してください。
「編集」メニュー項目の機能は,次のとおりです。
「取消」メニュー項目にはシングル・レベルとマルチレベルの2つの形があります。
「取消」処理を実行できないような状況の場合には,「取消」メニュー項目を使用できないように設定します。 たとえば,ユーザがファイルをオープンした場合, ユーザがそのファイルに対して変更を行うまで「取消」メニュー項目を使用できないように設定しておきます。 また,アプリケーションが「取消」機能をサポートしない場合は, 「編集」メニューは「取消」メニュー項目を表示しないでください。
「取消」メニュー項目の機能が変わるたびに次のようなラベルを使用すると, よりその場の状況にあったラベルにすることができます。たとえば, メニュー項目のラベルを必要に応じて以下のいずれかに変更してください。
ユーザが操作を取り消した場合に,その操作を再実行できるようにサポートしてください。 たとえば,メニュー項目のラベルを必要に応じて以下のいずれかに変更してください。
貼り付けたデータがクライアント・エリアに収まるように再フォーマットするかどうか決めてください。 通常,テキスト・アプリケーションでは, テキスト・フィールドのマージンに適合するように貼り付けたデータを再フォーマットしますが, グラフィック・アプリケーションでは行いません。
「貼付け」によってクリップボードの内容が変わってはいけません。
「編集」メニュー項目に追加して,Motifのドラッグおよびドロップ機能も加えるようにしてください。
「表示」メニューはオプションです。これには,ユーザの表示は変更するが, 実際のデータは変更しない項目が含まれます。
たとえば,図 2-15のように, 最初のグループは階層構造の表示または外枠のみの表示を表示することにより全体の表示を変更しますが, 二番目のグループは表示の項目を開くか閉じるだけです。
「開く」メニュー項目は現在選択済みの項目を一段低いレベルまで開きます。 「完全に開く」は選択済みの項目を一番下のレベルまで開きます。 「すべて開く」はすべての項目を一番下のレベルまで開きます。
「閉じる」は選択済みの項目を縮小して閉じます。「すべて閉じる」はすべての項目を縮小して閉じます。
「オプション」メニューには,アプリケーションをカスタマイズするためのコマンドを提供してください。 「オプション」メニューのメニュー項目はアプリケーションによって異なります。 「オプション」メニューのニーモニックは(O) を使用してください。「オプション」メニューの詳しい説明と例については, 第3.1節と図 3-1 を参照してください。
「ヘルプ」プルダウン・メニューには,図 2-16 にあるどの項目でも入れることができます。
しかし,アプリケーションの「ヘルプ」メニューにこれらの項目のいずれかを入れなければならないわけではありません。 ただし,アプリケーションにこれらの項目のいずれかを入れる場合は,OSF/Motif の仕様に一致していなければなりません。
「ヘルプ」メニューにはアプリケーションがサポートしている「ヘルプ」メニュー項目だけを入れてください。
次のリストはメニュー項目とユーザが選択したときの結果を示します。
追加のメニュー項目は「索引」と「ヘルプの使用」の間に配置してください。
オンライン・ヘルプの設計と作成についての詳しい説明は,第5章を参照してください。
「ウィンドウ」メニューはオプションです。アプリケーションで複数のメイン・ ウィンドウを使用している場合は,現在使用中の1次ウィンドウのタイトルを「ウィンドウ」メニューに入れてください。 ユーザがタイトルを「ウィンドウ」メニューから選択したときに, そのウィンドウが表示されます。 「ウィンドウ」メニューを使用すると,画面上のウィンドウすべてを前後に移動させる必要がなく, ユーザに使用中のどの1次ウィンドウにも直接のアクセスを提供することができます。 2,3の例では,「ウィンドウ」メニューに現在使用中の2次ウィンドウの名前を入れることを希望する場合もあります。
図 2-17に「ウィンドウ」メニューの例を示します。