Re: GtkBuilder Public API - Last call



Tristan Van Berkom wrote:
> On Tue, 2007-06-26 at 13:50 +0200, Murray Cumming wrote:
>> On Tue, 2007-06-26 at 14:19 +0300, Kalle Vahlman wrote:
>>> 2007/6/26, Murray Cumming <murrayc murrayc com>:
>>>> libglade's _new() function has a "root" parameter:
>>>> http://developer.gnome.org/doc/API/libglade/gladexml.html#GLADE-XML-NEW
>>>>
>>>> This is necessary because libglade otherwise instantiates all the items
>>>> in the file. Does GtkBuilder instead only instantiate the objects when
>>>> you actually use gtk_builder_get_object()?
>>> See bug 447998 for discussion on this:
>>>
>>>   http://bugzilla.gnome.org/show_bug.cgi?id=447998
>>>
>>> but in short: no, it instantiates them as a part of the
>>> parsing/building process and it's not going to be easy to do it
>>> properly otherwise.
>> OK, so we need to have one file per window, which the glade-3 developers
>> might not be so happy about. I guess, the gtk-builder-convert script
>> should be changed to create lots of individual files.
>>
>> I am concerned that this makes it impossible to use GtkBuilder to define
>> the properties for a single widget, without instantiating a useless
>> invisible window object. That's a technique that I use currently.
> 
> I vaguely remember having discussed this issue a little, we found 
> that yes; many apps do use the "root" argument but that it was not
> fundamental to the way gtkbuilder works (i.e. people can simply store
> widgets/objects in separate files). I suppose this functionality could
> be added to the builder in the future by adding a "rootnode" property 
> to the builder if its really needed.
> 
> For your particular use case though, you dont need to instantiate
> a useless window; there's no need for toplevel ui objects to be
> GTK_TYPE_WINDOW().

I think the proper solution to this problem is to extend UI builders to
allow you to create interfaces without a toplevel window.

-- 
Johan Dahlin <jdahlin async com br>
Async Open Source



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]