Gtk2-CV
view release on metacpan or search on metacpan
lib/Gtk2/CV/Plugin/PatRenamer.pm view on Meta::CPAN
});
$w->signal_connect (activate => $activate);
$table->attach ($w, $col, $col + 1, $row + 1, $row + 2, ['fill'], ['fill'], 0, 0);
} else {
$w = new Gtk2::Label $dat->[-1];
$w->set_alignment (0, 1);
$table->attach ($w, $col, $col + 1, $row + 1, $row + 2, ['fill'], ['fill'], 4, 2);
}
}
push @replabels, my $w = new Gtk2::Label $names[$row];
$table->attach ($w, scalar @$pat, 1 + scalar @$pat, $row + 1, $row + 2, ['fill'], ['fill'], 4, 2);
}
$update->();
$self->show_all;
}
#############################################################################
use Gtk2::CV::Plugin;
sub new_renamer {
my ($schnauzer) = @_;
my $renamer = new Gtk2::CV::Plugin::PatRenamer
schnauzer => $schnauzer,
modal => 1,
default_width => 1500, default_height => 1100,
window_position => "mouse";
$renamer->start ($schnauzer);
}
sub new_schnauzer {
my ($self, $schnauzer) = @_;
$schnauzer->signal_connect (key_press_event => sub {
my ($self, $event) = @_;
my $key = $_[1]->keyval;
my $state = $_[1]->state;
1 <= scalar keys %{ $schnauzer->{sel} }
or return;
my $ctrl = grep $_ eq "control-mask", @{$_[1]->state};
if ($ctrl && $key == $Gtk2::Gdk::Keysyms{r}) {
new_renamer $schnauzer;
} else {
return 0;
}
1
});
$schnauzer->signal_connect (popup => sub {
my ($self, $menu, $cursor, $event) = @_;
2 <= scalar keys %{ $schnauzer->{sel} }
or return;
$menu->append (my $item = new Gtk2::MenuItem "Pattern Rename...");
$item->signal_connect (activate => sub {
new_renamer $schnauzer;
});
});
}
1
( run in 0.592 second using v1.01-cache-2.11-cpan-39bf76dae61 )