[squeak-dev] minExtent vs. minHeight/minWidth

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] minExtent vs. minHeight/minWidth

Markus Lampert
Hi all,

I'm looking into fixing the ProportionalSplitterMorph behaviour in SystemWindow and came across minHeight and minWidth, which return unrelated results to minExtent (quite to my surprise).

minHeight/minWidth almost always return 2 unless specifically set otherwise, via minHeight:/minWidth:. minExtent actually tries to come up with a reasonable minimum extent for the receiver.
Given the naming I would have expected minHeight/minWidth to be implemented in terms of minExtent, or vice versa.

Does somebody know what the intent of the 2 different interfaces is (the method comments don't help)?

Thanks,
Markus



     

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: minExtent vs. minHeight/minWidth

Andreas.Raab
Hi Markus -

The difference is that #minExtent includes the layout constraints that
result from submorphs, whereas minWidth/minHeight are considered the
"intrinsic" minimal representation of the morph. There is a need for
both interfaces since the minExtent needs to be based on the minimum
intrinsic size though the choice of names might be arguable ;-)

Put differently, minWidth/minHeight represents is the "atomic" minimum
size, whereas #minExtent represents the compositie minimum size
considering the layout constraints.

Cheers,
   - Andreas

Markus Lampert wrote:

> Hi all,
>
> I'm looking into fixing the ProportionalSplitterMorph behaviour in SystemWindow and came across minHeight and minWidth, which return unrelated results to minExtent (quite to my surprise).
>
> minHeight/minWidth almost always return 2 unless specifically set otherwise, via minHeight:/minWidth:. minExtent actually tries to come up with a reasonable minimum extent for the receiver.
> Given the naming I would have expected minHeight/minWidth to be implemented in terms of minExtent, or vice versa.
>
> Does somebody know what the intent of the 2 different interfaces is (the method comments don't help)?
>
> Thanks,
> Markus
>
>
>
>      
>
>