1 |
package some_plugin; |
2 |
|
3 |
use Gtk2::CV::Plugin; |
4 |
|
5 |
sub new_imagewindow { |
6 |
my ($self, $image) = @_; |
7 |
|
8 |
warn "new_imagewindow(@_)\n"; |
9 |
} |
10 |
|
11 |
sub new_schnauzer { |
12 |
my ($self, $schnauzer) = @_; |
13 |
|
14 |
warn "new_schnauzer(@_)\n"; |
15 |
|
16 |
$schnauzer->signal_connect (key_press_event => sub { |
17 |
my ($self, $event) = @_; |
18 |
my $key = $_[1]->keyval; |
19 |
my $state = $_[1]->state; |
20 |
|
21 |
my $ctrl = grep $_ eq "control-mask", @{$_[1]->state}; |
22 |
if ($ctrl && $key == $Gtk2::Gdk::Keysyms{c}) { |
23 |
warn "pressed ctrl-c\n"; |
24 |
} else { |
25 |
return 0; |
26 |
} |
27 |
|
28 |
1 |
29 |
}); |
30 |
|
31 |
$schnauzer->signal_connect (popup => sub { |
32 |
my ($self, $menu, $cursor, $event) = @_; |
33 |
|
34 |
$menu->append (my $item = new Gtk2::MenuItem "select me"); |
35 |
$item->signal_connect (activate => sub { warn "activated menu\n" }); |
36 |
}); |
37 |
} |
38 |
|
39 |
1 |
40 |
|