例 – Gtk_FileDrop の使用法

Gtk_FileDrop の使用法

一般的な設定

<?php
$accepted_types 
= array(
    
'text/html',
    
'text/plain',
    
'.dat'
);
Gtk_FileDrop::attach($widget$accepted_types);
?>

ここで、有効なファイルタイプの配列を設定します。 ウィジェットが受け付けるファイルは、MIME タイプが text/htmltext/plain のもの、 そして名前が .dat で終わるものです。 この後、$widget がこのファイルを受け取るように設定します。

ディレクトリの許可

<?php
$accepted_types 
= array(
    
'inode/directory',
);
?>

ディレクトリを有効にしたい場合は、MIME タイプ inode/directory を使用する必要があります。

ディレクトリのみを許可しているウィジェットにファイルをドロップすると、 そのファイルが存在するディレクトリがドロップされたものとみなされます。

コールバックの設定

<?php
function filesDropped($widget$arFiles) {
    foreach(
$arFiles as $strFile) {
        echo 
"ファイル \"$strFile\" がドロップされました\r\n";
    }
}

$accepted_types = array(
    
'text/html',
    
'text/plain',
    
'.dat'
);
Gtk_FileDrop::attach($widget$accepted_types'filesDropped'false);
?>

この例では、コールバック関数を使用して、 ドロップされたファイルをコンソールに表示します。 さらに四番目のパラメータを false に設定することで、ウィジェットの値が自動的に変更されることがないようにしています。

コールバックでオブジェクトを使用するには、 オブジェクトへの参照を配列で渡します。

コールバックの使用

<?php
Gtk_FileDrop
::attach($widget$accepted_types, array( &$this'filesDropped'));
?>

実際に動作する例

<?php
if (!extension_loaded('gtk')) {    
    
dl('php_gtk.' PHP_SHLIB_SUFFIX);
}
require_once(
'Gtk/FileDrop.php');

$window = &new GtkWindow();
$window->set_default_size(30030);
$window->connect_object('destroy', array('gtk''main_quit'));
$window->show();

$entry =& new GtkEntry();
$window->add($entry);
$entry->set_text('テキストファイルをドロップしてください');
Gtk_FileDrop::attach($entry, array('text/plain'));
    
$window->show_all();
gtk::main();
?>
さまざまなウィジェット型からのドロップの処理 (Previous) Gtk_ScrollingLabel (Next)
Last updated: Mon, 20 Oct 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.