[AppleScript] Choose from list

Le
unbewusst.sein
Peut-être ais-je la berlue, ùais j'ai vu un AS avec un "Choose from
list" qui avait en + de cela un input text field de manière à pouvoir
entrer un nouvel élément qui n'existe pas dans la liste ?

j'ai googelisé sans résultat pour l'instant.

--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
danrob
Le #22134361
Une Bévue
Peut-être ais-je la berlue, ùais j'ai vu un AS avec un "Choose from
list" qui avait en + de cela un input text field de manière à pouvoir
entrer un nouvel élément qui n'existe pas dans la liste ?

j'ai googelisé sans résultat pour l'instant.



Pas besoin do gogol, StandarAdditions.def donne :

choose from list v : Choose one or more items from a list
choose from list list of text or number : a list of items to display
[with title text] : the dialog window title
[with prompt text] : the prompt to be displayed in the dialog box
[default items list of text or number] : a list of items to initially
select (an empty list if no selection)
[OK button name text] : the name of the OK button
[cancel button name text] : the name of the Cancel button
[multiple selections allowed boolean] : Allow multiple items to be
selected?
[empty selection allowed boolean] : Can the user make no selection and
then choose OK?

En pratique :
set TheList to {"AAA", "BBB", "CCC", "DDD"}
set DF to {"BBB", "DDD"}
choose from list TheList default items DF with multiple selections
allowed

"with multiple selections allowed" est obligatoire si DF a plus d'un
élément
unbewusst.sein
Le #22134461
Daniel Robillard

choose from list v : Choose one or more items from a list
choose from list list of text or number : a list of items to display
[with title text] : the dialog window title
[with prompt text] : the prompt to be displayed in the dialog box
[default items list of text or number] : a list of items to initially
select (an empty list if no selection)
[OK button name text] : the name of the OK button
[cancel button name text] : the name of the Cancel button
[multiple selections allowed boolean] : Allow multiple items to be
selected?
[empty selection allowed boolean] : Can the user make no selection and
then choose OK?

En pratique :
set TheList to {"AAA", "BBB", "CCC", "DDD"}
set DF to {"BBB", "DDD"}
choose from list TheList default items DF with multiple selections
allowed

"with multiple selections allowed" est obligatoire si DF a plus d'un
élément



oui, merci bien, ça je sais, mais, il y a qq jours en fouinant sur le
net (je ne sais + où) j'ai vu passé un truc comme ça :
http://cjoint.com/data/fsqI1cIYh6.htm
(combinaison par copié/collé des deux dernières images)

mais peut-être que ça n'existe pas en AppleScript, c'était —peut-être—
de l'AppleScript ***Studio*** ?

alors que, pour l'instant, j'utilise deux fenêtre successives au cas où
l'utilisateur veut entrer une nouvelle catégorie :
http://cjoint.com/data/fsqG7RbunW.htm
http://cjoint.com/data/fsqIzKzinz.htm
--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
danrob
Le #22134941
Une Bévue
oui, merci bien, ça je sais, mais, il y a qq jours en fouinant sur le
net (je ne sais + où) j'ai vu passé un truc comme ça :
http://cjoint.com/data/fsqI1cIYh6.htm
(combinaison par copié/collé des deux dernières images)

mais peut-être que ça n'existe pas en AppleScript, c'était —peut-être—
de l'AppleScript ***Studio*** ?



Probable, c'est vrai qu'Applescript est plus que pauvre en interface.

Avec mes scripts j'utilise Pashua

Exemple de ce qu'on peut faire :

J'ai fait une librairie de mudules pour en faciliter l'usage.
unbewusst.sein
Le #22135341
Daniel Robillard
Avec mes scripts j'utilise Pashua

Exemple de ce qu'on peut faire :



c'est pas mal du tout !
--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
unbewusst.sein
Le #22135901
Daniel Robillard
Avec mes scripts j'utilise Pashua



Petite info, pa hazard j'ai fait un :
$ locate Pashua

et Ôh, surprise j'ai eu le droit à une palanquée de :
/Library/init/zsh/zshrc.d/local-functions/etc/Pashua.app/Contents/MacOS/
Pashua

donc Pashua serait utilisé dans zsh ???

première nouvelle )))
--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
blanc
Le #22135891
Daniel Robillard
Avec mes scripts j'utilise Pashua

Exemple de ce qu'on peut faire :



Pas mal, pas mal... :-)
Le script lui-même il est en quoi ?
Tu peux le passer ?

