Extended Layout Summary

2007-11-20 Thread Mathias Hasselmann
GTK+ finally has been branched for the next release cycle, which means that features can be added. So it seems to be a good time to descibe the extended layout patches I've created during this Summer of Code: * http://live.gnome.org/MathiasHasselmann/NewLayoutManager * http://bugzilla.gnome.or

Re: Extended Layout Summary

2007-11-20 Thread Vincent Untz
Hi Mathias, Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a écrit : > The solution to this problem is simple: Interpret the result of the > "size-request" signal as absolutely minimum size and introduce a new > function for expressing the natural size of a widget. Obviously somethi

Re: Extended Layout Summary

2007-11-20 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 14:10 +0100 schrieb Vincent Untz: > Hi Mathias, > > Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a écrit : > > The solution to this problem is simple: Interpret the result of the > > "size-request" signal as absolutely minimum size and introduce a new

Re: Extended Layout Summary

2007-11-20 Thread Vincent Untz
Le mardi 20 novembre 2007, à 08:45 -0500, Owen Taylor a écrit : > > On Tue, 2007-11-20 at 14:10 +0100, Vincent Untz wrote: > > Hi Mathias, > > > > Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a écrit : > > > The solution to this problem is simple: Interpret the result of the > > >

Re: Extended Layout Summary

2007-11-20 Thread Vincent Untz
Le mardi 20 novembre 2007, à 14:32 +0100, Mathias Hasselmann a écrit : > Am Dienstag, den 20.11.2007, 14:10 +0100 schrieb Vincent Untz: > > Hi Mathias, > > > > Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a écrit : > > > The solution to this problem is simple: Interpret the result

Re: Extended Layout Summary

2007-11-20 Thread Owen Taylor
On Tue, 2007-11-20 at 14:10 +0100, Vincent Untz wrote: > Hi Mathias, > > Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a écrit : > > The solution to this problem is simple: Interpret the result of the > > "size-request" signal as absolutely minimum size and introduce a new > > func

Re: Extended Layout Summary

2007-11-20 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 14:49 +0100 schrieb Vincent Untz: > Le mardi 20 novembre 2007, à 14:32 +0100, Mathias Hasselmann a écrit : > > Am Dienstag, den 20.11.2007, 14:10 +0100 schrieb Vincent Untz: > > > Hi Mathias, > > > > > > Le mardi 20 novembre 2007, à 13:23 +0100, Mathias Hasselmann a é

Re: Extended Layout Summary

2007-11-20 Thread Vincent Untz
Le mardi 20 novembre 2007, à 15:15 +0100, Mathias Hasselmann a écrit : > Am Dienstag, den 20.11.2007, 14:49 +0100 schrieb Vincent Untz: > > The issue here is that the current way it works is that you can have > > more than one natural sizes, > > No, you have only one natural size. Ok, right. But

Re: Extended Layout Summary

2007-11-20 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 15:53 +0100 schrieb Vincent Untz: > Assume the natural width is 500px in the first case, 350px in the second > case and 200px in the third case. And the minimum width is 400px, 280px > and 150px. > > In such a situation, it doesn't make much sense to allocate 250px to

Re: Extended Layout Summary

2007-11-20 Thread Ryan Lortie
On Tue, 2007-11-20 at 17:13 +0100, Mathias Hasselmann wrote: > For supporting your feature there should be a separate call: > > void (*get_supported_sizes) (GtkOrientation orientation, > GtkRequisition **sizes, >guint

Re: Extended Layout Summary

2007-11-20 Thread Vincent Untz
Le mardi 20 novembre 2007, à 11:55 -0500, Ryan Lortie a écrit : > For things like toolbars, wnck window list and so on, it's very unclear > what the "correct" thing to do it. You could spend a very long time > thinking about it and still not find an elegant solution. This is > definitely no time

Re: Extended Layout Summary

2007-11-20 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 11:55 -0500 schrieb Ryan Lortie: > This is definitely no time to go blindly adding new API. :) True. Very true. -- Mathias Hasselmann <[EMAIL PROTECTED]> http://taschenorakel.de/ signature.asc Description: Dies ist ein digital signierter Nachrichtenteil ___

Re: Extended Layout Summary

2007-11-20 Thread Havoc Pennington
Hi, While I haven't looked at the patches in detail, based on your writeup it feels like the interfaces here will make it a little hard to implement in widgets. In HippoCanvas I ended up with this: > void (* get_width_request)(HippoCanvasItem *canvas_item, >

Re: Extended Layout Summary

2007-11-20 Thread Behdad Esfahbod
Thanks Mathias for the write-up. You didn't get much into the baseline stuff which was the really interesting part about text, but other than that, the rest looks good from that point of view. Comments below: On Tue, 2007-11-20 at 07:23 -0500, Mathias Hasselmann wrote: > > When a container widg

Re: Extended Layout Summary

2007-11-20 Thread Behdad Esfahbod
On Tue, 2007-11-20 at 20:09 -0500, Behdad Esfahbod wrote: > On Tue, 2007-11-20 at 07:23 -0500, Mathias Hasselmann wrote: > > > > When a container widget got more space allocated than requested, it > > considers the difference between natural and requested size of its > > children to distribute tha

Re: Extended Layout Summary

2007-11-20 Thread Matthias Clasen
On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > a) Maximize number of children taking their natural size. I am not convinced this is always the best strategy. Doesn't this encourage starving one child in favour of the rest of the pack getting their natural size ? If you

Re: Extended Layout Summary

