[Pharo-project] A lil simplification of MorphTreeNodeMorph

Igor Stasenko siguctua at gmail.com
Wed Apr 6 10:23:47 CEST 2011


On 6 April 2011 09:45, Alain Plantec <alain.plantec at yahoo.com> wrote:
> Le 06/04/2011 08:57, Igor Stasenko a écrit :
>>
>>> another point, try all examples in Morphic-MorphTreeWidget-Examples.
>>> now, the height of each row is constant.
>>
>> Yes, so what it should be instead?
>
> it should be dependent on the content height, so as it was before.
> another problem is the spacers removal.
> now, the horizontal positioning is broken (they was here to take into
> account the vertical resizers width)
> see the screen shots.
>
> try SimpleGridExample new open before and after the changes.
> to exhibit the problem, change the resizerWidth from 2 to 12 as an example
> (just set it to 12 in SimpleGridExample>>treeMorph)
>

Btw, why in this grid example it uses tree morph?

As to me it sounds a bit of abuse.

Tree morph widget should focus on displaying trees, but not grids.
I think it would be better to use separate widget for representing the grids,
because obviously a data model for grids is not quite same as for
tree, and thus it could use different strategy to generate/represent
grid data.

> I think that MorphTreeMorph can't be efficient for very big lists
> because each row may contain a lot of morphs.
> This is why I've also implemented LazyMorphTreeMorph.
> Try it, it is very much efficient but badly implemented.
> I think it should use a background process to build the list
> (something like what you did for the annotation pane).
>
> Cheers
> Alain
>
>>> It is because of the RowLayout that is used for MorphTreeNodeMorph
>>> instead
>>> of a ProportionalLayout.
>>> see ClassTreeExample before and after your changes.
>>>
>>> ClassTreeExample new openOn: Object
>>>
>> i will
>>>
>>> cheers
>>> Alain
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Pharo-project mailing list