diff options
author | Federico Mena Quintero <federico@nuclecu.unam.mx> | 1998-08-03 19:50:23 +0000 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1998-08-03 19:50:23 +0000 |
commit | f8a40e214a534f7c54fc41c3615df78a67cd3c63 (patch) | |
tree | 631322e6507dcad01cddad73e943c295c578f7cd /gtk/gtkctree.c | |
parent | 08d246be8908f4e3727df0a30995a36925be365f (diff) | |
download | gtk+-f8a40e214a534f7c54fc41c3615df78a67cd3c63.tar.gz |
New public function to find a row by its data pointer using a custom
1998-08-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
function to find a row by its data pointer using a custom
comparison function.
Diffstat (limited to 'gtk/gtkctree.c')
-rw-r--r-- | gtk/gtkctree.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gtk/gtkctree.c b/gtk/gtkctree.c index 9cee1fd402..b36fb5e7cd 100644 --- a/gtk/gtkctree.c +++ b/gtk/gtkctree.c @@ -4077,6 +4077,27 @@ gtk_ctree_find_by_row_data (GtkCTree *ctree, return NULL; } +GtkCTreeNode * +gtk_ctree_find_by_row_data_custom (GtkCTree *ctree, + GtkCTreeNode *node, + gpointer data, + GCompareFunc func) +{ + GtkCTreeNode *work; + + while (node) + { + if (!func (GTK_CTREE_ROW (node)->row.data, data)) + return node; + if (GTK_CTREE_ROW (node)->children && + (work = gtk_ctree_find_by_row_data_custom + (ctree, GTK_CTREE_ROW (node)->children, data, func))) + return work; + node = GTK_CTREE_ROW (node)->sibling; + } + return NULL; +} + gboolean gtk_ctree_is_hot_spot (GtkCTree *ctree, gint x, |