<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12825 >
> [cproc - Sat Feb 28 21:54:33 2009]: > > something that makes me wonder: > > when I decrease the height of the window, there's a certain > limit where the height cannot be decreased anymore. One > part that defines this limit is a certain minimum height > of the map and of the widgets on the left side, that's > ok. But the message pane doesn't seem to have such a > minimum height - I can shrink it down to zero with the > pane separator. And when I do this, at the same time the > upper pane increases its height again, so now it should > be possible to decrease the window height even more until > the upper pane has reached its minimum height again. But > for some reason that's not possible? I think this just due to how the widget size requisition/ allocation code is implemented in gtk, in particular for the paned widget. When widgets are packed into the panes the programmar can specify whether they are allowed to be shrunk below their requisition, which is what allows you to resize the message pane below its requested height (if the top part was packed with those parameters too, you could also move the pane separator up through the top widgets beyond their requested height; I tried altering the code to allow this but it really just resulted in ugly overlap effects). Resizing the window cannot make the area inside the panes shrink because the paned widget is telling the window that it wants the whole area, i.e. since the user moved the separator to increase the total height of the paned widget. If the above is confusing and you still want to try to understand what is going on, there is the free gnome programming book online with a chapter discussing how gtk widget size allocation works: http://developer.gnome.org/doc/GGAD/sec-containers.html ----------------------------------------------------------------------- 本で読んだから、本当だろうね。 _______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev