Re: GtkCTree : replacing a node with another node
- From: NavEcos <ecos navosha com>
- To: Luciano Chavez <lnx1138 us ibm com>
- Cc: gtk-list gnome org
- Subject: Re: GtkCTree : replacing a node with another node
- Date: 16 Sep 2002 07:09:56 -0700
On Mon, 2002-09-16 at 06:49, Luciano Chavez wrote:
> On Mon, 2002-09-16 at 07:49, NavEcos wrote:
> > I am trying to replace a node in a GtkCTree and I think I've found a
> > bug.
> >
> > I start with:
> >
> > a = gtk_ctree_insert_node ( GTK_CTREE(gCtree), NULL, NULL,
> > pszArray, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);
> > b = gtk_ctree_insert_node ( GTK_CTREE(gCtree), a, NULL,
> > pszArray, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);
> > c = gtk_ctree_insert_node ( GTK_CTREE(gCtree), b, NULL,
> > pszArray, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);
> >
> > Which works fine to make a tree where a->b->c
> >
> >
> > I want to replace b though, so I do the following:
> >
> > /* remove old b */
> > gtk_ctree_remove_node(GTK_CTREE(gCtree), b);
> >
> > /* make new b */
> > b = gtk_ctree_insert_node ( GTK_CTREE(gCtree), a, c,
> > pszArray, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);
> >
> > Which causes my application to crash, and if I reverse the order of
the
> > calls and I try:
> >
> > /* make new b */
> > newb = gtk_ctree_insert_node ( GTK_CTREE(gCtree), a, c,
> > pszArray, 0, NULL, NULL, NULL, NULL, FALSE, FALSE);
> >
> > /* remove old b */
> > gtk_ctree_remove_node(GTK_CTREE(gCtree), b);
> >
> >
> > only "a" is displayed in the list and nothing beyond that.
> >
> > Has anybody else ran into similar problems?
> >
> >
> > I cannot seem to get ctk_ctree_insert_node to work when I specify a
> > child, and it appears that gtk_ctree_remove_node deletes all it's
> > children. How do I remove JUST a single node?
> >
> > Thanks,
> > -Rich
>
> The gtk_ctree_remove_node docs are pretty clear that it will remove
the
> node and all its children. Possibly you can accomplish what you want
by
> inserting the new node, using gtk_ctree_move to move the old nodes
> children to the new node and then removing the old node.
>
> --
> regards,
>
> Luciano Chavez
All I had to work off from is the following:
http://gotpenguin.com/gnome/tutorial/ch-ctreewidget.html
I've since found the docs here
http://developer.gnome.org/doc/API/2.0/gtk/gtkctree.html#gtk-ctree-move
and find that you are right. For anybody else that might reading this
archive for this "problem", using gtk_ctree_move to temporarily move the
branch and then using gtk_ctree_remove should solve the problem.
Thank you,
-Rich
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]