Solaris 共通デスクトップ環境 プログラマーズ・ガイド

概要

共通デスクトップ環境 (CDE) には、あらゆるデスクトップを通じて操作に一貫性のある便利なドラッグ & ドロップを提供するために、Motif に基づくドラッグ & ドロップのためのアプリケーション・プログラム・インタフェース (API) があります。CDE のドラッグ & ドロップ API は、開発者によるドラッグ & ドロップの実現をより簡単にします。ドラッグ & ドロップを使うと、ユーザは、画面上のオブジェクトをグラブし、ディスプレイ上をドラッグし、他のオブジェクトの上にドロップするという直接操作によって、データを転送できます。

テキスト、ファイル、およびバッファは、CDE のドラッグ & ドロップ API で使用されるデータの 3 つのカテゴリです。この文脈のテキストは、入力フィールドのテキストのように、ユーザの目に見えるテキストとして定義されます。ファイルは、ファイル・システム内にあるデータのコンテナです。各ファイルは、その内容を記述する形式を持ちます。バッファは、メモリに含まれるデータです。特徴として、各バッファはその内容を記述する形式を持ちます。

ライブラリとヘッダ・ファイル

ドラッグ & ドロップを使用するには、DtSvc ライブラリをリンクする必要があります。ヘッダ・ファイルは Dt/Dnd.h です。

デモ・プログラム

ドラッグ & ドロップの例が入っているデモ・プログラムは、/usr/dt/examples/dtdnd にあります。

ドラッグ & ドロップの使い方

ドラッグ & ドロップと統合するには

ドラッグ & ドロップとアプリケーションを統合するには、次の手順に従います。

  1. Dt/Dnd.h を組み込みます。

  2. libDtSvc をリンクします。

  3. 受信側は次の作業を実行します。

    1. DtDndDropRegister を使用して、ドロップ領域を登録します。

    2. オプション。ドロップ・アニメーションのコールバックを書くこともできます。

    3. 転送コールバックを書きます。

  4. 送信側は次の作業を実行します。

    1. ユーザ・アクションを認識し (変換テーブルの変更が必要な場合があります)、DtDndDragStart を呼び出します。

    2. 変換コールバックを書きます。

    3. ドラッグ終了コールバックを書きます。