[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