X ウィンドウシステムのための

ドラッグ-アンド-ドロップ プロトコール

Drag-And-Drop Protocol for the X Window System

--------

ドラッグ-アンド-ドロップ使用例

ドラッグ-アンド-ドロップは、現在、"意図することを行なうため"には、最も身近なオペレーションであり、それゆえに デフォルトとなるような、最も自然な操作を選ぶことが重要であります。

テキストをドラッグする(またはその他のもの)

たとえ、これが DND の最も簡単な例だとしても、まだまだ不足していると言えます。

ユーザーがドキュメント内でテキストをドラッグする時、デフォルトのアクションとして自然なものが移動であります。ユーザーがテキストをコピーするのに DND を使いたいならば、モディファイア・キーを定義する必要があります(Meta など)。 Xユーザーは、中央ボタンのクリックが『ペースト』を、右-クリックが『現在の選択域を広げる』を期待するため、違うるマウスボタンを使うことができないかも知れません。(xterm のデファクト・スタンダードとなっている)

もう一方では、ユーザーが他のドキュメントにテキストをドラッグするとき、デフォルトのアクションとして自然なものが、コピーであります。これはより安全な選択として、元のデータが無くなってしまわないからです。これら二つのドキュメントは、関連していないからです。ドロップの後、ターゲットが何をするかに関係なく、同様に、デフォルトとしてではなく、移動を提供するのは合理的であります。

特別のケースが、異なるパーツが、異なるアプリケーションによって取り扱われる複合ドキュメントであります。この場合、移動がデフォルトのアクションとして自然であり、ユーザーが単一のドキュメントとなるのを、理解しているからです。ユーザーは、テキストを異なるドキュメントへドラッグする時、コピーがデフォルトとなることを期待するでしょう。(ソースのXウィンドウ ID が、XdndPosition メッセージを含む為、同じドキュメントの異なる部分にドロップするのは可能です)

二つのドキュメントが相互依存し合う時(リンクされたスプレッドシート等)、リンクが適切な選択でありますが、これはデフォルトとすべきではありません。

ファイルのドラッグ

別のページで、詳細について述べられていますので、ここでは注意にとどめます。多くのプログラムが、ドロップを受け付けるとき(Makefile を作るプログラム等)、ファイルマネージャーが、実際のファイル・システムを修正することを期待する、唯一のプログラムである。よって、皆さんが text/uri-list タイプのデータを受け取るためのにも、ユーザーが行なって欲しい事を伝えるアクション(XdndActionCopy, XdndActionMove, XdndActionLink)を伝えるためにも、これらを内部的に取り扱うファイルマネージャーのためにも、適切な設計が必要とされます。.

ごみ箱

ごみ箱は、ファイルを削除することでよく知られているメタファーを提供するファイルマネージャーの便利な拡張機能であります。これらは、面白い設計の変形として紹介されています。ごみ箱を利用する上で最も便利な方法は、ユーザーが、最初に、保存か、焼却のどちらかに設定し、その設定で、その上にファイルをドロップします。これは、ターゲットがソース代わりアクションを決めることになります。ごみ箱は、text/uri-list を(どのようなソースからも)受けつけます。いつ、それを ~/.trash へ移動するか、削除するかを決定します。( XdndActionAsk は、ある特定のドロップの後、ごみ箱が問い合わす事を伝えるために使われる。)

ドロップの後に起こることをユーザーに伝える最も良い方法が、ユーザーのセッティングを基に、ごみ箱がその姿を変えることです。


もし面白いサンプルがあるならば、 ご連絡ください.


最終更新日: 1998年8月17日

 main pageに戻る