diff options
author | Havoc Pennington <hp@redhat.com> | 2001-01-19 22:39:19 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-01-19 22:39:19 +0000 |
commit | e248e4e79eb81478d62a42df12e9c11a837dd068 (patch) | |
tree | 1c1001af13a5e32ee9dd9637c8d70ea080af3eab /gtk/gtkrbtree.c | |
parent | 3da8e3c7dd846e48d745c9a1b4cafd399fd49517 (diff) | |
download | gtk+-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.c | 9 |
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; |