Comment créer un AppleScript qui affiche un menu déroulant sans utiliser Xcode ?
Réponses
Trop de publicités?Une option serait d'utiliser CocoaDialog ** :
set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l
Vous pouvez également utiliser choose from list
:
choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed
** L'URL originale de ce repo Github par mstratman
a changé. D'après les recherches, il semble que CocoaDialog est passé à une organisation. Voici les nouveaux changements :
Il n'y a pas de concept intégré de menu dans les boîtes de dialogue et les alertes du langage AppleScript.
Le mieux serait de nommer des fichiers fictifs (dans un dossier temporaire) avec l'action appropriée et de demander à l'utilisateur de choisir le fichier étiqueté avec l'action que vous voulez effectuer.
open folder blah
with selected file bah
do whatever
Une horrible "solution" à un problème qui a besoin d'un menu cacao - que vous le fassiez dans Xcode ou que quelqu'un d'autre le fasse -. Xcode/IB est l'outil qui permet de créer un menu . MacRuby est un moyen agréable de script une application qui a besoin d'une interface utilisateur plus complète qu'AppleScript. Vous n'avez pas besoin de Xcode/IB pour créer une application à partir de script purs.
Vous pourriez créer une NIB à l'aide d'Interface Builder et script tout cela à l'aide d'AppleScript, mais la NIB définit le menu lui-même - pas AppleScript (même si AppleScript peut remplir ou supprimer les éléments du menu au moment de l'exécution).
Je comprends qu'il s'agit d'une vieille question, mais comme la meilleure réponse votée indique dans la documentation de CocoaDialog 2 :
Les téléchargements ne fonctionnent pas Les téléchargements pour cocoadialog 2 ne fonctionnent plus disponibles. Ceci est dû en partie à de stockage permanent au fil des ans.
et 3 ne sera pas disponible avant le printemps/été 18, j'ai cherché d'autres alternatives et j'ai trouvé Pashua :
Dans le cadre de la la documentation c'est ce qu'on appelle un popup
:
Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2
Capture d'écran :
Github repo
Après l'avoir utilisé, j'ai découvert que vous pouvez installer Pashua.app dans votre répertoire d'applications ou que vous pouvez intégrer Pashua dans votre application. Je ne suis pas l'auteur de ce document mais j'avais besoin d'une solution de base pour une interface graphique et cela n'était pas mentionné.
Vous n'avez pas besoin de Xcode pour AppleScript. Il suffit d'ouvrir l'éditeur AppleScript dans Applications/Utilities (raccourci du Finder pour le dossier Utilities : Command + Shift + U ). Il existe des exemples de code pour les menus déroulants sur le site MacScripter : Menu déroulant .