Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[AppleScript] Choose from list

19 réponses
Avatar
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)

10 réponses

1 2
Avatar
danrob
Une Bévue wrote:

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
Avatar
unbewusst.sein
Daniel Robillard wrote:


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)
Avatar
danrob
Une Bévue wrote:

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
<http://www.bluem.net/en/mac/pashua/>

Exemple de ce qu'on peut faire :
<http://cjoint.com/?fsscDDVVY2>

J'ai fait une librairie de mudules pour en faciliter l'usage.
Avatar
unbewusst.sein
Daniel Robillard wrote:

Avec mes scripts j'utilise Pashua
<http://www.bluem.net/en/mac/pashua/>

Exemple de ce qu'on peut faire :
<http://cjoint.com/?fsscDDVVY2>



c'est pas mal du tout !
--
« Je me sens très optimiste quant à l'avenir du pessimisme. »
(Jean Rostand)
Avatar
unbewusst.sein
Daniel Robillard wrote:

Avec mes scripts j'utilise Pashua
<http://www.bluem.net/en/mac/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)
Avatar
blanc
Daniel Robillard wrote:

Avec mes scripts j'utilise Pashua
<http://www.bluem.net/en/mac/pashua/>

Exemple de ce qu'on peut faire :
<http://cjoint.com/?fsscDDVVY2>



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
Avatar
g4fleurot
Une Bévue wrote:

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 plus un
Avatar
unbewusst.sein
Fleuger wrote:

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)
Avatar
unbewusst.sein
Daniel Robillard wrote:


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)
Avatar
danrob
JiPaul wrote:

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.
1 2