On 8 Jul 2000, Havoc Pennington wrote:
>
> Jacques Fortier <[EMAIL PROTECTED]> writes:
> > Is there a way to get the currently selected row of a GtkCTree?
> > I've checked the docs a few times, and can't seem to find it.
> >
>
> It's something like
> GPOINTER_TO_INT (GTK_CLIST (clist)->selection->data)
> IIRC. Yes, it sucks. We're replacing it in 2.0.
>
> Havoc
>
I think that may work for a clist (I've seen an example of it
being done that way), but the problem is that, if I understand correctly
(which I probably don't), ctrees don't exactly use row numbers. If I cast
the pointer to int, I get a number like 134847224, which looks to me like
it's really a pointer. As well, none of the ctree methods accept a row
number int. However, they all accept GtkCTreeNodes, which is just a
wrapper around a GList. So, I tried using clist-selection directly, like
so:
void
on_button_add_item_clicked (GtkButton *button,
gpointer user_data)
{
GtkWidget *ctree;
xmlNodePtr data_node;
GList *node;
tree = lookup_widget(app1, "ctree");
node = GTK_CLIST(ctree)->selection;
data_node = gtk_ctree_node_get_row_data(GTK_CTREE(ctree),
GTK_CTREE_NODE(node));
if(g_strcasecmp(data_node->name, "quiz") == 0)
{
g_message("It's a quiz.");
}
}
However, that doesn't work, as the strcasecmp gives me a segfault,
even though I know from a previous signal handler that the data is
definitely there on that row.
I'm not quite sure what I'm supposed to be doing. Is there some
way I can use a row number in a GtkCTree, or am I doing something wrong
with my attempt at using the GList directly?
Thanks,
Jacques
_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list