GtkBuilder partial tree construction



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'd like to support partial construction of object trees, but as Kalle
pointed out, it's very complicated given how the xml parser of GtkBuilder
is implemented.

> 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.

That sounds like a sensible use case.

I'm using a similar technique in Kiwi, but I do actually instantiate the
main window and throw it away.

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



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