[Squeak-fr] Re: Re: [TableLayout] Peut-on faire des tableaux avec ceLayout ?

ducasse ducasse at iam.unibe.ch
Mar 30 Sep 22:46:47 CEST 2003


Alain
il faut reporter les bugs dans la mailing-list c'est important. :)

Stef


On Mardi, sep 30, 2003, at 21:19 Europe/Zurich, ALR wrote:

> salut
>
> je viens de jeter un oeil, et ca a l'aie interessant.
>
> je suis assez d'accord avec le début : "... I simply couldn't ...
> predictably control layout of morphs...." :
> entre les evénements layoutChanged, les changements de focus, les 
> paramèters
> divers (autofit, autowrap etc) + les imbrications de morphs et de 
> layout,
> c'est pas trop étanche tout ca...
> par exple ds un écran j'ai un champ qui fait de la saisie à l'envers, 
> mais
> pas toujours - on va dire 3 fois sur 4- et pas s'il remplit 
> entièrement son
> morph parent (et j'ai essayé un paquet de combinaisons de layout, 
> resizing
> rigid, shrinkwrap etc).
> apparemmetn le curseur se remet au début du champ lors du layout, à 
> cause de
> ??? qui entrainerait une perte (temporaire) de focus...
> bref pas très pratique hein.
>
>
> merci pour le tuyau
>
> A+
>
> "ducasse" <ducasse at iam.unibe.ch> a écrit dans le
> message de news: D1903E08-F376-11D7-A767-000A9573EAE2 at iam.unibe.ch...
> 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@
>>
>> "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@
>> extent:
>> 0.25@)).
>>  ].
>> ].
>>
>> t openInWorld.
>>
>>
>> "Alexandre Benoit"
>> <alexandre.benoit139ZsbGIQGT5GWvitb5QawA at public.gmane.org> a écrit 
>> dans le
>> message de news: 
>> 3F71EE21.10605019ZsbGIQGT40+RUStk7vmg at public.gmane.org
>>>     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½51WKytQuJI8mQ4nJOOf3xJsTq8ys+cHZ5vskTnxNA at public.gmane.org
>> http://lists.squeakfoundation.org/listinfo/squeak-fr
>
>
>
> _______________________________________________
> 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