Certains contrôles gèrent le glisser-déposer : vous pouvez déposer un objet sur le bouton chanfreiné ou sur la liste, et déplacer des éléments de la liste ou l'icône du bouton image. Cependant, ces fonctionnalités sont optionnelles ; elles sont définies à l'aide de la propriété «class flav». La propriété «class flav» d'un contrôle, un liste de chaînes de 4 caractères, indique quels types d'objets ("flavors") le contrôle accepte d'importer ou d'exporter. Cela inclus les types suivant :
- "hfs ": une référence de fichier (par exemple, une icône du Finder)
- "long": un entier
- "doub": un nombre réel
- "alis": un alias
- "reco": un record
- "TEXT": une string
- "obj ": une référence à un objet de Smile
Pour gérer le glisser-déposer dans le script d'un contrôle, vous devrez définir deux fonctions spécifiques : drop et export.
- drop : lorsque l'utilisateur déplace un élément sur l'un des contrôles acceptant le glisser-déposer, le script du contrôle reçoit l'événement drop.
- export : lorsque l'utilisateur déplace un élément appartenant à un contrôle qui accepte le déplacement à la souris, le script du contrôle reçoit un événement export qui permet de définir la quantité qui est en train d'être exportée.
|