2007-11-20 Thread Matthias Clasen
On Nov 20, 2007 11:55 AM, Ryan Lortie <[EMAIL PROTECTED]> wrote: > On Tue, 2007-11-20 at 17:13 +0100, Mathias Hasselmann wrote: > > For supporting your feature there should be a separate call: > > > > void (*get_supported_sizes) (GtkOrientation orientation, > >

Re: Extended Layout Summary

2007-11-21 Thread Havoc Pennington
Hi, Matthias Clasen wrote: > On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > >> a) Maximize number of children taking their natural size. > > I am not convinced this is always the best strategy. Doesn't this > encourage starving > one child in favour of the rest of the

Re: Extended Layout Summary

2007-11-21 Thread Behdad Esfahbod
On Nov 21, 2007 1:53 PM, Havoc Pennington <[EMAIL PROTECTED]> wrote: > Hi, > > Matthias Clasen wrote: > > On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > > > >> a) Maximize number of children taking their natural size. > > > > I am not convinced this is always the best str

Re: Extended Layout Summary

2007-11-21 Thread Behdad Esfahbod
On Nov 20, 2007 10:07 PM, Matthias Clasen <[EMAIL PROTECTED]> wrote: > On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > > > a) Maximize number of children taking their natural size. > > I am not convinced this is always the best strategy. Doesn't this > encourage starving >

Re: Extended Layout Summary

2007-11-21 Thread Havoc Pennington
Hi, Behdad Esfahbod wrote: >> The PACK_IF_FITS children are done in a second pass after other children, >> the if_fits flag indicates which pass this is. If if_fits=TRUE we need >> to skip if_fits children that did not fit. > > Interesting. Do you think that will be useful to add to Gtk+?

Re: Extended Layout Summary

2007-11-21 Thread Behdad Esfahbod
On Nov 21, 2007 5:07 PM, Mathias Hasselmann <[EMAIL PROTECTED]> wrote: > OK, so lets six other years until we get the perfect solution Havoc > dreams of in his pipe dreams. > > Well done. Is that supposed to be a joke or what? You asked for review, Havoc suggested a slight API change that I fully

Re: Extended Layout Summary

2007-11-21 Thread Havoc Pennington
Hi, Mathias Hasselmann wrote: > OK, so lets six other years until we get the perfect solution Havoc > dreams of in his pipe dreams. > I think you misunderstand the intent; you said "here's the proposal" and I asked some questions and said "what about doing it this way" You are very welcome to

Re: Extended Layout Summary

2007-11-21 Thread Matthias Clasen
On Nov 21, 2007 3:04 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > On Nov 20, 2007 10:07 PM, Matthias Clasen <[EMAIL PROTECTED]> wrote: > > On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > > > > > a) Maximize number of children taking their natural size. > > > > I am not

Re: Extended Layout Summary

2007-11-21 Thread Behdad Esfahbod
On Wed, 2007-11-21 at 22:10 -0500, Matthias Clasen wrote: > On Nov 21, 2007 3:04 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > > On Nov 20, 2007 10:07 PM, Matthias Clasen <[EMAIL PROTECTED]> wrote: > > > On Nov 20, 2007 8:45 PM, Behdad Esfahbod <[EMAIL PROTECTED]> wrote: > > > > > > > a) Ma

Re: Extended Layout Summary

2007-12-05 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 20:45 -0500 schrieb Behdad Esfahbod: > On Tue, 2007-11-20 at 20:09 -0500, Behdad Esfahbod wrote: > > On Tue, 2007-11-20 at 07:23 -0500, Mathias Hasselmann wrote: > > > > > > When a container widget got more space allocated than requested, it > > > considers the differ

Re: Extended Layout Summary

2007-12-05 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 15:41 -0500 schrieb Havoc Pennington: > Hi, > > While I haven't looked at the patches in detail, based on your writeup > it feels like the interfaces here will make it a little hard to > implement in widgets. > > [...] I had your suggestion in mind all the time, wh

Re: Extended Layout Summary

2007-12-20 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 15:41 -0500 schrieb Havoc Pennington: > Then the following default implementations: > > - all four of the new functions have default implementations that > invoke the current size_request and use it for both min and natural > size; so unmodified widgets sti

Re: Extended Layout Summary

2007-12-20 Thread Havoc Pennington
Hi, Mathias Hasselmann wrote: > Am Dienstag, den 20.11.2007, 15:41 -0500 schrieb Havoc Pennington: > >> Then the following default implementations: >> >> - all four of the new functions have default implementations that >> invoke the current size_request and use it for both min and natural

Re: Extended Layout Summary

2007-12-21 Thread Mathias Hasselmann
Am Donnerstag, den 20.12.2007, 11:46 -0500 schrieb Havoc Pennington: > Hi, > > Mathias Hasselmann wrote: > > Am Dienstag, den 20.11.2007, 15:41 -0500 schrieb Havoc Pennington: > > > >> Then the following default implementations: > >> > >> - all four of the new functions have default implementa

Re: Extended Layout Summary

2007-12-21 Thread Mathias Hasselmann
Am Dienstag, den 20.11.2007, 15:41 -0500 schrieb Havoc Pennington: > What if the API for GTK+ were something like the above, plus a > width-for-height variant, so rename the above two: > > get_desired_width(int*,int*) > get_desired_height_for_width(int,int*,int*) > > and add: > > get_des

Re: Extended Layout Summary

2008-01-10 Thread Sven Herzberg
Am Freitag, den 21.12.2007, 11:05 +0100 schrieb Mathias Hasselmann: > Am Donnerstag, den 20.12.2007, 11:46 -0500 schrieb Havoc Pennington: > > Third, since implementing an interface requires extra boilerplate > > GObject stuff, it would be convenient for authors of a custom widget if > > GtkWidge