NAME

Tk::Action - action abstraction for tk

VERSION

version 1.093390

SYNOPSIS

my $action = Tk::Action->new(
    window   => $mw,
    callback => \&jfdi,
);
$action->add_widget( $menu_entry );
$action->add_widget( $button );
$action->add_binding( '<Control-F>' );
$action->enable;
...
$action->disable;

DESCRIPTION

Menu entries are often also available in toolbars or other widgets. And sometimes, we want to enable or disable a given action, and this means having to update everywhere this action is allowed.

This module helps managing actions in a Tk GUI: just create a new object, associate some widgets and bindings with add_widget() and then de/activate the whole action at once with enable() or disable().

ATTRIBUTES

callback

The callback associated to the action. It is needed to create the shortcut bindings. Required, no default.

window

The window holding the widgets being part of the action object. It is needed to create the shortcut bindings. Required, no default.

METHODS

$action->add_widget( $widget );

Associate $widget with $action. Enable or disable it depending on current action status.

$action->rm_widget( $widget );

De-associate $widget from C$<action>.

$action->add_binding( $binding );

Associate $binding with $action. Enable or disable it depending on current action status. $binding is a regular binding, as defined by Tk::bind.

It is not possible to remove a binding from an action.

$action->enable;

Activate all associated widgets and shortcuts.

$action->disable;

De-activate all associated widgets and shortcuts.

SEE ALSO

You can look for information on this module at:

AUTHOR

Jerome Quelin

COPYRIGHT AND LICENSE

This software is copyright (c) 2009 by Jerome Quelin.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.