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

ducasse ducasse at iam.unibe.ch
Mar 30 Sep 22:41:07 CEST 2003


C'est clair Morph vu comme est monstrueux et que peu de gens font du 
fric avec Squeak ben
c'est dans un etat pas trop mal je dirais.

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