On Tue, 2005-07-19 at 00:15 +0000, [EMAIL PROTECTED] wrote: > I found the thread "Freeze a treeview column" from April 2004 very > useful, and am using two treeviews which share a model for a project. > The linking of the scrollbars was easy, but I also need to link the > expand/compact behavior of the two views (so when the user clicks > the little triangle to expand the children in one view, the triangle > also gets "clicked" in the other treeview)
Connect to the row-expanded and row-collapsed signals of the views and do the appropriate action on the other view. Make sure you block the corresponding signal handler when you do this -- otherwise you get endless loops. Untested proof of concept: my ($expanded_handler_one, $expanded_handler_two); $expanded_handler_one = $view_one->signal_connect (row_expanded => sub { my ($view, $iter, $path) = @_; my $path_two = get_path_for_view_two ($path); $view_two->signal_handler_block ($expanded_handler_two); $view_two->expand_row ($path_two, FALSE); $view_two->signal_handler_unblock ($expanded_handler_two); }); $expanded_handler_two = $view_two->signal_connect (row_expanded => sub { my ($view, $iter, $path) = @_; my $path_one = get_path_for_view_one ($path); $view_one->signal_handler_block ($expanded_handler_one); $view_one->expand_row ($path_one, FALSE); $view_one->signal_handler_unblock ($expanded_handler_one); }); And the same for row_collapsed. This looks rather ugly, so maybe there's a better way to do it. -- Bye, -Torsten _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list