CDE は、デスクトップ内の一貫性と相互運用を促進し、開発者によるドラッグ & ドロップの実現を容易にするために、ドラッグ & ドロップ簡易 API を提供します。
ドラッグ & ドロップのための既存の Motif の API は、トランザクション中の転送元と転送先アプリケーションの通信を達成するための合理的な機能を提供します。データ転送のためのフレームワークを提供しますが、実際のデータ転送の詳細はアプリケーションに依存します。デスクトップ内のアプリケーション間の真の一貫性と相互運用のためには、すべてのアプリケーションが同じデータ転送プロトコルを使用しなければなりません。CDE のドラッグ & ドロップ簡易 API は、共通のデータ転送ルーチンを提供します。
ドラッグ & ドロップのための既存の Motif の API は非常に柔軟性がありますが、その分、未熟な開発者にとっては使いにくい点もあります。CDE のドラッグ & ドロップ簡易 API は、次に説明するいくつかの簡易関数とサービスを提供することによって、より簡単で使いやすい API になっています。
ドラッグ・アイコンの構成と外観を管理します。Motif のドラッグ・アイコンを構成するデフォルトのソース、状態、および操作アイコンのグラフィックが用意されています。これらのアイコンの組み合わせによって、ドラッグされているデータの型をチェックします。
ドロップのアニメーションを可能にします。ドロップが完了したときに呼び出されるアニメーション・プロシージャを定義できます。
テキスト、ファイル、およびバッファ転送のために、標準の X Window System の選択ターゲットを使用してデータ転送を提供します。このデータ転送は、標準のターゲットを直接使用する他のアプリケーションとの相互運用を可能にします。
二重登録を提供します。テキスト・ウィジェットをテキスト以外のデータのためのドロップ領域として登録できます。その場合でも、テキストのドロップを受け入れる機能は変わりません。
ドラッグ & ドロップ API は、次の 3 つの分野のポリシーを確立します。
共通ターゲット。使用可能な場合には、クライアント間通信規約マニュアル (ICCCM) によって定義された既存の選択ターゲットが使用されます。
データ転送プロトコル。API は、データ転送の詳細を隠し、データを単純なデータ構造体の形でアプリケーションに提示します。
デフォルトのドラッグ・アイコン。デフォルトのドラッグ・アイコンは、それらを受け入れることができるアプリケーションのために用意されています。
ドラッグ & ドロップ API は、次の分野での共通の機能性を提供します。
テキスト、ファイル名、およびバッファとしてのデータ転送をサポートします。
データ転送フレームワークによって、新しい組み込みプロトコルの追加をサポートします。
ドラッグ & ドロップのための API は、新しいドラッグ & ドロップ・サブシステムを使用するわけではなく、既存の Motif API を使用しています。また、共通のデータ転送プロトコルが選択されているので、使用可能な場合には、アプリケーションは新しい API をグローバルに使用しなくても、選択プロトコル・レベルで相互運用できます。
テキストとファイルの転送は、既存のプロトコルを使用します。バッファ転送は、新しいプロトコルを使用します。