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

ドラッグ・ソースの決定

アプリケーション内でドラッグ&ドロップを使用することを決めたら、どのコントロール要素をドラッグできるのか、その要素をどのように表現するのかを決定しなくてはなりません。一般に、ユーザはテキストまたはファイルのようなものをドラッグのために選択しますが、アプリケーションがメール・メッセージやアポイントなど、ドラッグ&ドロップが意味を持つような他の要素を持っている場合があります。

この節では、ドラッグ・ソースを決定する上での一般的なガイドラインを示し、ドラッグ可能な具体的な要素について説明します。


注 -

ドラッグのソースには、選択可能なコンポーネントまたは項目を持っている、ヒューマン・インタフェース要素だけが使用できます。ボタン上やメニュー上のラベルなどの静的ラベルをドラッグのソースとすることはできません。


アプリケーションのドラッグ・ソースを決定する前に、アプリケーションの選択機能の中にドラッグを組み込む方法を検討しなければなりません。ユーザが、アクションの結果に迷いを抱くことなく、選択やドラッグができなければなりません。

必須 

4-58: 

ドラッグ移動操作が、セレクションを同じコンポーネントの中で移動するとき、セレクションは選択された要素とともに移動する。− 193 ページ

つまり、選択された要素がドラッグ操作で移動される場合、それらの要素は移動の後も選択されていなければなりません。 

必須 

4-59: 

テキスト単位のコレクションで、選択領域内でドラッグを開始すると、テキスト・セレクション全体がドラッグされる。− 193 ページ

必須 

4-60: 

リスト単位およびグラフィック単位のコレクションで、選択された要素上でドラッグを開始すると、セレクション全体がドラッグされる。− 193 ページ

必須 

4-61: 

リスト単位およびグラフィック単位のコレクションで、未選択の要素上で BTransfer または BSelect でドラッグを開始すると、その要素だけがドラッグされ、セレクションには影響しない。− 193 ページ

必須 

4-62: 

未選択の領域でドラッグが開始され、ポインタが 2 つのドラッグ可能な要素にまたがっている場合、ドラッグは重なりの一番上にあるドラッグ可能な要素を使用する。− 193 ページ

必須 

4-67: 

BTransfer (または BSelect) が離されると、ドロップ操作は通常ドラッグ・アイコン・ポインタのホット・スポットの位置で起こり、重なりの一番手前にあるドロップ領域にドロップされる。しかし、ドロップがセレクションの中で発生し、かつ保留されている選択の削除が有効になっている場合、転送データはセレクション全体の内容を置き換える。− 194 ページ

スクロール・リスト

共通デスクトップ環境では、スクロール・リストの中の項目は、デフォルトではテキスト・オブジェクトです。これはバッファ・オブジェクトであることもありますが、テキストとバッファの両方であることはできません。たとえば、カレンダの [アポイントエディタ] には、ユーザが選択してドラッグできる、アポイントのスクロール・リストがあります。ユーザがアポイントをドラッグすると、バッファが操作され、ドラッグ・アイコンには、図 3-7 に示すように、ソース・インジケータとしてアポイント・アイコンが表示されます。メール・プログラムのコンテナ・ウィンドウは、ウィンドウの上部にメール・メッセージのリストを持っています。ユーザは、このリストから 1 個以上のメッセージを選択してドラッグできます。これらのメッセージは実際にはバッファであり、ドラッグ・アイコンはソース・インジケータとしてメール・メッセージを表示します。複数のメール・メッセージがドラッグされる場合、ドラッグ・アイコンには複数ソース・インジケータが表示されます。

図 3-7 ドラッグする項目が選択されているスクロール・リストの例

Graphic

アプリケーションが、メール・メッセージのヘッダや、他の種類のオブジェクトのリストを表示するためにスクロール・リストを使用している場合は、ドラッグを拡張選択と統合する必要があります。この動作はメール・プログラム・アプリケーションで実現されています。

必須 

k: 

