Lorsque l'utilisateur déplace un élément depuis un contrôle qui accepte le déplacement à la souris, le script de ce contrôle reçoit l'événement export. Il est nécessaire de définir une fonction export : le résultat renvoyé par export doit renvoyer la quantité qui sera exportée par le glisser-déposer, et qui sera passé à la fonction drop si le glisser-déposer se fait vers un autre contrôle d'un dialogue de Smile.
L'événement export peut être géré par une fonction de ce type :
on export the_object
return some_quantity
end export
the_object est une référence au contrôle qui exporte des données.
some_quantity est ce que le contrôle va exporter.
Le glisser-déposer ne sera effectif que si la quantité renvoyée par la fonction export appartient à l'un des types déclarés dans la liste de la propriété «class flav». Par exemple, le script suivant permet de gérer du texte depuis un contrôle de type liste : ce n'est possible que si la propriété «class flav» de la liste contient un élément "TEXT".
on export the_list_box
set the_list to contained data of the_list_box
set the_index to item 1 of (get selection of the_list_box)
set the_string to item the_index of the_list
return the_string
end export
Par défaut, Smile n'informe pas des erreurs d'exécution survenant dans la fonction export. si vous voulez être averti des erreurs d'exécution qui peuvent survenir dans la fonction export, il suffit d'encapsuler l'ensemble de votre fonction par try [...] on error [...] end try et de gérer les erreurs éventuelles.
|