[prev in list] [next in list] [prev in thread] [next in thread]
List: gtk-devel
Subject: Re: Extended Layout Summary
From: Havoc Pennington <hp () redhat ! com>
Date: 2007-12-20 16:46:44
Message-ID: 476A9C74.3070507 () redhat ! com
[Download RAW message or body]
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
>> size; so unmodified widgets still support the new interface
>
> So you suggest, that GtkWidget implements GtkExtendedLayout?
Several factors I can think of here.
First when implementing each container, it would be nice to avoid:
if (is_extended_layout(child)) {
use new request API
} else {
use old size request API
}
One solution would be that GtkWidget automatically implements extended
layout in terms of size request. Another solution would be just a
convenience function that does the above.
I'm guessing your patch already had a solution to this, I don't remember
what it was.
Two, when implementing a widget, it would be good to avoid writing both
the old size request and the new extended layout. So, one way to do that
is that in GtkWidget there's a default implementation of size request
that invokes extended layout. This may require GtkWidget to implement
extended layout, or maybe the default impl of size request could do
GTK_IS_EXTENDED_LAYOUT(), that might be fine too. Then GtkWidget would
not have to implement extended layout.
Third, since implementing an interface requires extra boilerplate
GObject stuff, it would be convenient for authors of a custom widget if
GtkWidget already did the boilerplate for them. Since for newly-written
custom widgets, the recommendation would be to always support extended
layout.
Those are the factors I can think of. I might be wrong about them, or
there may be other factors that are also important and that lead to the
opposite conclusion.
Havoc
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic