Home

Tutorial AppleScript Studio

- Le Toolbar -

- Ajour d'un Toolbar à une fenêtre -

Sous Leopard


En complément des menus, il est pratique de mettre les fonctions les plus utilisées dans une barre d'outils attachée à la fenêtre de votre application.



Menu xCode Léopard - Photo 11



Menu xCode Léopard - Photo 12



Apple a prévu une gestion complète des toolbars avec dans le menu "View" les sous menus "FShow Toolbar" et "Customize Toolbar...". Il n'y a pas de code à écrire pour gérer ces deux sous-menus. Il est juste nécessaire de les connecter aux "Target/Action" toggleToolbarShown et runToolbarCustomizationPalette.




Menu xCode Léopard - Photo 10



Nous allons effectuer cette construction en image. Allez dans xCode, ouvrez votre projet, et dans Interface Builder sélectionnez la fenêtre de votre application. Puis,

dans la bibliothèque, prenez l'icône "Toollbar".

Important rappel : C'est une nouvelle fonction de Interface Builder de Léopard. En Tiger il faut programmer le toolbar en entier en applescript".




Menu xCode Léopard - Photo 14



Et, collez la sur votre fenêtre.



Menu xCode Léopard - Photo 16



Cochez, "Customizable" dans la fenêtre Toolbar Attributes de l'inspecteur.



Menu xCode Léopard - Photo 18



Double cliquez sur le toolbar pour ouvrir le "Allowed Toolbar Items" .



Menu xCode Léopard - Photo 23



Maintenant nous allons rajouter notre propre icône pour une fonction de notre application. Choisissez "Image Tool..." dans la librairie.



Menu xCode Léopard - Photo 24



ET coller la dans "Allowed Toolbar Items". Notez elle se place à la fin.



Menu xCode Léopard - Photo 26



Placez votre icône, par glissé/déposé, là où vous le désirez.



Menu xCode Léopard - Photo 28



Maintenant, il faut connecter le Toolbar item avec une image. Je n’ai pas trouvé comment faire par glissé/déposé. Donc, dans le menu Attributes de l'inspecteur, à la place du nom de l'image "IBTollbarImageTemplate" tapez le nom de notre image, que nous avons au préalablement stockée dans "Resources". Dans mon exemple c'est "TBNewNote".



Menu xCode Léopard - Photo 32




Menu xCode Léopard - Photo 34



Dans "Label" et "Pal, Label" tapez le titre à afficher. C'est "New Note" dans mon exemple.


Menu xCode Léopard - Photo 36



Admirez votre résultat.



Menu xCode Léopard - Photo 38



Maintenant il faut activer les actions. Dans Interface Builder avec la touche CTRL enfoncée, cliquez sur "Customize Toolbar...", et, sans lâcher le click, glissez jusqu'à "First Responder". Un trait bleu doit apparaître.



Menu xCode Léopard - Photo 40



Sélectionnez l'action "RunToolbarCustomizationPalette". Voilà c'est fini pour "Customize Toolbar..."



Menu xCode Léopard - Photo 42



Faites la même chose pour "Show Toolbar" avec l'action "toogleToolbarShown".



Enfin, pour créer votre script attaché à votre icône, c'est comme d'habitude, dans l'inspecteur d'appleScript, sélectionnez votre script, cochez "Action - clicked", et donnez un nom de script à votre élément, ici "TBNouvelleNote".



Menu xCode Léopard - Photo 50



on clicked theObject


if name of theObject is "TBNouvelleNote " then ......


Piège à éviter

Ce n'est pas "Clicked toolbar item" défini dans le panneau de la fenêtre qu'il faut utiliser.



Menu xCode Léopard - Photo 52


J'ai fait cet essai,

on clicked toolbar item theObject

beep 3

end clicked toolbar item

et rien ne se passe, pas de beep. Ceci est du que à ce que c'est la programmation avant Léopard, où les toolbars devaient être implémentés en applescript.

Inversement, les Toolbars implémentés par Interface builder sont une nouvelle fonctionnalité de Léopard. Vous ne pouvez pas exécuter en Tiger. Pour adapter en Tiger, il ne suffit pas de mettre le projet en 10.4 universel, il faut créer les toolbars en applescript.


Maintenant, il nous reste à faire la même chose pour avoir une icône "Delete Notes" dans notre toolbar, et il faut connecter les scripts aux icônes






La suite - Script "Ajouter et Suppression d'une rangée" par le toolbar


Page précédente

Page suivante


Merci de votre visite

UP