Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2015-04-20T23:01:55+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Gestion du clavier avec VisualWorks, message #526882015-04-20T23:01:55+02:00Lalla/@Lallahttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p52688<p>C'est pas ça le problème. C'est qu'au lieu, comme tu l'as dit, de faire de l'IHM, on fait de la POO et en plus, c'est même pas de la POO type "IHM pour montrer comment c'est bien l'objet grâce à Smalltalk", mais plus "faites de l'IHM et de l'objet à la gloire de Smalltalk". Quand on voit le déroulement du cours, on dirait que le langage est plus une finalité qu'un outil, ce qui est très déplaisant.</p>
<p>Et entre Java qui nous servira peut-être un jour et Smalltalk, qui, s'il nous sert un jour, a de grandes chances de nous demander une autre distro (Pharo, Squeak…) et donc de réapprendre la plupart de ce qu'on voit… je préfère Java (même si…). <img alt=":D" src="/static/smileys/heureux.png"></p>Gestion du clavier avec VisualWorks, message #526732015-04-20T22:03:34+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p52673<p>Merci. <img alt=":)" src="/static/smileys/smile.png"></p>
<blockquote>
<p>(qui ne traite pas vraiment d'IHM…)</p>
</blockquote>
<p>C'est souvent comme ça : les cours intitulés "interface graphique" sont un prétexte pour faire étudier la POO. Honnêtement, tu ne t'en tires pas si mal - ça aurait pu être du Java…</p>Gestion du clavier avec VisualWorks, message #526132015-04-20T18:45:32+02:00Lalla/@Lallahttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p52613<p>VisualWorks parce qu'il nous est imposé et qu'on utilise toute sa bibliothèque graphique, donc on ne peut pas s'en passer. Si on avait le choix, on aurait pas rempli le questionnaire de 10km de Cincom pour télécharger VisualWorks ^^.</p>
<p>Tu devrais trouver un peu tous les documents de notre cours <a href="http://wsn.univ-brest.fr/moodle/course/view.php?id=22">ici (wsn.univ-brest.fr)</a>. Si le site te demande de te connecter, choisis la connexion anonyme et cherches le cours IHM2015 (qui ne traite pas vraiment d'IHM…).</p>Gestion du clavier avec VisualWorks, message #526052015-04-20T18:02:23+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p52605<p>Je ne connais pas Smalltalk, mais, par curiosité : pourquoi VisualWorks ? Est-ce un choix fait par le cours, ou est-ce que vous êtes libres d'utiliser l'implémentation de votre choix ? Le cours a-t-il une page web qui le présente ?</p>Gestion du clavier avec VisualWorks, message #525582015-04-20T11:56:28+02:00Lalla/@Lallahttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p52558<p>Bonsoir,</p>
<p>à force de charcher dans des lieux toujours plus obscurs, j'ai fini par trouver. Il se trouve que par défaut, les contrôleurs ne reçoivent pas les évènements clavier, il faut explicitement les rediriger à partir de l'UI. Ainsi, dans UIPong, il a fallu que je crée la méthode suivante :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5</pre></div></td><td class="code"><div class="codehilite"><pre><span class="nf">postOpenWith:</span> <span class="nv">aBuilder</span>
<span class="bp">super</span> <span class="nf">postOpenWith:</span> <span class="nv">aBuilder</span><span class="p">.</span>
<span class="nv">aBuilder</span> <span class="nf">window</span> <span class="nf">keyboardProcessor</span> <span class="nf">keyboardHook:</span> [ <span class="o">:</span><span class="nv">kbEvent</span> <span class="o">:</span><span class="nv">c</span> <span class="o">|</span>
<span class="bp">self</span> <span class="nf">view</span> <span class="nf">controller</span> <span class="nf">processKeyboardEvent:</span> <span class="nv">kbEvent</span> ]<span class="p">.</span>
</pre></div>
</td></tr></table>
<p>Je laisse ceci pour la postérité.
Bisou.</p>Gestion du clavier avec VisualWorks, message #519552015-04-16T10:25:54+02:00Lalla/@Lallahttps://zestedesavoir.com/forums/sujet/2875/gestion-du-clavier-avec-visualworks/?page=1#p51955<p>Bonjour à tous,</p>
<p>étant en train de réaliser un bête jeu de pong en Smalltalk (à l'aide de VisualWorks), je viens vous trouver à cause d'un problème auquel je ne trouve aucune solution. Je n'arrive à capturer aucun évènement clavier.</p>
<p>Afin de dégrossir le problème, mon projet se compose pour l'instant des classes suivantes :</p>
<ul>
<li>Ball : le modèle de la balle</li>
<li>Player : le modèle d'un joueur (on a le joueur bleu et le rouge qui sont instances de cette classe)</li>
<li>PongController : le contrôleur censé gérer les évènements</li>
<li>PongView : la vue</li>
<li>UIPong : l'UI générée avec le painter de VW.</li>
</ul>
<p>J'ai surchargé la méthode <code>defaultControllerClass</code> de ma vue pour créer une instance de PongController :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="codehilite"><pre><span class="nf">defaultControllerClass</span>
<span class="o">^</span><span class="nc">PongController</span>
</pre></div>
</td></tr></table>
<p>Puis, après avoir fouillé dans le "browser" de VW, j'ai vu qu'il me fallait surcharger <code>keyPressedEvent:</code> et <code>processKeyboardEvent:</code> dans ma classe PongController, ce que j'ai fait :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3
4
5
6
7
8</pre></div></td><td class="code"><div class="codehilite"><pre><span class="nf">keyPressedEvent:</span> <span class="nv">event</span>
<span class="c">"J'ai laissé le code de base"</span>
<span class="o">^</span><span class="bp">self</span> <span class="nf">processKeyboardEvent:</span> <span class="nv">event</span><span class="p">.</span>
<span class="nf">processKeyboardEvent:</span> <span class="nv">event</span>
<span class="c">"Code de test censé fonctionner (testé lui-même dans un workspace)"</span>
<span class="nc">Transcript</span> <span class="nf">show:</span> <span class="s">'L''evenement a ete traite'</span><span class="p">.</span>
<span class="o">^</span><span class="bp">nil</span><span class="p">.</span>
</pre></div>
</td></tr></table>
<p>Donc, peu importe la touche que je martèle, rien ne se produit. Selon un de mes professeurs, ça viendrait d'une histoire de focus, mais rien n'y fait.</p>
<p>Merci beaucoup d'avance.<br>
Bisou.</p>