Thanks gary.�
Indeed #minExtent give something interesting according the 'resizing strategy' of the submorphs (#rigid #spaceFill #shrinkWrap). If resizing of submorphs are #rigid, it works well. For example :

� ��|tmpPanelMorph|
� � tmpPanelMorph := PanelMorph new changeTableLayout;hResizing: #shrinkWrap;
vResizing: #shrinkWrap; listDirection: #leftToRight; yourself.�
� � tmpPanelMorph addMorphBack: (�
(PluggableListMorph�
on: (ListModel new list: #(adededed ) ;yourself)�
list: #list
selected: #selectionIndex�
changeSelected: #selectionIndex: ) hResizing: �#rigid; vResizing: �#rigid ; yourself) �.
� � �tmpPanelMorph addMorphBack: (�
(PluggableListMorph�
on: (ListModel new list: #(a b c d e f g �h i j �k l m n ) ;yourself)�
list: #list
selected: #selectionIndex�
changeSelected: #selectionIndex: ) hResizing: �#rigid; vResizing: �#rigid ; yourself).
� � � � tmpPanelMorph minExtent.


The minExtent is 'correct'. Now if you try with:

� �|tmpPanelMorph|
� �tmpPanelMorph := PanelMorph new changeTableLayout;hResizing: #shrinkWrap;
vResizing: #shrinkWrap; listDirection: #leftToRight; yourself.�
� �tmpPanelMorph addMorphBack: (�
(PluggableListMorph�
on: (ListModel new list: #(adededed ) ;yourself)�
list: #list
selected: #selectionIndex�
changeSelected: #selectionIndex: ) hResizing: �#spaceFill; vResizing: �#spaceFill ; yourself) �.
� �tmpPanelMorph addMorphBack: (�
(PluggableListMorph�
on: (ListModel new list: #(a b c d e f g �h i j �k l m n ) ;yourself)�
list: #list
selected: #selectionIndex�
changeSelected: #selectionIndex: ) hResizing: �#spaceFill; vResizing: �#spaceFill ; yourself).
� � tmpPanelMorph minExtent.

It answers something smaller. So I don't know if it would make sense to be able to retreive the same extent whatever the 'extending stratgies' of the submorphs ? Maybe another method that would always return this value (optimalExtent like you said) ?


2011/5/23 Gary Chambers <gazzaguru2@btinternet.com>
Try #minExtent, though that won't cater for things with scrollbars.
Perhaps worth re-implementing #optimalExtent to deal with those.

Regards, Gary
----- Original Message -----
Sent: Friday, May 20, 2011 2:34 PM
Subject: [Pharo-project] How to know 'real' extent of a PanelMorph

Hello,

I have a panelMorph composed by several row/columns with different kind of morphs.
What I would like to know is, what is the extent / size that I should use to FULLY display this panel (without scrollbars).�
Each time I ask for the extent of a panelMorph, it answers 50@40, whatever what is inside. If you openInWorld you will have something very very small.
Is there a way to retrieve an extent with which the panel morph will be 'well' displayed (without having scrollbars everywhere)?

In other words, what I really want to know is:
Given two panelMorph, is there a way to say that one need more place than the other to be displayed?