Re: label with context menu (populate-popup)
- From: "muppet" <scott asofyet org>
- To: gtk-perl-list gnome org
- Subject: Re: label with context menu (populate-popup)
- Date: Wed, 28 Mar 2007 16:12:44 -0400 (EDT)
Peter Daum wrote:
Is there an easy way to get a context menu on a label?
According to the documentation, it should support a
'populate-popup' signal, so it looks like this should be
painless. If I try the following (which works fine on other
occasions):
[snip]
I get no warning, only the signal is never triggered.
The documentation for GtkLabel doesn't say when this
signal occurs, I just assumed it would be triggered
whith the right mouse button...
Labels are "no-window" widgets. You must have a window to receive an event.
Labels have no window and therefore receive no events.
The way to get a Label to have a window is to make it selectable. In fact,
it's when it is selectable that the popup menu is useful, because you can
select clipboard operations.
To wit:
#!/usr/bin/perl -w
use strict;
use Gtk2 -init;
my $window = Gtk2::Window->new;
my $label = Gtk2::Label->new ("Hi, i am a label");
# This is what will make it possible to get the context menu on the label
$label->set_selectable (1);
$label->signal_connect (populate_popup => sub {
my (undef, $menu) = @_;
my $item = Gtk2::MenuItem->new ('Whee');
$menu->append ($item);
$item->show;
});
$window->add ($label);
$window->signal_connect (destroy => sub { Gtk2->main_quit });
$window->show_all;
Gtk2->main;
--
muppet <scott at asofyet dot org>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]