--
JiPaul.
/ /--/--//\ Jean-Paul Blanc
|/| L |\ quelquepart en (somewhere in)
/|| = |||\ FRANCE
g4fleurot
Le #22135971
Une Bévue
Peut-être ais-je la berlue, ùais j'ai vu un AS avec un "Choose from
list" qui avait en + de cela un input text field de manière à pouvoir
entrer un nouvel élément qui n'existe pas dans la liste ?



J'ai un script qui fonctionne comme ça dans Apple Works.
Dans le même dossier que le script, il y a un fichier "Liste.txt" qui
contient la liste des choix, séparés par un retour à la ligne et qui
viennent se coller dans le document de texte d'AppleWorks.
Ça doit pouvoir s'adapter :


---------
set f to (read file "Macintosh HD:Applications:AppleWorks 6:Généralités
AppleWorks:Scripts:Liste.txt" using delimiter return)
set r to choose from list f
if r ≠ false then
tell application "AppleWorks 6"
set selection to r
copy to clipboard selection
paste
end tell
end if
----------


--
Gérard FLEUROT
unbewusst.sein
Le #22136111
Fleuger
J'ai un script qui fonctionne comme ça dans Apple Works.
Dans le même dossier que le script, il y a un fichier "Liste.txt" qui
contient la liste des choix, séparés par un retour à la ligne et qui
viennent se coller dans le document de texte d'AppleWorks.
Ça doit pouvoir s'adapter :


---------
set f to (read file "Macintosh HD:Applications:AppleWorks 6:Généralités
AppleWorks:Scripts:Liste.txt" using delimiter return)
set r to choose from list f
if r ≠ false then
tell application "AppleWorks 6"
set selection to r
copy to clipboard selection
paste
end tell
end if
----------



oui, merci bien, ça je sais faire, ma liste est obtenue par un scan d'un
répertoires "/path/to/Recettes" MAIS je voudrais un widget + sophistiqué
que le choose from list au cas où une nouvelle catégorie (un nouveau
répertoire) devrai être créée.

apparemment, en AS ce n'est pas possible, en AS Studio si.

je regarde Pashua, ça a l'air particulièrement simple d'utilisation :

un fichier / une string de config

lancer Pashua avec la config en arg

parser le résultat sur stdin (du type machin=bidule)

et voila...
--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
unbewusst.sein
Le #22136981
Daniel Robillard

Probable, c'est vrai qu'Applescript est plus que pauvre en interface.



Mon premier essai :
http://cjoint.com/data/ftihDqlNWm.htm

Soit dit, en passant, il a fallu que je modifie l'adaptation à ruby
(fichier Examples/Pashua.rb) qui ne trouvait pas le bin...

Même et surtout quand je lui donnait directement en arg ?

Maintenant c'est bon même avec '' comme arg de path et même si, comme
chez moi Pashua.app ce trouve dans :

/Applications/Utilities/Pashua

Amha, la bonne méthode est pluôt d'utiliser le Finder pour retrouver
l'appli avec :

$:.push(File.dirname($0)) # amha inutile sauf si on met Pashua.app dans
le même rep que le script de lancement

require 'Pashua'
include Pashua
require 'rubygems'
require 'appscript'
include Appscript

a_name = 'Pashua'
a = app(a_name)
puts a.to_s
# => app("/Applications/Utilities/Pashua/Pashua.app")

bizarement on ne peut avoir ni comme propriété ni comme méthode le path
de l'appli (?), mais je l'obtiens par une regex :

a_path = a.to_s.gsub(/^app("(.*)")$/, '1')

et le bin :

a_bin = "#{a_path}/Contents/MacOS/#{a_name}"

qui ne marche pas à tous les coups, par ex Firefox a un bin de nom
"firefox-bin".

mais je ne suis pas sûr que, pour lancer Pashua, il faille indiquer le
path complet du bin, vraisemblablement le path du bundle (Pashua.app) en
absolu suffit, à vérifier.

je viens juste de vérifier, ça ne marche pas :
zsh-% ./essai_pashua.rb
sh: /Applications/Utilities/Pashua/Pashua.app: is a directory


--
« Le meilleur moyen de tenir sa parole est de ne jamais la donner. »
(Napoléon Bonaparte)
danrob
Le #22137461
JiPaul
Pas mal, pas mal... :-)
Le script lui-même il est en quoi ?



Applescript paquet application.
Un truc hybride bien pratique.
Seul problème, il faut le construire en partie "à la main" afin de
mettre dedans toutes les ressources nécessaires.

Tu peux le passer ?



Oui mais il faut savoir qu'il est fait pour être utilisé avec MediaPro
ou Expression Media.
Publicité
Poster une réponse
Anonyme