NAME
Tk::Sugar - Sugar syntax for Tk
VERSION
version 1.093190
SYNOPSIS
use Tk::Sugar qw{ :pack :state };
$widget->pack( top, xfill2, pad10 );
# equivalent to those pack options:
# -side => 'top'
# -expand => 1
# -fill => 'both'
# -padx => 10
# -pady => 10
$widget->configure( enabled );
# equivalent to: -state => 'enabled'
DESCRIPTION
Tk is a great graphical toolkit to write desktop applications. However, one can get bothered with the constant typing of quotes and options. Tk::Sugar provides handy subs for common options used when programming Tk.
Benefits are obvious:
Reduced typing.
The constant need to type
=>
and''
is fine for one-off cases, but the instant you start using Tk it starts to get annoying.More compact statements.
Reduces much of the redundant typing in most cases, which makes your life easier, and makes it take up less visual space, which makes it faster to read.
No string worries.
Strings are often problematic, since they aren't checked at compile- time. Sometimes it makes spotting an error a difficult task. Using this alleviates that worry.
EXPORTS
This module is using Sub::Exporter underneath, so you can use all its shenanigans to change the export names.
Exported subs
Look below for the list of available subs.
Pack options
Traditional packer sides (available as :side
export group):
top - equivalent to
( -side => 'top' )
bottom - ditto for
bottom
left - ditto for
left
right - ditto for
right
Packer expand and filling (available as :fill
export group):
fillx - equivalent to
( -fill => 'x' )
filly - equivalent to
( -fill => 'y' )
fill2 - equivalent to
( -fill => 'both' )
xfillx - same as
fillx
with( -expand => 1 )
xfilly - ditto for
filly
xfill2 - ditto for
fill2
expand - equivalent to
( -expand => 1 )
if you don't like thexfill*
notation
Packer padding (available as :pad
export group):
pad1 - equivalent to
( -padx => 1, -pady => 1 )
pad2 - ditto with 2 pixels
pad5 - ditto with 5 pixels
pad10 - ditto with 10 pixels
pad20 - ditto with 20 pixels
pad($n) - ditto with $n pixels (function call with one argument)
padx($n) - x padding with $n pixels (function call with one argument)
pady($n) - y padding with $n pixels (function call with one argument)
Packer padding (available as :ipad
export group):
ipad1 - equivalent to
( -ipadx => 1, -ipady => 1 )
ipad2 - ditto with 2 pixels
ipad5 - ditto with 5 pixels
ipad10 - ditto with 10 pixels
ipad20 - ditto with 20 pixels
ipad($n) - ditto with $n pixels (function call with one argument)
ipadx($n) - internal x padding with $n pixels (function call with one argument)
ipady($n) - internal y padding with $n pixels (function call with one argument)
Common options
Widget state (available as :state
export group):
enabled - equivalent to
( -state => 'normal' )
disabled - ditto for
disabled
Widget anchor (available as :anchor
export group). Note that those subs are upper case, otherwise the sub s
would clash with the regex substitution:
N - equivalent to
( -anchor => 'n' )
S - ditto with
s
E - ditto with
e
W - ditto with
w
C - ditto with
center
NE - ditto with
ne
NW - ditto with
nw
SE - ditto with
se
SW - ditto with
sw
Widget orientation (available as :orient
export group).:
horizontal - equivalent to
( -orient => 'horizontal' )
vertical - ditto with
vertical
Export groups
Beside the individual groups outlined above, the following export groups exist for your convenience:
- :default
-
This exports all existing subs.
- :pack
-
This exports subs related to Tk::pack options. Same as
:side
,:fill
,:pad
and:ipad
. - :options
-
This exports subs related to widget configure options. Same as
:state
,:anchor
and:orient
.
SEE ALSO
You can look for information on this module at:
Search CPAN
Open / report bugs
Git repository
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
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.