I have found it quite a nuisance to have to iteratively adjust pixel
placement and sizing of widgets to get a good-looking dialog box.
So, I propose that widgets have "preferred sizes" that layout
managers will attempt to honor.
Widgets could have a function "getPreferredSize" that returns the
widget's recommended (w,h) size. The Base implementation would be
to return the widget's current size, but it is overriden, for example, by
buttons, which are usually fixed-height. One way layout managers
could honor this is by checking whether the preferred width or
height of a widget is smaller than the size allocated to it; if so, then it
will only make the widget that size, and it will center the widget within
If this is implemented, then there should also be a way of saying that
a widget does not have a preferred size, for example by returning a
(None, None) tuple.