[gtk+] treeview: Add _gtk_rbtree_node_get_index()



commit a890a6125300829c0372423b389febeafe799e7d
Author: Benjamin Otte <otte redhat com>
Date:   Sat Nov 12 05:15:53 2011 +0100

    treeview: Add _gtk_rbtree_node_get_index()
    
    .. as a replacement for _gtk_rbtree_node_find_parity(). Instead of 1 or
    0, the function now returns the index of node in the complete tree
    (counting from the root). And this is of course identical to the row
    number.

 gtk/gtkrbtree.c   |   10 +++++-----
 gtk/gtkrbtree.h   |    2 +-
 gtk/gtktreeview.c |    4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c
index c8ff556..714fb57 100644
--- a/gtk/gtkrbtree.c
+++ b/gtk/gtkrbtree.c
@@ -988,12 +988,12 @@ _gtk_rbtree_node_find_offset (GtkRBTree *tree,
   return retval;
 }
 
-gint
-_gtk_rbtree_node_find_parity (GtkRBTree *tree,
-                              GtkRBNode *node)
+guint
+_gtk_rbtree_node_get_index (GtkRBTree *tree,
+                            GtkRBNode *node)
 {
   GtkRBNode *last;
-  gint retval;  
+  guint retval;  
   
   g_assert (node);
   g_assert (node->left);
@@ -1020,7 +1020,7 @@ _gtk_rbtree_node_find_parity (GtkRBTree *tree,
 	}
     }
   
-  return retval % 2;
+  return retval;
 }
 
 gint
diff --git a/gtk/gtkrbtree.h b/gtk/gtkrbtree.h
index 752fddc..4bb9c4b 100644
--- a/gtk/gtkrbtree.h
+++ b/gtk/gtkrbtree.h
@@ -133,7 +133,7 @@ void       _gtk_rbtree_set_fixed_height (GtkRBTree              *tree,
 					 gboolean                mark_valid);
 gint       _gtk_rbtree_node_find_offset (GtkRBTree              *tree,
 					 GtkRBNode              *node);
-gint       _gtk_rbtree_node_find_parity (GtkRBTree              *tree,
+guint      _gtk_rbtree_node_get_index   (GtkRBTree              *tree,
 					 GtkRBNode              *node);
 gboolean   _gtk_rbtree_find_index       (GtkRBTree              *tree,
 					 guint                   index,
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 2da21a6..22764b4 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -4821,7 +4821,7 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
    * order, drawing each successive node.
    */
   
-  parity = !_gtk_rbtree_node_find_parity (tree, node);
+  parity = !(_gtk_rbtree_node_get_index (tree, node) % 2);
 
   do
     {
@@ -14558,7 +14558,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
     {
       GtkRegionFlags row_flags;
 
-      if (_gtk_rbtree_node_find_parity (tree, node))
+      if ((_gtk_rbtree_node_get_index (tree, node) % 2))
         row_flags = GTK_REGION_ODD;
       else
         row_flags = GTK_REGION_EVEN;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]