範囲選択を使用するコレクションで、未選択の要素の上で BSelect を押すと、その要素上または BSelect が押された位置にアンカーが設定され、コレクションの中のすべての要素の選択が解除される。ドラッグのしきい値に達する前に BSelect が離された場合は、ポインタの下の要素が選択される。BSelect Motion がドラッグのしきい値を超えると、新しい選択が開始される。アンカーとポインタの現在位置が現在の範囲を決定する。コレクションの中で BSelect がドラッグされると、現在の範囲が強調表示される。BSelect が離されると、アンカーは移動せず、現在の範囲の中のすべての要素が選択される。− 177 ページ

必須 

l: 

範囲選択を使用するコレクションで、現在の選択要素の上で BSelect を押したときに、選択セットの中の他の要素がすべて選択解除されてはならない。ドラッグのしきい値に達する前に BSelect が離された場合は、その時点で他のすべての要素の選択が解除され、ポインタの下の要素が選択されて残る。BSelect Motion がドラッグのしきい値を超えると、要素は 1 つも選択解除されず、ドラッグ操作が開始される。− 177 ページ

ダイアログ・ボックス

アプリケーションはダイアログ・ボックスの中からのドラッグをサポートしなければならないことがあります。たとえば、カレンダの [アポイントエディタ] では、左側にユーザがアポイントに関する情報を入力する一連のテキスト・フィールドがあります。この領域からのドラッグをサポートすれば、ユーザはアポイントの記述からテキストをドラッグできます。

図 3-8 カレンダの [アポイントエディタ] ダイアログ・ボックスの例

Graphic

何かがドラッグ可能であることを示すための方法としては、ダイアログ・ボックスの中にアイコン・グラフィックを入れておくという方法を推奨します。アイコン・グラフィックはドラッグ可能でなければなりません。このアイコン・グラフィックは、ファイル・マネージャの中でデータを表現するために使用されるのと同じアイコンでなければなりません。カレンダ内で、アポイント・アイコンはファイル・マネージャの中と同じ表示になっており (図 3-8 を参照)、その下にラベルが付けられています。これはドラッグ・アイコン・ソース・インジケータで使用するのと同じアイコンです。

アイコン・グラフィックは、ダイアログ・ボックスの中で、ドラッグされる情報のすぐ近くに配置します。ダイアログ・ボックスまたはウィンドウの右上隅がデフォルトの位置ですが、アプリケーションに応じて変更することもできます。カレンダの [アポイントエディタ] では、アイコンは、テキスト・フィールドがドラッグできることを示すために、メイン・テキスト・フィールドの近くに置かれています。

推奨 

ds: 

ダイアログ・ボックスまたはウィンドウ内のオブジェクトがドラッグできることを示すために、ダイアログ・ボックスまたはウィンドウ内でアイコン・グラフィックを使用する。そのドラッグ可能なオブジェクトをファイル・マネージャの中で表現するために使われるのと同じアイコン・グラフィックを使用する。アイコンは、オブジェクトの内容の表示が存在する場合は、その近くに配置する。このような表示が存在しない場合は、特に良い場所がなければ、ダイアログ・ボックスまたはウィンドウの右上隅に配置する。アイコンはサイズが 32×32 で、その下にラベルが付けられていなければならない。ラベルは、そのアイコン・グラフィックが表すオブジェクトの種類を示していなければならない。また、そのアイコン・グラフィックはドラッグ・アイコンのソース・インジケータとしても使用する。− 236 ページ

ウィンドウ

一部のアプリケーションでは、ドキュメントまたはファイル全体をドラッグできるようにしたいことがあります。たとえば、アイコン・エディタでは、現在エディタの中にあるアイコンのファイルをドラッグできてもいいはずです。アプリケーションは、アプリケーションのウィンドウ内にアイコン・グラフィックを組み込むことにより、ユーザにドキュメントまたはファイルがドラッグできることを知らせなければなりません。アイコン・グラフィックはドラッグ可能でなければなりません。アイコン・エディタの場合、アイコン・ファイルの内容の表示に使用されるアイコンの 1 つがドラッグに使用されます。アイコンは、ダイアログ・ボックス内で使用されるアイコンのガイドラインに従わなければなりません。つまり、ファイル・マネージャ内でドキュメントを表現するのに使われるのと同じアイコンで、32×32 ピクセルの大きさで、ラベルを持ち、ドラッグされるデータの近くに配置され、ドラッグ・アイコンのソース・インジケータとして使用されなければなりません。