
Tk::Checkbox - Yet Another Checkbutton widget (with a sizable marker)

use Tk;
use Tk::Checkbox;
my $var = 'Up';
my $mw = MainWindow->new();
my $cb1 = $mw->Checkbox (
-variable => \$var,
-command => \&test_cb,
-onvalue => 'Up',
-offvalue => 'Down',
#-noinitialcallback => '1',
#-size => '8',
)->pack;
Tk::MainLoop;
sub test_cb
{
print "test_cb called with [@_], \$var = >$var<\n";
}

Another check button style widget that uses a check mark in a fixed box. Useful as a boolean field. It's based on Damion K. Wilson's version from Tk-DKW-0.03, suitable for perl Tk800.x (developed with Tk800.024).
You can tie a scalar-value to the Checkbox widget, enable/disable it, assign a callback, that is invoked each time the Checkbox is changed, as well as set ON- and OFF-values and configure any of the options understood by Tk::Frame(s) like -relief, -bg, ... .

'set($newvalue)' allows to set/reset the the widget methodically, $newvalue must be either 'onvalue' or 'offvalue'.
You should prefer interacting with the widget via a variable.

'-variable' allows to specify a reference to a scalar-value. Each time the widget changes by user interaction, the variable is changed too. Every variable change is immediately mapped in the widget too.
'-command' can be used to supply a callback for processing after each change of the Checkbox value.
'-onvalue' can be used to supply a value that is used/returned, if the checkmark is 'checked'. default is '1'.
'-offvalue' is the opposite of 'onvalue', it isused/returned, if the checkmark is 'unchecked'. default is '0'.
'-noinitialcallback' can be used to suppress the invocation of an (assigned) callback, immediate after a (new) variable has been configured with -variable.
'-size' can be used to specify the widget- (and checker) size (default 15 pt)

Michael Krause, KrauseM_AT_gmx_DOT_net
This code may be distributed under the same conditions as Perl.
V2.6 (C) April 2007