gtk_widget_unparent
- From: Dr.Peter Rottengatter <peter rottengatter de>
- To: gtk-app-devel-list gnome org
- Subject: gtk_widget_unparent
- Date: Wed, 20 Mar 2002 22:46:23 +0100
Seems I haven't understood gtk_widget_unparent properly. Here is what I did:
Problem: I create the GUI using Glade, amongst which is a window with a notebook
widget. I use it to display a small set of measurement data, a trace each page.
It is not previously determined how many traces there will be.
So I create a single instance of the trace page with Glade, and I need to add
"clone" pages to the notebook at runtime as needed.
My thought was to use the Glade-created "create_notebook" function to build a new
instance of the notebook widget tree, then unlink the trace page sub-tree und
relink it into the notebook that is about to be used. After doing that, that
additional instance of the notebook tree (now incomplete) won't be needed
anymore.
I figured gtk_widget_unparent would do the unlink action, as gtk_notebook_append_page
would do the relink. The additional instance of the notebook tree could be destroyed
as usual, afterwards, I thought. Somewhere I thought badly wrong. I did this in a
loop for every data trace:
dummy = create_notes();
page = lookup_widget (dummy, "nb_trace_vbox");
gtk_widget_unparent (page);
/* gtk_widget_destroy (dummy); */
gtk_widget_show_all (page);
sprintf (tab, "#%d", index);
gtk_widget_show (label = gtk_label_new (tab));
sprintf (tab, "Trace #%d", index);
gtk_widget_show (menu = gtk_label_new (tab));
gtk_notebook_append_page_menu (book, page, label, menu);
So far, it works. But it segfaults as soon as the gtk_widget_destroy is uncommented.
I could just leave dummy in place and destroy it when the shown notebook is destroyed.
Or is this fundamentally flawed, and I should do this in a different way ?
Cheers Peter
--
---------------------------------------------------------------------
Dr. Peter Rottengatter peter rottengatter de
http://www.rottengatter.de
---------------------------------------------------------------------
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]