[Glade-users] how to replicate a glade designed window?
- From: dcottingham00 at comcast.net (dcottingham00 at comcast.net)
- Subject: [Glade-users] how to replicate a glade designed window?
- Date: Tue, 20 May 2008 17:59:18 +0000
Tristan -
Thanks, this does just what I need. So I see the way this works is that if you call glade_xml_new once, then
calling glade_xml_get_widget multiple times keeps giving you the same widget; but calling glade_xml_new again
gives you a whole new set of widgets.
Thanks,
Dave Cottingham
-------------- Original message ----------------------
From: "Tristan Van Berkom" <tristan.van.berkom at gmail.com>
On Mon, May 19, 2008 at 7:46 PM, <dcottingham00 at comcast.net> wrote:
Suppose I have used glade to design a window for displaying a view, but I want
my application to be able to fire up multiple of these windows at the same time,
each showing this kind of view of a different object instance. I confess I
cannot figure out how to do this. It seems you'd need to somehow clone the
whole widget tree.
Can someone take pity on me and explain how this is done? This has to be a
really elementary question, but I can't find the answer.
Just do something like this:
for (i = 0...items) {
xml = glade_xml_new (...);
if ((widgets[i] = glade_xml_get_widget (...)) == NULL)
error ();
/* Here you need to deal with the limitation of having to use a
GtkWindow toplevel,
* so assuming its a normal widget you'll have to do something like this:
*/
toplevel = glade_xml_get_widget (...);
g_object_ref (widgets[i]);
gtk_container_remove (widget from the toplevel);
gtk_widget_destroy (the toplevel);
/* and always dont forget to not leek the GladeXML */
g_object_unref (xml);
}
Note that in the GtkBuilder api you can do exactly the same.
Cheers,
-Tristan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]