[Squeak-fr] Re: Positionnement des morphs : Layout et compagnie
Alain Plantec
alain.plantec at univ-brest.fr
Ven 21 Juil 14:43:40 UTC 2006
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
More information about the Squeak-fr
mailing list