Exemple --
Comment utiliser Gtk_FileDrop
Utiliser Gtk_FileDrop
Exemple 40-1. Configuration générale <?php
$accepted_types = array(
'text/html',
'text/plain',
'.dat'
);
Gtk_FileDrop::attach($widget, $accepted_types);
?> |
Ici, nous définissons un tableau contenant les types de fichiers acceptés :
La widget doit accepter les fichiers ayant pour type MIME
text/html, text/plain ainsi
que les fichiers finissant par .dat.
Après cela, nous paramétrons le $widget pour
accepter ces fichiers.
|
Note :
Lorsqu'un fichier est déposé sur un widget qui n'accepte que
les dossier, le dossier contenant le fichier sera utilisé.
Exemple 40-3. Configuration avec callback <?php
function filesDropped($widget, $arFiles) {
foreach($arFiles as $strFile) {
echo "Le fichier \"$strFile\" a été déposé\r\n";
}
}
$accepted_types = array(
'text/html',
'text/plain',
'.dat'
);
Gtk_FileDrop::attach($widget, $accepted_types, 'filesDropped', false);
?> |
Dans cet exemple, nous utilisons une fonction de callback pour afficher
tous les fichiers déposés sur la console. Nous déterminons également
le quatrième paramètre à FALSE ce qui signifie que la
valeur du widget n'est pas modifiée automatiquement.
Pour utiliser le callback avec des objets, vous devez passer un tableau
avec la référence à l'objet :
|
Exemple 40-5. Exemple d'utilisation <?php
if (!extension_loaded('gtk')) {
dl('php_gtk.' . PHP_SHLIB_SUFFIX);
}
require_once('Gtk/FileDrop.php');
$window = &new GtkWindow();
$window->set_default_size(300, 30);
$window->connect_object('destroy', array('gtk', 'main_quit'));
$window->show();
$entry =& new GtkEntry();
$window->add($entry);
$entry->set_text('glisser des fichiers sur moi');
Gtk_FileDrop::attach($entry, array('text/plain'));
$window->show_all();
gtk::main();
?> |
|