Mon activite : Choisir - Ecrire - Lire - Ecouter - Demander - Dialoguer - Voir Comparer- ... (tiens, voila l'ebauche de la structure du Swiki utilisateur !)
Tiens! dans la famille "Dialoguer" , j'ai besoin de proposer un popup Menu
Je regarde les objets proposes par Squeak : bingo : "PopUpChoice"
Je parviens a changer "PopUpChoice of Colors" en "Votre reponse, s'il vous plait..."
Bien , mais j'ai envie de definir le menu proposé .......(directement d'abord, faut pas etre trop difficile, je debute...)
Il est 14h42 et je vois encore toutes les couleurs.......:-) 75% des utilisateurs futurs ont deja quitte Squeak....
Merci pour la reponse... :-)
__________ FidelioEspoir Le contraire du mal, c'est la pensee "People need new tools to work with rather than tools that "work" for them." .- Tools for Conviviality ._ Ivan Illich 1973 http://perso.wanadoo.fr/fidelioespoir/Methode/index.html
Ben voila, c'est l'exemple type de probleme ou je trouve plus rapide de réinventer la roue a l'aide des trois bouts de ficelle que je connais plutôt que passer du temps comprendre le fonctionnement non documenté d'une nouvelle classe comme PopUpChoiceMorph. La procedure suivante n'est certainement pas standard, ce n'est même pas un vrai menu "popup", puisqu'il faut supprimer soi même le menu après son choix, alors qu'il devrait s'effacer de lui même. Mais ca marche, et ca permet d'experimenter en attendant de trouver une doc.
Je commence par creer un objet qui réagira au clic du bouton droit de la souris. Pour ce faire, je lui assigne les deux methodes suivantes:
handlesMouseDown: evt ^evt yellowButtonPressed
et surtout: mouseDown: evt | menu b c | menu:=Morph new. menu extent: 100@100. menu position:self position. menu layoutPolicy: TableLayout new. menu listDirection: #topToBottom. menu listCentering: #topLeft. menu wrapDirection: #topToBottom.
b:= SimpleButtonMorph new. b target: menu; label: 'quitter'; actionSelector: #delete. menu addMorph: b .
c:= SimpleButtonMorph new. c target: self; label: 'colorier en rouge'; actionSelector: #colorred. menu addMorph: c .
menu openInWorld.
la methode "colorred" assignée à mon morph de départ est une instruction toute bete destinée à le faire changer de couleur.(self color:color red.). On peut bien sur en ajouter d'autres. Penser à modifier la taille du morph en fonction du nombre de boutons, evidemment. Le second et dernier bouton, comme son nom l'indique, quitte le menu. Pas très élégant, mais pas forcément négatif, puisqu'il permet d'effectuer plusieurs choix dans son menu avant de quitter ce dernier...
Bon, c'est du McGyver et ca vaut ce que ca vaut, mais je le repete, je ne suis pas un pro, et ce genre de truc me permet d'avancer dans mes projets sans me poser trop de questions...de "prototyper" comme on dit..
Remi
----- Original Message ----- From: "Carette.pierre-marie" carette.pierre-marie@wanadoo.fr To: squeak-fr@lists.squeakfoundation.org Sent: Thursday, September 18, 2003 3:00 PM Subject: [Squeak-fr] encore le newbie : popUpQuestion !
Mon activite : Choisir - Ecrire - Lire - Ecouter - Demander - Dialoguer - Voir Comparer- ... (tiens, voila l'ebauche de la structure du Swiki utilisateur !)
Tiens! dans la famille "Dialoguer" , j'ai besoin de proposer un popup Menu
Je regarde les objets proposes par Squeak : bingo : "PopUpChoice"
Je parviens a changer "PopUpChoice of Colors" en "Votre reponse, s'il vous plait..."
Bien , mais j'ai envie de definir le menu proposé .......(directement d'abord, faut pas etre trop difficile, je debute...)
Il est 14h42 et je vois encore toutes les couleurs.......:-) 75% des utilisateurs futurs ont deja quitte Squeak....
Merci pour la reponse... :-)
__________ FidelioEspoir Le contraire du mal, c'est la pensee "People need new tools to work with rather than tools that "work" for them." .- Tools for Conviviality ._ Ivan Illich 1973 http://perso.wanadoo.fr/fidelioespoir/Methode/index.html _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/listinfo/squeak-fr
PopUpChoiceMorph newStandAlone openInWorld
Apres qd on click dessus la morph on a la liste de couleur si on clique sur une la chaine est changee.
- getItemsSelector: le message a envoye a target pour avoir la liste des colors par exemple - target: la class ou l'objet qui recoit getItemsSelector et retourne la liste - arguments: si on a besoin de specifier des arguments au precedent message
Example:
(PopUpChoiceMorph newStandAlone target: Smalltalk; getItemsSelector: #classNames) openInHand
have fun
squeak-fr@lists.squeakfoundation.org