IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

dernier Item sélectionné par défaut dans menu déroulant


Sujet :

AppleScript

  1. #21
    Membre à l'essai
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 24
    Points
    24
    Par défaut Peut-être une solution pour 1 des 2 soucis rencontrés
    PBell,

    Je viens de percuter...

    Dans la mesure où les formats A seront écrits et lus sur le FichierFormat_A.csv et les formats B seront écrits et lus sur le FichierFocmat_B.csv, je n'ai qu'a doubler le script déjà existant et fonctionnant très bien.
    Je rajoute à la fin de chaque variable la lettre A pour le Dropdown A et B pour le Dropdown B.
    Ce n'est peut-être pas beau, un brin redondant, ça doit ralentir le script... mais ça doit marcher ! Qu'en penses-tu ?

    Reste le problème des 2 check box qui doivent être exclusive : c'est soit l'une soit l'autre mais pas les 2 en même temps.

    J'attends ton avis.

  2. #22
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    Effectivement tu peux partiellement dupliquer les parties du script avec A et B.
    Note bien que justement l'efficacité des sous routines de lecture/écriture du CSV évitent la duplication de ces parties. Tu as juste à leur transmettre les bons paramètres.

    Il reste ton aspect exclusif des dropdown A et B sur ton dialogue.
    Comme je ne comprends pas ce que tu attends de l'utilisateur, il m'est difficile de t'aider ici.

    Tu indiques que si il choisi A il ne doit pas choisir B et vice versa. Dans ce cas, pourquoi mettre les 2 dropdown ?
    En fait ta question est typique d'une réflexion sur l'interface utilisateur. Le succès du Mac vient du fait que Apple a été très strict sur l'interface utilisateur: si un seul des menus doit être choisi, on ne montre tout simplement pas le second.
    C'est la même logique qui consiste à ne pas offrir le choix "Format" si il ne doit pas être choisi.

    Dis toi bien que la création d'une interface utilisateur intuitive est le gage d'un succès, mais cela représente un gros travail de réflexion en amont pour se mettre à la place d'un utilisateur...sans manuel d'utilisation.
    Parfois ce travail est plus lourd que la fonctionnalité du programme.
    C'est une des principales différences entre Windows et Mac: le Mac est et doit rester intuitif !!

    Donc pose toi les questions non pas comme un développeur de ton script, mais comme un utilisateur qui n'a jamais vu ton script ni lu ta documentation.
    Cordialement

  3. #23
    Membre à l'essai
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 24
    Points
    24
    Par défaut Exclusitivité des 2 Dropdowns
    Salut Pbell,

    En fait à la base, je ne voulais qu'un seul Dropdown mais la quantité (une liste de format) qui figuererait dans le fichier serait trop importante pour tout visionner dans 1 seul Dropdown.
    Mais surtout, je veux séparer les formats destinés à l'impression de ceux destinés au web, cela réduirait la taille des listes.

    J'avais le choix de faire 2 script différent (1 pour l'impression et l'autre pour le web) ou 1 seul regroupant les 2, et c'est cette dernière option que j'ai retenu

    Donc Dropdown A = format pour l'impression et Dropdown B = format pour le web.

    Je pense que cela justifie cette séparation, d'autant plus qu'il y aura 1 fichier .csv pour A et 1 autre pour B.

    Mais alors, comment rendre ces Dropdowns exclusifs ?
    Car l'utilisateur ne peut pas choisir en même temps 2 formats différents.

    Puis, dans un 2° temps, comment indiquer dans le code ci-dessous quel format a été retenu car pour A, on aura comme variables : NindexA, varDropDownA, varDropDownListChoiceA et pour B : NindexB, varDropDownB, varDropDownListChoiceB ?

    Tu me déconseilles d'éviter de dupliquer le script pour A et B en passant les bons paramètres aux routines lecture/écriture du CSV mais comment faire ?

    Il faudrait donc indiquer qu'on retient comme format celui pour lequel la check bos est cochée et on passerait cette valeur à la suite du script mais là je sèche (il faudrait aussi prévoir qu'1 check box et 1 seule doit être impérativement cochée).

    Bonne soirée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    set myResult to show myDialog
    	if myResult = true then
    		-- varDropDown Handler (Dropdown)
    		set Nindex to ((selected index of varDropDown) + 1)
    		set varDropDownListChoice to item Nindex of libelle as item
    	end if

  4. #24
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    La question est de savoir si les 2 formats, impression et Web, sont dépendants ou indépendants.
    Lorsqu'un choix d'impression est fait, est-ce que avec ce format, tous les formats web sont toujours des options valides ?
    ..et vice versa

    Si les choix sont indépendants, sans doute 2 dropdown peuvent fonctionner.

    Si les choix sont dépendants, cela implique que le choix du format d'impression doit déterminer une sous liste de formats web compatibles avec ce format d'impression.
    Dans ce cas, comme InDesign demande à ce que les dropdown soient construits (le "make" qui donne la liste des options) avant l'affichage du dialogue, tu ne peux t'en sortir. Il faudrait que le choix d'impression redéfinissent immédiatement la liste des options du dropdown web et visiblement inDesign n'offre pas ce niveau d'interactivité. Donc il faudrait faire 2 dialogues: d'abord format d'impression, puis, en fonction du format choisi, afficher le dialogue des format web, uniquement avec une sous liste compatibles avec le format d'impression retenu.

    Qu'en est-il ?

    Cordialement

  5. #25
    Membre à l'essai
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 24
    Points
    24
    Par défaut Indépendants
    Salut PBell,

    Les 2 Dropdown dont complètements indépendants : l'un de conditionne pas l'autre et vice et versa.

    Enfait on peut diviser en 3 partie mon script global :
    Partie 1 : partie commune aux 2 traitements web et impression.
    Partie 2 : partie disctincte, c'est que sont se truvent les 2 Dropdown.
    Partis 3 : partie commune, on récupère les données de la partie 1, de la partie 2 et on effectue un traitement commun

    Mon souci et comment passer à la partie 3 le résultat de la partie 2 !

    Est-ce qu'on peut créer une variable qui récupèrerait en fonction du choix de l'utilisateur (Dropdown A ou Dropdown B) le choix retenu pour continuer le script ?

    D'où mon idée d'utiliser des check box pour chacun des 2 Dropdowns. Le script devrait alors détecter celui qui est coché (valeur true par exemple). Mais il devrait également empêcher de cocher le deuxième Dropdown si le 1° est déjà coché.

    Qu'en penses-tu ?

    A titre d'exemple, je te joins une boite de dialogue élaborée que l'on peut construire sur Indesign grâce à appelscript (1 des scripts fournis dans Indesign).

    A bientôt.
    Images attachées Images attachées  

  6. #26
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonjour,
    Les 2 choix étant indépendants, tu dois effectivement avoir 2 ensembles de variables pour gérer les 2 dropdown.
    Pour gérer un dropdown, tu as:
    - une variable indiquant le fichier csv à lire et écrire. Il t'en faut une pour Web et une pour Impression
    - une variable de liste de libellés: idem il t'en faut 2
    - une variable de liste de hauteur et une de largeur: il t'en faut aussi 2 de chaque.
    - une variable de valeur par défaut (la dernière cochée, lue dans le csv) et une variable de l'option sélectionnée: ici encore il t'en faut maintenant 2 de chaque !

    Comme je suis un adepte des variables lisibles, je te suggère de garder le nom de ces variables en ajoutant le préfixe "Web_" ou "Imp_" devant. Par exemple la variable libelle devient Web_libelle et Imp_libelle.
    Il faut bien sûr penser à dupliquer les lignes d'initialisation et dans ta création des 2 dropdown faire aussi 2 objets dropdown pour l'instruction make (toujours avec Web_ ou Imp_ devant).

    Idem pour tes variables dropdown et selected index. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set Web_Nindex to((selected indexof Web_varDropDown)+1)
    set Web_varDropDownListChoice to item Web_Nindex of Web_libelle as item
    set Imp_Nindex to((selected indexof Imp_varDropDown)+1) 
    set Imp_varDropDownListChoice to item Imp_Nindex of Imp_libelle as item
    Note que pour les routines Ecritcsv et Litcsv tu as juste à les appeler une fois pour le cvs web et une fois pour le csv impression, avec leur liste de paramètres adéquat.

    Enfin, tu indiques l'utilisation de check box pour faire un choix.
    La norme est d'utiliser les check box pour les choix indépendants: il peut y avoir l'un seulement coché, ou les deux ou aucun.
    Si tu souhaites un choix exclusif, l'un ou l'autre mais ni aucun, ni les 2, il faut utiliser les "radio buttons" qui figurent en bas de ton exemple.

    Cordialement

  7. #27
    Membre à l'essai
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 24
    Points
    24
    Par défaut Bouton radio ne fonctionne pas avec enabling group
    Salut Pbell,

    J'ai mis du temps à répondre car j'ai tester diverses pistes (et suivi aussi l'autre discussione... je te remercie encore pour ton aide).
    Concernant cette discussion, ce qui me parait bien avec les check box c'est que quand le statut et off (case non cochée) le dropdown devient en grisé donc impossible de choisir une valeur dans le dropdown. Indesign nomme cel enablig group.
    Cela m'intéresse car ainsi on limite la possibilité d'erreur lors du choix entre les 2 dropdown.

    Maleureusement, il semblerait que ce procédé de enbling group ne fonctionne pas avec les boutons radio, car quand on crée cet enabling group, applescript crée automatiquement une check box.
    Je te joins une capture d'écran du dictionnaire Indesign.

    Pour contourner ce problème, j'ai pensé à mettre une conditionnelle du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if enableGroup1 to checked state is true then
    			enableGroup2 to checked state is false
    		else if enableGroup1 to checked state is false then
    			enableGroup2 to checked state is true
    		end if
    Mais ça ne marche pas.

    Quel est ton avis sur enabling group ? Dois-je définitivement écarter cette piste ?

    Dans ce cas, que penses-tu de l'utilisation d'une conditionnelle et comment m'y prendre ?

    Merci d'avance.
    Images attachées Images attachées  

  8. #28
    Membre éprouvé

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 602
    Points : 1 239
    Points
    1 239
    Par défaut
    Bonsoir,
    le dictionnaire dans ta copie d'écran indique que un "enabling group" peut contenir des "radio buttons".
    C'est donc là qu'il faut chercher. Adobe a bien prévu ce type de boutons.

    Cordialement

  9. #29
    Membre à l'essai
    Homme Profil pro
    Graphiste
    Inscrit en
    Décembre 2013
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Graphiste
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2013
    Messages : 82
    Points : 24
    Points
    24
    Par défaut Je vais fouiller
    Bonsoir PBell,

    Effectivement enablig group contient divers éléments mais il semblerait que ce qui commande enabling group (ce qui permet de rendre actif ou non une zone contenant divers éléments) soit une case à cocher.
    Du coup si seule une case à cocher rend actif ce qui est contenu dans enabling group cela ne sera pas exclusif.
    J'ai déjà pas mal chercher et testé. J'ai voulu créer un enabling group rattacher à un bouton radio mais rien ne fonctionne.

    Je vais encore fouiner et te tiens au courant.

    A bientôt.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/05/2010, 14h28
  2. Réponses: 3
    Dernier message: 10/08/2009, 17h39
  3. Présélectionner une valeur par défaut dans liste déroulante
    Par kate59 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/07/2009, 22h52
  4. avoir une ligne sélectionné par défaut dans un jtable
    Par minanoun dans le forum Composants
    Réponses: 4
    Dernier message: 12/04/2009, 19h15
  5. Valeur par défaut dans liste déroulante
    Par martin_malin dans le forum IHM
    Réponses: 1
    Dernier message: 24/09/2008, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo