To evidence this problem:

red := Morph new.
red color: Color red.
yellow := Morph new.
yellow color: Color yellow.
green := Morph new.
green color: Color green.
semaphore := Morph new.
semaphore
        changeTableLayout ;
        addMorph: red ;
        addMorph: yellow ;
        addMorph: green.
semaphore openInWorld.  


You see that the semaphore is not correctly laid out.

Of course you could add them in inverse order, or play with the 
#morphicLayerNumber....but i think that this ordering should be explicit.




On Oct 22, 2010, at 2:45 PM, Fernando olivero wrote:

> In order to provide compatibility with the existing Morphs, i've propose that 
> the if any submorphs does not use #precedence, the behavior defaults to 
> #submorphs.
> 
> 
> Morph>>orderedSubmorphs
>       | usePrecedence morphs |
>       usePrecedence := submorphs anySatisfy:[:each| each precedence = 0 ].
>       usePrecedence not ifTrue:[ ^ submorphs ].
>       morphs := submorphs select: #visible.
>       morphs sort: [:a :b| a precedence <= b precedence ].
>       ^ morphs 
> 
> On Oct 22, 2010, at 2:35 PM, Fernando olivero wrote:
> 
>> Currently, the submorph order isn't explicit.
>> 
>> Which means that adding several submorphs in a certain order, is no 
>> guarantee that they will appear in the desired order when laid out using a 
>> LayoutPolicy. Because the #morphicLayoutNumber is used.
>> 
>> 
>> I've propose the following:
>> 
>> 1. Add Morph>>precedence
>> 2. Add Morph>>orderedSubmorphs 
>> 3. Modify the existing LayoutPolicies to use orderedSubmorphs instead of 
>> submorphsDo:
>> 
>> 
>> ISSUE 3136.
>> 
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to