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

マッチング操作

ドラッグ&ドロップのアプリケーション内での動作を設計するときは、ドラッグ&ドロップのソースと出力先がマッチしないときに、どのような操作を行うべきなのかを Motif が決定する方法を理解しなければなりません。

各ドラッグ・ソースについて、アプリケーションはどのドラッグ&ドロップ操作が可能で、どの出力先にドロップできるのかを公示します。各ドラッグ出力先について、アプリケーションは許容されるソースと操作のタイプを公示します。ソースとその出力先で 2 つ以上の操作が共通している場合、Motif は特定の順序に従って、どの操作を使用するかを決定します。この順序は移動、コピー、リンクです。アプリケーションは、ドラッグされるものの型に応じて、受け入れられた操作を変更できません。

たとえば、アプリケーション A が、要素の移動またはコピーが可能であるということを公示しているとします。アプリケーション B は、出力先がコピーまたはリンクを受け入れることを公示しています。この例での共通操作はコピーです。アプリケーション B 内の出力先が移動またはコピーを受け入れる場合には、操作の順序で移動操作の方が先なので、ソースが移動されます。

この例で、ユーザは修飾キーを押すことによって移動操作を無効にできます。たとえば、[Control] キーを押すと、操作をコピーに変更できます。これができるのは、コピー操作が操作の共通セットに含まれている場合だけです。コピー操作が共通セットに含まれていない場合、ドラッグは無効なドラッグになります。

マッチング操作を考慮しなければならないのは、出力先が移動を受け入れることはできるが、コピーの方が望ましい場合だけです。この場合、出力先はコピーだけを受け入れた方がいいことになります。

コピーは常に受け入れる方がいいでしょう。コピーを受け入れると、受け入れ可能なドロップの範囲が広がります。移動が受け入れられるならば、ほとんどの場合にコピーも機能します。移動はコピーを行なった後に削除を実行するという方法で実装されていることに注意してください。