Introduction

Introduction --  なぜ Gtk2_FileDrop を使うのか?

貢献者

説明

Gtk2_FileDrop は、GtkWidgets を設定してドラッグアンドドロップでファイルを受け取るための簡単なインターフェイスを提供します。 ウィジェットで、さまざまな MIME タイプやさまざまな拡張子のファイルを受け付けることができます。 有効なファイルがドロップされた場合にはウィジェットの値が自動的に設定され、 コールバック関数を設定した場合にはその関数が起動します。

設定手順はそんなに複雑でもないのだし、ウィジェットでファイルを受け付けるために こんなクラスを使用する必要はないのではと思われるかもしれません。 そのとおりです。ウィジェットでファイルのドロップを受け付けるのは簡単なことです。 ただ、さらにあと二つの手順が必要になります。

  1. ウィジェットが、特定の形式のファイルのみを受け付けるようにする

  2. ドロップされたファイル名を、適切な名前に変更する

最初のほうを実装するのは、特に難しくはありません。 ファイルの拡張子を調べるか、あるいは MIME_Type パッケージを使用して MIME タイプを取得すればよいのです (注意: * もサポートしています)。

二番目のほうが大きな問題です。あらゆるアプリケーションは 標準のファイル名変換方法を無視しており、 渡されたファイル名を好き勝手に変換します。 このパッケージはそれらの違いを知っており、 ドロップされた文字列を有効なローカルファイル名に変換します。 これは、アプリケーションが使用しているフォーマットに依存しません。 この機能についての詳細は、 PHP-Gtk FileDrop のチュートリアル. を参照ください。

注意Mozilla/Firefox についての注意: Mozilla は、 ファイル名の MIME タイプに text/plain のみを使用し、 text/uri-list は用いません。 この型を受け付けるようにすると、ドロップされたあらゆるテキストを、 ファイルであるかどうかにかかわらず受け付けてしまいます。 Mozilla からのドロップは受け付けないようにしましょう。

注意 Gtk2_FileDrop は、 Gtk_FileDrop を PHP-Gtk2 および PHP5 に移植したものです。そのため、同じメソッドを持ち、同じように動作します。