Как избежать волшебных чисел Gtk2 accel_key? - PullRequest
1 голос
/ 24 мая 2011

Я хочу ускоритель для подпрограммы в моем приложении GTK, используя привязки Gtk2 для Perl. Gtk2::AccelGroup->connect() принимает $accel_key в качестве аргумента, который представляется целым числом, представляющим ключ. Может ли Gtk2 экспортировать константы или функцию вместо этого магического числа?

1 Ответ

1 голос
/ 24 мая 2011

Использование Gtk2 :: Accelerator-> parse () :

use Gtk2;
my ( $key, $mods ) = Gtk2::Accelerator->parse( '<control><alt>a' );
# $key is 97
# $mods is '[ control-mask mod1-mask ]'

my $ag = Gtk2::AccelGroup->new();
$ag->connect(
    Gtk2::Accelerator->parse( '<control><alt><a>' ),
    [qw/visible/], sub { say 'hi' }
);
...