On Apr 24, 2008, at 11:13 AM, Paul Miller wrote: > Is there some trick to getting > $a_simple_list->set_tooltip_row($tip, $path); to work? > > It seems like it should let me add a non-deprecated tooltip to a > row of a treeview, but I can't get it to work. > > I suspect I'm missing something simple or that it's quite a bit > harder than I think it should be. > > -Paul > > (I posted this question on perlmonks also > http://perlmonks.org/?node_id=682039, the full source of my > problem demo is here: > http://perlmonks.org/?abspart=1;displaytype=displaycode;node_id=682039;part=1)
Close. You were on the right track, but just needed to go a little further. You don't create a Tooltip object, gtk+ will create it for you, and ask you to set it up. http://library.gnome.org/devel/gtk/stable/GtkTooltip.html#id4209774 http://library.gnome.org/devel/gtk/stable/GtkWidget.html#GtkWidget-query-tooltip http://library.gnome.org/devel/gtk/stable/GtkTreeView.html#gtk-tree-view-set-tooltip-row Here's your program again, but with working tooltips. use strict; use Data::Dumper; use Gtk2 '-init'; use Gtk2::SimpleList; use constant TRUE => 1; use constant FALSE => 0; $categories = Gtk2::SimpleList->new ('Categories' => 'text'); $categories->set_headers_visible(FALSE); @{$categories->{data}} = qw/Meat Beer Pizza Pasta Soda Juice Rabbitfood/; # This turns on the tooltip event monitoring in the widget... $categories->set_has_tooltip(TRUE); # Tooltip event monitoring causes the query-tooltip signal to be emitted. $categories->signal_connect (query_tooltip => sub { my ($widget, $x, $y, $keyboard_mode, $tooltip) = @_; # First, find out where the pointer is: $path = $categories->get_path_at_pos ($x, $y); # If we're not pointed at a row, then return FALSE to say # "don't show a tip". return FALSE unless $path; # Otherwise, ask the TreeView to set up the tip's area according # to the row's rectangle. $categories->set_tooltip_row($tooltip, $path); # And then load it up with some meaningful text. This is much # more interesting when you have columns that aren't visible, # or the TreeView is too narrow to see all of your column. my $index = ($path->get_indices)[0]; $tooltip->set_text(${ $categories->{data} }[$index][0]); # Return true to say "show the tip". return TRUE; }); $window = Gtk2::Window->new; $window->set_title ('SimpleList examples'); $window->signal_connect (delete_event => sub {Gtk2->main_quit; TRUE}); $window->add($categories); $window->show_all; Gtk2->main; __END__ -- zella (crying): I want... us: What? zella (still crying): I want... something! _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-perl-list