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

Alain Plantec alain.plantec at univ-brest.fr
Mar 6 Juin 07:29:17 UTC 2006


Bonjour Frédéric,
Sur le fond, a ma connaissance il n'y a pas d'autre solution.
voici une version peut-etre un peu simplifiée mais qui ne change pas 
grand chose.

 | contener rect1 rect2 rect3 vide |
   contener := AlignmentMorph new <-- TableLayout par défaut
            color: Color black;
             layoutInset: 0; <-- espace bords intérieurs
             hResizing: #shrinkWrap;   <-- si tu veux que la dim 
horizontale soit calculée à partir du contenu
             vResizing: #shrinkWrap.
   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.
   vide := (RectangleMorph new extent: 50 at 20) color: Color transparent.
   contener addMorph:  vide;
        addMorph:  rect1 ;
          addMorph: (vide veryDeepCopy ) ;
          addMorph: rect2;
          addMorph: (vide veryDeepCopy) ;
          addMorph: rect3;
          addMorph: (vide veryDeepCopy) ;
          openInWorld.


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