Jerome Quelin > Tk-Action-1.093390 > Tk::Action

Download:
Tk-Action-1.093390.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 1.093390   Source  

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.

syntax highlighting: