On Tue, 2010-09-14 at 12:45 -0400, Matthias Clasen wrote: > This is indeed quite a brain teaser. > > I don't think your current approach of incrementally bumping the size > group requisition does even work correctly. How does the size group > requisition ever become smaller again ? The pre-hfw sizegroup code > always looped over all widgets to determine the size group > requisition, which seems to me the only way to make things work. > > I'll attach a simple example that shows the problem with incremental > bumping. If you use the hpaned to make the long label unwrap > completely, the height request does not get reduced to a single line > height, as you can see by using the vpaned.
Thankfully the size groups are not broken in exactly the way that we suspected (testgtk's size group test shows that we do indeed reset the requested sizes for every resize queued on the group). As a general wrap-up of this issue, as we discussed on irc there is no way we can accurately group the sizes of height-for-width (or width-for-height) widgets (at least for widgets that actually make the trade). Commit cc243d5887294c760492e43c0330eb5e2c3358cb adds the following text to the size-group documentation describing the issue: <para> Note that only non-contextual sizes of every widget are ever consulted by size groups (since size groups have no knowledge of what size a widget will be allocated in one dimension, it cannot derive how much height a widget will receive for a given width). When grouping widgets that trade height for width in mode %GTK_SIZE_GROUP_VERTICAL or %GTK_SIZE_GROUP_BOTH: the height for the minimum width will be the requested height for all widgets in the group. </para> For what its worth, size groups will still work fine with widgets that are configured to have a static size (not wrap) or for growing widgets that do not trade sizes (like ellipsizing labels) Also pushing the fix that synchronizes natural sizes along with minimum sizes (commit d370aee7fd0605b47740f39971ef1a736717d760). I think that pretty much closes the issues we've found with size groups. Cheers, -Tristan _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list