summaryrefslogtreecommitdiff
path: root/gtk/gtkrbtree.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2001-01-19 22:39:19 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-01-19 22:39:19 +0000
commite248e4e79eb81478d62a42df12e9c11a837dd068 (patch)
tree1c1001af13a5e32ee9dd9637c8d70ea080af3eab /gtk/gtkrbtree.c
parent3da8e3c7dd846e48d745c9a1b4cafd399fd49517 (diff)
downloadgtk+-e248e4e79eb81478d62a42df12e9c11a837dd068.tar.gz
sync to tree changes
2001-01-19 Havoc Pennington <hp@redhat.com> * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this function * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget): implement * gtk/gtktreeview.c (gtk_tree_view_move_to): rename scroll_to_cell, matches TextView scroll functions better (gtk_tree_view_tree_to_widget_coords): new function (gtk_tree_view_widget_to_tree_coords): new function (gtk_tree_view_get_visible_rect): new function (gtk_tree_view_get_path_at_pos): accept negative coordinates (gtk_tree_view_draw_node_focus_rect): new function moved from draw_focus, also, use width of bin_window as width of the focus rect (gtk_tree_view_expand_row): fix bug where it didn't recognize already-expanded rows (gtk_tree_view_get_cell_rect): new function (gtk_tree_view_get_path_at_pos): return the click position relative to the passed-in cell (gtk_tree_view_set_expander_column): new function * configure.in: remove gtk-config-2.0 chmod * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups, and properly handle drags with targets we don't understand (gtk_text_view_drag_end): don't stop scrolling, the source isn't scrolling anyway (gtk_text_view_drag_drop): stop scrolling here though, and set the mark invisible * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public function (gtk_drag_dest_get_target_list): new function (gtk_drag_dest_set_target_list): new function * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields related to drag-and-drop
Diffstat (limited to 'gtk/gtkrbtree.c')
-rw-r--r--gtk/gtkrbtree.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gtk/gtkrbtree.c b/gtk/gtkrbtree.c
index 0cc35821ef..8259b91fde 100644
--- a/gtk/gtkrbtree.c
+++ b/gtk/gtkrbtree.c
@@ -647,14 +647,19 @@ _gtk_rbtree_node_find_offset (GtkRBTree *tree,
{
last = node;
node = node->parent;
+
+ /* Add left branch, plus children, iff we came from the right */
if (node->right == last)
- retval += node->left->offset + GTK_RBNODE_GET_HEIGHT (node);
+ retval += node->offset - node->right->offset;
+
if (node == tree->nil)
{
node = tree->parent_node;
tree = tree->parent_tree;
+
+ /* Add the parent node, plus the left branch. */
if (node)
- retval += node->left->offset;
+ retval += node->left->offset + GTK_RBNODE_GET_HEIGHT (node);
}
}
return retval;