Tk::Role::HasWidgets - keep track of your tk widgets
version 1.112380
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' );
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.
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?
_
$object->_set_w( $name, $widget );
Store a reference to $widget and associate it to $name.
$widget
$name
my $widget = $object->_w( $name );
Get back the $widget reference associated to $name.
$object->_del_w( $name );
Delete the $name reference to a widget.
Empty the widget references.
You can look for information on this module at:
Search CPAN
http://search.cpan.org/dist/Tk-Role-HasWidgets
See open / report bugs
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Tk-Role-HasWidgets
Git repository
http://github.com/jquelin/tk-role-haswidgets
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Tk-Role-HasWidgets
CPAN Ratings
http://cpanratings.perl.org/d/Tk-Role-HasWidgets
Jerome Quelin
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.
To install Tk::Role::HasWidgets, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Tk::Role::HasWidgets
CPAN shell
perl -MCPAN -e shell install Tk::Role::HasWidgets
For more information on module installation, please visit the detailed CPAN module installation guide.