NAME

Tk::Role::HasWidgets - keep track of your tk widgets

VERSION

version 1.112380

SYNOPSIS

    package Your::Tk::Window::Class;

    use Moose;
    with 'Tk::Role::HasWidgets';

    # store a button
    $self->_set_w( my_button => $button );

    # later on, in one of the methods
    $self->_w( 'my_button' )->configure( ... );

    # when no longer needed:
    $self->_del_w( 'my_button' );

DESCRIPTION

When programming Tk, it's almost always a good idea to keep a reference to the widgets that you created in the interface. Most of the time, a simple hash is enough; but it is usually wrapped up in methods to make the hash private to the window object. And of course, those methods are duplicated in all modules, under a form or another.

Since duplication is bad, this module implements a Moose role implementing those methods once and forever. This implies that your class is using Moose in order to consume the role.

About the method names

The methods featured in this role begin with _, that is, they are following Perl convention of private methods. This is on purpose: remember that this method is a role, consumed by your class. And you don't want those methods to be available outside of the window class, do you?

METHODS

_set_w

    $object->_set_w( $name, $widget );

Store a reference to $widget and associate it to $name.

_w

    my $widget = $object->_w( $name );

Get back the $widget reference associated to $name.

_del_w

    $object->_del_w( $name );

Delete the $name reference to a widget.

_clear_w

Empty the widget references.

SEE ALSO

You can look for information on this module at:

AUTHOR

Jerome Quelin

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 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.