[Squeak-fr] Re: Positionnement des morphs : Layout et compagnie

Dreyfuss Pierre-André (EDU) pierre-andre.dreyfuss at edu.ge.ch
Ven 21 Juil 21:42:02 UTC 2006


Bonjour,

Il y a quelque jours je suis tombé sur un projet E-toy qui explique les menus de la disposition table,
Je l'ai mis sur le superswiki après quelques modifications pour le rendre compatible, Curieusement il se charge mais provoquait  des erreurs au moment de le sauver.

Voici l'adressse:

http://ofset.org:8000/super/165
Je pense le traduire, mais pas tout de suite

Amitiés

-------- Message d'origine--------
De: squeak-fr-bounces at lists.squeakfoundation.org de la part de Alain Plantec
Date: ven. 21/07/2006 16:43
À: Squeak in french / Squeak en français
Objet : [Squeak-fr] Re: Positionnement des morphs : Layout et compagnie
 
Bonjour,
je pense avoir trouvé mieux finalement, j'ai complété la FAQ sur ofset avec :

on peut utiliser Morph>>#layoutInset: et Morph>>#cellInset: : 
ces deux méthodes prennent un point en argument pour spécifier l'espace horizontal et vertical; 
#layoutInset: est pour l'espace intérieur du conteneur 
#cellInset: est pour l'espace intérieur entre les morphs contenus 

   | conteneur rect1 rect2 rect3 |
   conteneur := AlignmentMorph newRow 
   color: Color black;
   layoutInset: 50 @ 0;
   cellInset: 50 @ 0;
   hResizing: #shrinkWrap;
   vResizing: #shrinkWrap.
   rect1 := RectangleMorph new  extent: 50 @ 20; color: Color red.
   rect2 := RectangleMorph new extent: 50 @ 20; color: Color blue.
   rect3 := RectangleMorph new extent: 50 @ 20; color: Color green.
   conteneur 
      addMorph:  rect1 ;
      addMorph: rect2;
      addMorph: rect3;
      openInWorld.

C'est mieux car on évite l'utilisation d'un morph fantôme et c'est paramétrable en x et y.
Il faut un morph conteneur avec un TableLayout.

alain

FERRERE Frédéric a écrit : 
> Bonjour,
>
> Une petite question sur le positionnement des morphs.
>
> Je souhaite placer 3 morphs en ligne dans un morph plus grand (un
> tableau à 3 colonnes),
> de telle sorte que l'espace entre les morphs et les bordures soient égaux.
>
> La seule manière que j'ai trouvé pour réaliser ce placement est
> d'utiliser 4 morph "espace".
> Cette technique donne le résultat escompté mais existe t'il un moyen
> d'arriver  au même résultat
> sans utiliser ces morphs supplémentaires ?
>
> Merci.
>
> | contener rect1 rect2 rect3 space1 space2 space3 space4 |
>
>     contener := Morph new
>                     extent: 300 at 300;
>                     color: Color black;
>                     layoutPolicy: (TableLayout new);
>                     listDirection: #leftToRight;
>                     listCentering: #justified;
>                     wrapCentering: #center.
>
>     space1 := Morph new
>                 hResizing: #spaceFill;
>                 color: Color transparent.
>     space2 := Morph new
>                 hResizing: #spaceFill;
>                 color: Color transparent.
>     space3 := Morph new
>                 hResizing: #spaceFill;
>                 color: Color transparent.
>     space4 := Morph new
>                 hResizing: #spaceFill;
>                 color: Color transparent.
>
>     rect1 := RectangleMorph new
>                     extent: 50 at 20;
>                     color: Color red.
>     rect2 := RectangleMorph new
>                     extent: 50 at 20;
>                     color: Color blue.
>     rect3 := RectangleMorph new
>                     extent: 50 at 20;
>                     color: Color green.
>
>     contener addMorph: space1;
>             addMorph: rect1 ;
>             addMorph: space2;
>             addMorph: rect2;
>             addMorph: space3;
>             addMorph: rect3;
>             addMorph: space4;
>             openInWorld.
>
>
> Cordialement,
>
> --
> Frédéric
_______________________________________________
Squeak-fr mailing list
Squeak-fr at lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr



More information about the Squeak-fr mailing list