when the user may resize a component, or columns in a components, or user may specify widths or heights, we should use a preferred_width field. When we calculate width, use preferred_width if present, else calculate it. Program never updates preferred_width. However, the question is what when a user resizes a component or sub-component. We want to respect that and not overwrite. So currently, i suggest that we update preferred_width on resizing, dragging etc. This does mean that the original specified width is lost, so a reset_to_preferred_sizes is not possible.
NOTES relating the the rbcurse gem (ruby ncurses widgets)
October 20, 2010
Usage of preferred_size