[Squeak-fr] Re: [TableLayout] Peut-on faire des tableaux avec ce
Layout ?
ducasse
ducasse at iam.unibe.ch
Mar 30 Sep 21:49:27 CEST 2003
salut alain
as-tu regarde le package (en cours) nomme Brick developpe par todd
blanchar?
Il a un modele inspire de NextStep. Je n'ai jamais joue avec.
Stef
On Mardi, sep 30, 2003, at 20:27 Europe/Zurich, ALR wrote:
> Salut
>
> (Chantal) la désous un bout de code si ca peut t'aider :o)
> Mets le ds un wokspace, selectionne en entier (C-A) et évalues.
>
> Le TableLayout ne peut pas garantir la même taille pour toutes les
> lignes,
> le layout
> proportionnel est mieux pour cela.
>
> Est cequ'y a qqu'un qui a écrit-refléchit-..??##**..- sur un layout
> plus
> sioux, style gridbalyout de java (mais en + simple :-))
> qui éviterait d'imbriquer douze millions de layouts et morphs pour
> faire un
> écran de saisie à 10 champs?
>
>
> cordialement,
> Alain
>
>
>
> | t |
> " le morph principal rectangulaire, arrangé avec un tablelayout de
> haut vers
> le bas.
> le resizing est #spaceFill pour occuper tt l'espace du morph"
> t _ RectangleMorph new beTransparent ; borderWidth: 0;
> layoutPolicy: TableLayout new; hResizing: #spaceFill; vResizing:
> #spaceFill;
> listDirection: #topToBottom ; cellPositioning: #topLeft ;
> extent:200 at 150.
>
> "Ajouter 4 lignes"
> 1 to: 4 do: [ :l | | r |
>
> "la ligne est un morph arrangé avec un layout proportionel, les
> cellules
> seront
> ajoutées avec un LayoutFrame qui indiquera la position ds la ligne :
> 1/4 en
> largeur, 1 en hauteur"
> r _ RectangleMorph new beTransparent ; borderWidth: 0;
> layoutPolicy: ProportionalLayout new ;
> hResizing: #spaceFill ; vResizing: #spaceFill.
>
> " ajout de la ligne au tableau"
> t addMorphBack: r.
>
> " ajout de 4 cellules à la ligne"
> 1 to: 4 do: [ :c | | cell text string |
>
> " la cellule a un layout proportionnel pour pouvoir centrer le texte
> (tip
> NedKonz)"
> cell _ RectangleMorph new borderWidth: 1 ; layoutPolicy:
> ProportionalLayout new ;
> borderStyle: (BorderStyle raised width: 2).
> string _ ''.
> (l = 1 and: [ c = 1 ]) ifTrue: [ string _ 'x'].
> (l = 1 and: [ c > 1 ]) ifTrue: [ string _ 'e', c asString ].
> (l > 1 and: [ c = 1 ]) ifTrue: [ string _ 'e', (l + 2) asString ].
> text _ StringMorph new contents: string.
>
> " le textmorph est ajouté à la cellule, centré en lui donnant un
> offset
> égal à la moité
> de la largeur et hauteur du texte"
> cell addMorph: text fullFrame: (LayoutFrame new leftFraction: 0.5
> offset:
> text width // -2 ;
> topFraction: 0.5 offset: text height // -2 ).
>
> "Ajoute la cellule à la ligne, occupe 1/4 (0.25) de largeur de la
> ligne et
> hauteur 1 (100%)"
> r addMorph: cell fullFrame: (LayoutFrame fractions: (c-1*0.25 at 0
> extent:
> 0.25 at 1)).
> ].
> ].
>
> t openInWorld.
>
>
> "Alexandre Benoit"
> <alexandre.benoit13 at wanadoo.fr> a écrit dans le
> message de news: 3F71EE21.1060501 at wanadoo.fr...
>> Bonjour,
>> Je sais utiliser TableLayout pour aligner verticalement ou
>> horizontalement des Morphs.
>> Mais est-il possible de créer un tableau de Morph autrement qu'en
>> alignant verticalement des Morphs qui sont eux-mêmes des alignements
>> horizontaux de Morph ?
>> Je pose la question par ce que pour moi ça revient pas au même.
>> J'essaye
>> de coder un jeu de logigramme où l'écran est divisé en trois parties.
>> 1) Une matrice de cases noires ou blanches.
>> 2) Une zone d'énoncé au dessus de la matrice avec un énoncé pour
>> chaque
>> colonne.
>> 3) Une zone d'énoncé à gauche de la matrice avec un énoncé par ligne.
>> Les problèmes c'est qu'il faut mettre les énoncés bien en regard avec
>> la
>> matrice. En plus en haut à gauche il y a une zone vide qui décale
>> tout.
>> Schéma :
>> =======
>> Vide e1 e2 e3
>> e4 x x x
>> e5 x x x
>> e6 x x x
>> Si je fais un alignement vertical d'alignements horizontaux j'aurai du
>> mal à faire coïncidé e1 e2 et e3 avec leurs colonnes respectives.
>> Si je fais un alignement horizontal d'alignements verticaux j'aurai du
>> mal à faire coïncidé e4 e5 et e6 avec leurs lignes respectives.
>>
>> Avez-vous une suggestion à me faire ?
>> Remarque j'ai pas envie d'utiliser un truc rigide avec placement "à la
>> main" des sous Morphs comme dans MinesBoard>>adjustTiles par ce que ça
>> supprime la possibilité de tout redimensionné en redimensionnant le
>> Morph par exemple à l'aide du halo.
>> Peut-être ma solution c'est le ProportionnalLayout, mais je connais
>> pas
>> bien ce Layout les tutoriaux parlent surtout de l'autre.
>>
>> Merci de vos suggestions
>
>
>
> _______________________________________________
> Squeak-fr mailing list
> Squeak-fr at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/listinfo/squeak-fr
Plus d'informations sur la liste de diffusion Squeak-fr